Skip to content
This repository has been archived by the owner on Jan 28, 2019. It is now read-only.

Die unverschluesselte Schnittstelle steht aus Sicherheitsgruenden nicht mehr zur Verfuegung. #67

Closed
ghost opened this issue Apr 26, 2018 · 24 comments

Comments

@ghost
Copy link

ghost commented Apr 26, 2018

Wir kriegen die oben genannte Fehlermeldung sobald wir versuchen UStVA zu versenden. Liegt der Fehler bei uns oder ist das ein genereller Fehler?

@stesie
Copy link
Owner

stesie commented Apr 27, 2018

Ist ein genereller Fehler.

Die Finanzverwaltung hat das alte Gateway am 25.04. abgeschaltet, und ich bin bisher noch nicht dazu gekommen das in Geierlein anzupassen.

Bisher wurde der Elster-Datensatz erstmal an sich verschlüsselt, und dieses verschlüsselte Paket dann direkt per HTTP übertragen. Jetzt wird auch auf der Transportebene TLS 1.2 mit einem Client-Zertifikat erzwungen.

Wenn du möchtest: nachdem die Firefox XUL-Plattform zunehmend instabil ist und mit Electron seit einer ganzen Weile schon eine veritable Alternative besteht, habe ich vor einer Weile schon Geierlein mal auf Electron portiert. Diese Variante findest du in der Branch "electron" hier auf Github (https://github.com/stesie/geierlein/tree/electron) ... und testweise habe ich diese auch auf das neue Verfahren umgestellt.
Für die Firefox-Variante werde ich das wohl nicht mehr umsetzen.

Wenn du das mal ausprobieren möchtest -- sehr gerne. Ich würde mich über Feedback freuen

Im Übrigen steht noch aus, die Electron-Variante mehr zu testen, Doku und letztlich paketieren ...

@olta
Copy link

olta commented Apr 30, 2018

Ich wollte nur mal Bescheid geben, dass ich eben die Electron-Version von Geierlein mal an den Start gebracht habe. Es sah eigentlich alles ganz gut aus (nachdem ich den Debugger-Teil des Fensters geschlossen habe) und der Testversand hat auch funktioniert.
Also habe ich einfach mal meine UmStVA für April damit abgesendet, das hat auch klaglos geklappt.
Vielen Dank für die tolle Arbeit an Geierlein!

@dstamou
Copy link

dstamou commented May 2, 2018

@olta hast du noch irgendwas bestimmtes anpassen müssen damit es funktioniert?
Ich habe geierlein auf einem NodeJS server laufen und habe eben den electron branch von geierlein installiert. Leider kommt immer noch die gleiche Fehlermeldung.
Danke

@olta
Copy link

olta commented May 2, 2018

@dstamou Nein, ich habe ansonsten nichts angepasst, nur den electron branch ausgecheckt und dann habe ich die Anweisungen aus README.md befolgt (IIRC muss man Geierlein erst mittels 'npm install' NodeJS bekanntmachen und kann es dann starten).

@stesie
Copy link
Owner

stesie commented May 2, 2018

@dstamou nachdem du "NodeJS Server" erwähnst ... verwendest du das Electron-basierte UI oder versuchst du die CLI zu verwenden?

@dstamou
Copy link

dstamou commented May 2, 2018

Ich habe eine API über nodejs / express route aufgebaut und greife dann in der entsprechenden route über folgendem code auf das geierlein projekt.

var geierlein = require('Geierlein/chrome/content/lib/geierlein/geierlein');
var ustva = new geierlein.UStVA();

Ich nutze also die UI nicht

@stesie
Copy link
Owner

stesie commented May 2, 2018

@dstamou hmm, dann ist es sogar "erwartetes" Verhalten. Habe bisher nur den Codepfad für Electron gefixt, der jedoch (noch) nicht für den Node.js Kram greift. Und in deinem Fall sollte aber dieser betreten werden...

@michaeltraxler
Copy link

michaeltraxler commented May 2, 2018

Die Electron-Version funktioniert bei mir auch ohne Probleme. Vielen Dank!
Die Kommandozeilen-Version geht aber auch nicht mehr...
Da da jetzt 228MB Electron-Kram im Verzeichnis liegt, wollte ich mal die Daten von der Softwareinstallation trennen. Ich habe aber nicht gefunden, wo die Daten des Users liegen, also Name und Steuernummer usw.

@dstamou
Copy link

dstamou commented May 2, 2018

@stesie Vielen Dank für die Rückmeldung. Ja gut stimmt macht dann in dem Fall Sinn. Ok ich schaue mal morgen nochmal nach ob ich da irgendwie noch einen "Umweg" finde ;-)

@stesie
Copy link
Owner

stesie commented May 3, 2018

@michaeltraxler unter Linux? Guck mal unter $HOME/.config/Geierlein/Local Storage/file__0.localstorage, wobei das (aktuell) eh nur die gespeicherten Standardwerte sind...

Das App-Verzeichnis musst eigentlich nicht sichern, kann man ja jederzeit rekonstruieren.

@dstamou
Copy link

dstamou commented May 5, 2018

Guten Abend @stesie
nachdem du jetzt noch paar Anpassungen vorgenommen hast mit dem commit 35c3087, scheint alles wieder zu funktionieren. Konnte erfolgreich einen Testlauf an das Finanzamt senden. Werden dann am Montag noch einen "echten" absenden.

Vielen Dank schonmal dafür 👍

@nicmare
Copy link

nicmare commented May 7, 2018

Hallo in die Runde, gibt es nun eine weniger nerdige Möglichkeit, die Umsätze zu übertragen?? ;-) Hatte mich gerade erst mit der Firefox-Variante angefreundet.

@stesie
Copy link
Owner

stesie commented May 7, 2018

https://github.com/stesie/geierlein/releases/tag/v1.0.0-rc1 <- hier mal ein Release Candidate, bitte mal ausprobieren und Feedback an mich

@nicmare ich hoffe du kommst damit zurecht? Auf welchem System bist du?

@nicmare
Copy link

nicmare commented May 7, 2018

Ja, also ich hab die USt. glücklicherweise jetzt rausschicken können. An alle "noobs": NPM laden/installieren: https://nodejs.org/en/ (npm 10+).
Dann im Terminal mit den Befehlen aus der Readme Geierlein installieren und starten. Das klappte bei mir. Nun versuche ich das noch bequemer zu gestalten und per Apple Script Editor zu automatisieren. Als Vorlage dient: http://www.mademyday.de/elster-formular-umsatzsteuervoranmeldung-auf-mac-osx.html

@stesie
Copy link
Owner

stesie commented May 7, 2018

auf der release-Seite wäre auch ein geierlein-1.0.0-mac.zip, das sollte theoretisch installierbar sein, ... dann braucht's auch kein npm & co mehr

@nicmare
Copy link

nicmare commented May 7, 2018

Ach tatsächlich. Habe ich iwie übersehen – danke dir! Das klappt. Aber kann ich hier Anpassungen vornehmen wie bei der FF-Version? Siehe #64
Hätte das gerne wieder als kompakten above-the-scroll skin

@stesie
Copy link
Owner

stesie commented May 7, 2018

@nicmare dann brauchst du in der Tat den Source, vermutlich kannst du deinen Patch auch noch 1:1 anwenden, da sich das Formular nicht wirklich geändert hat

@dynamicpete
Copy link

Moin!
welche Auswirkung hat denn das auf das "Web Application via reverse proxy"-Interface?

@stesie
Copy link
Owner

stesie commented May 9, 2018

@dynamicpete sollte dennoch weiter möglich sein, du musst nur den reverse proxy umkonfigurieren. Probiert habe ich das jedoch noch nicht. Schlüsselmaterial & Kennwort findest du in der transfer.js, Nginx kennt Parameter proxy_ssl_certificate und proxy_ssl_certificate_key ...

@dynamicpete
Copy link

Danke für den Hinweis!
Evtl. nen Tip für Apache?
Die BalancerMember-Einträge muss ich vermutlich in https://datenannahme1.elster.de:443 etc ändern?

@stesie
Copy link
Owner

stesie commented May 9, 2018

nö, keine Ahnung bzgl. Apache. Hatte zwar auch schon gegoogled, aber auf die Schnelle nichts gefunden (im Gegensatz zu nginx)

@jbueren
Copy link

jbueren commented Oct 9, 2018

@dynamicpete @stesie
Für apache verhält sich die Sache auch nicht viel anders:

` cd extra/clientcert/
cat ssl-clientcert.pem ssl-clientcert.key > apache2-client-cert.pem
vim apache2.conf

  • SSLProxyMachineCertificateFile /$FULL_DIR/geierlein/extra/clientcert/apache2-client-cert.pem
  • SSLProxyEngine on
    `

Mal kurz ne andere Frage, was ist eigentlich der Sinn hinter diesem Zertifikat wenn der Schlüssel auch überall verfügbar ist?

Im Prinzip könnten die gegen brute-force Attacken auch ein einfaches Basic Authenticate verwenden, bei dem Benutzer und Passwort öffentlich bekannt sind.

Ich gehe mal davon aus, dass das nächstes Jahr im August nicht mehr funktioniert, wenn ich mir den aktuellen Inhalt des Zertifikats ansehe:

Valid
Not Before: Aug 31 14:41:33 2017 GMT
Not After : Aug 31 14:41:33 2019 GMT
Subject: emailAddress = elsterbasis-edako-produktmanagement@elster.de, CN = elster-offeneschnittstelle, OU = offeneSchnittstelle, O = ELSTER, C = DE

Aber soweit funktioniert alles auch mit apache2.

@stesie
Copy link
Owner

stesie commented Oct 10, 2018

Hey, cool. Es gab im Wiki auch mal eine Beschreibungsseite, magst du die evtl. wiederbeleben?

Den Sinn hinter der ganzen Aktion verstehe ich ehrlich gesagt auch nicht ganz. Außer, dass man es evtl. etwas schwerer macht, da mal aus einem fremden Browser raus ein paar Daten einzukippen

@dynamicpete
Copy link

Aber soweit funktioniert alles auch mit apache2.

Kurz ausprobiert -> funktioniert! :)
Vielen Dank!!!

Der Vollständigkeit halber, hier meine komplette Konfiguration ("/etc/apache2/conf-enabled/geierlein.conf"):

Alias /geierlein /opt/geierlein/chrome/content/

<Directory /opt/geierlein/chrome/content>
        Options Indexes
        AllowOverride None
        Require all granted
</Directory>

<Proxy balancer://elsterhosts>
       BalancerMember https://datenannahme1.elster.de:443
       BalancerMember https://datenannahme2.elster.de:443
       BalancerMember https://datenannahme3.elster.de:443
       BalancerMember https://datenannahme4.elster.de:443
</Proxy>

SSLProxyMachineCertificateFile /opt/geierlein/extra/clientcert/apache2-client-cert.pem
SSLProxyEngine on

ProxyPass /geierlein/proxy balancer://elsterhosts
</code>

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants