Webui + proxy plötzlich aus

Hi,

mehr Infos bekommst du mit ajenti-panel -v. Vorher noch die WebUI stoppen mit systemctl stop linuxmuster-webui. (http://docs.ajenti.org/en/latest/man/run.html)

vG Stephan

Hallo Xandra,

  • Meine erste Frage für alle betroffene : passiert es auch in eine Schule, in der die Schülern sich nicht anmelden können ?
  • Was für ein Browser verwendet ihr ? In private Modus ?
  • Läuft die Webui hinter einen reverse Proxy oder andere ?
  • Diese Bemerkung wird dumm klingen, aber ich muss es trotzdem machen : die Webui kann nur entweder mit http oder https funktionieren. Wenn ein Zertifikat konfiguriert ist, dann muss man es immer per https aufrufen, ansonstens nur mit http.

Das ist nicht ganz trivial, ich gebe es weiter für die, die das Risiko nehmen wollen. @zefanja hat einen möglichen Weg in die Console gegeben.

##############################################################
WARNING : Python mag nicht, wenn man Leerzeichen und Tabs mischen, deswegen könnte die folgende Änderungen zur Probleme führen, macht bitte eine Kopie vor diese Änderungen zu machen :

vim +112 /usr/local/lib/python2.7/dist-packages/aj/log.py

logging.INFO ersetzen durch logging.DEBUG, damit es so aussieht ( mit 8 Leerzeichen am Anfang der Zeile ) :

handler.setLevel(logging.DEBUG)

Dann die Webui neu starten :

systemctl restart linuxmuster-webui.service

In diesem Fall wird der Logdatei sehr schnell sich vergrößern.

Als Zusatz, glaube ich, dass es auch am Timeout liegen könnte ( falsches EOL in einem Request oder ähnlich ) :

vim +201 /usr/local/lib/python2.7/dist-packages/aj/gate/middleware.py

Dann 30 als timeout einsetzen anstatt 600 ( 30s anstatt 10 Minuten ), und wieder die Webui neu starten.

ENDE WARNING
##############################################################

Gruß

Arnaud

Hallo alle,

Ich habe die Ursache gefunden, es liegt an einer Begrenzung in einem externen Bibliothek, ich könnte das Problem reproduzieren mit 500 gleichzeitige Verbindungen ( ich hoffe, dass es das gleiche Problem ist ).

Ich brauche leider ein bisschen Zeit um es zu lösen, das ist nicht einfach, aber ihr könnt momentan meine letzte Nachricht ignorieren.

Gruß

Arnaud

1 „Gefällt mir“

Hi. Ich habe auf unserem Hpervisor (Proxmox) auch schon mehrfach festgestellt, dass einzelne Dienste entweder beim Systemstart nicht alle hochgefahren werden oder sich im laufenden Betrieb verabschieden. Darunter auch der Dienst samba-ad-dc.

Da bin ich auch nicht der einzige, wie das Nordländer Treffen gezeigt hat.

Ich könnte mir vorstellen, dass das an systemd liegt – was meinst du?
Schöne Grüße
Michael

Hallo Michael,

Das Problem, das ich gefunden habe, betrifft die maximale Anzahl von „File Descriptor“, was momentan auf 1024 liegt ( kann man mit ulimit -n überprüfen ).
Wenn die maximale erlaubte Anzahl von Dateien von einem Prozess geöffnet sind, das kann dieser Prozess keine weitere Datei öffnen, und damit bleibt der Prozess stehen. Bei jeder Verbindung in die Webui werden einige Subprozesse PIPE oder ähnlich erstellen, d.h., Dateien öffnen.

Das könnte natürlich der Fall sein für samba-ad-dc, ich weiß es nicht.

Ich habe heute nachmittag geschrieben, dass man es mit ulimit -n 10000 überschreiben kann, aber das war Quatsch, da eine solche Änderung nur auf den aktuellen Shell wirkt.

Um es richtig zu ändern, muss man die Datei /etc/security/limits.conf editieren, oder /etc/systemd/system.conf, und dann die Werte erhöhen.

Ich habe leider heute Abend wenig Zeit um es zu testen.

Gruß

Arnaud

1 „Gefällt mir“

Hallo Arnaud. Ja, ich bezog mich auf eher auf die o.g. Aussage: vielleicht läuft der Dienst dann ja ganz einfach gar nicht mehr (abgestürzt) und es läuft wieder, sobald der Dienst neu gestartet wurde…? Ist nur so ein Schuss ins Blaue…
Wenn das Quatsch ist – schnell wieder vergessen :slight_smile:

Michael

LimitNOFILE=16384

Ebenso in /etc/security/limits.conf: Ich habe festgestellt: das hatte ich schon mal. Auf dem alten v6.2er Server lag ulimit bei 16384.

# linuxmuster.net                                                                                                                                                                       
root    soft    nofile  16384
root    hard    nofile  16384

Hab ich jetzt auch noch gesetzt.
Dann: reboot

Bei diesem Eintrag wundert mich: Wenn es nicht root ist, der einen Prozess ausführt, dann gilt dieses erhöhte limit gar nicht. Frage mich, ob man nicht besser * soft nofile 16384 etc schreiben sollte oder nur dann, wenn man ein Problem hat.
Hoffe, dass meine Performanceprobleme dann auch ein Ende haben.
Danke, Arnaud!

Hallo Tobias,

Für systemd geht es mit /etc/systemd/system.conf :

$ grep 10000 /etc/systemd/system.conf 
DefaultLimitNOFILE=10000

Ich bin gespannt, ob es wirklich hilft.

Gruß

Arnaud

Hallo Arnaud,

verstehe ich es richtig, dass ich das DefaultLimitNOFILE in /etc/systemd/system.conf` auf z.B. 10000 setzen soll (und dann rebooten)?
Oder ist /etc/security/limits.conf zu bevorzugen?

LG
Xandra

Hallo Xandra,

Man kann beides machen, es gibt nicht viel Risiko. Da die webui mit systemd startet, es „erbt“ die Parameter von systemd.
Das ist evtl ein Fix, bis ich evtl eine bessere Lösung finde ( das macht viel ‚evtl‘ ).

Gruß

Arnaud

Hallo!

Heute hat es mich auch erwischt, die Schulkonsole auf V7 war nicht mehr erreichbar.
Keine Besonderheiten in /var/log/ajenti/ajenti.log oder /var/log/syslog.

Gestern Mittag war nach log-Datei (ajenti.log) die letzte erfolgeiche Anmeldung mit der Sessionnummer 71.
2019-09-23 12:46:54,932 INFO : Opening a session for user xxxxxx
2019-09-23 12:46:54,932 INFO : Opening a new worker gate for session 73, client SERVER-IP
2019-09-23 12:46:54,948 INFO : New worker „session 73“ PID 29208, EUID 0, EGID 0
2019-09-23 12:46:54,949 INFO : Authenticating session as xxxxxx
Die „max_sessions: 60“ in /etc/ajenti/config.yml hatte ich schon hochgeschraubt und habe ich nun weiter auf 200 erhöht, auch wenn das sehr wahrscheinlich nicht zum Erfolg führt (anschließend „# systemctl restart linuxmuster-webui.service“).

Als ulimit war bei mir aber noch 1024 eingestellt ("# ulimit -n"). Das habe ich auf 65536 ("# ulimit -n 65536") erhöht. Das könnte tatsächlich etwas bringen.
Außerdem habe ich in /etc/systemd/system.conf noch die Zeile „DefaultLimitNOFILE=65536“ hinzugefügt.

Ich hoffe das hilft und überlebt auch den nächsten Neustart des Servers.

Gruß - Rainer

Hallo,

Das Problem ist auf mein Testsystem gelöst, es gibt jetzt eine neue Version von Ajenti :

  • Fix file descriptor closing problem
  • Sicherheit : gleichzeitig habe ich auch TLS auf eine neue Version gebracht so, dass nur TLS 1.2 kompatibel ist

Auf ein Standart Ubuntu System ist die Grenze der File Descriptor bei 1024, das erlaubt die Webui ca 500 als max_sessions einzutragen. Gleichzeitig 500 Verbindungen zur Webui ist schon viel für eine Schule.

Wer mehr will soll die oben gennante Anpassungen für NOFILE eintragen.

Ich hoffe, das war es.
@Till : kannst du bitte ein Paket pushen ?

Gruß

Arnaud

1 „Gefällt mir“

@Arnaud gerade erledigt.

Hallo Arnaud,
hast du noch etwas anderes geändert?
Ich habe das System

root@server:/srv/linbo/linuxmuster-client/bionic/common# aptitude show linuxmuster-webui7
Paket: linuxmuster-webui7                       
Zustand: Installiert (1.0.99-1), Aktualisierung verfügbar (1.0.100-1)

also vermutlich das letzte Paket von Till nicht installiert.
ICh habe aber die FD auf 16384 gesetzt mit ulimit und auch die max_sessions von hand auf 500.
Trotzdem war soeben die Schulkonsole nicht erreichbar („Seite wurde laut Kollegen nicht geladen“) Ich habe es von zu Hause auch probiert, bekam innerhalb von 1 Minute keine Rückmeldung, habe leider nicht den Timeout abgewartet.
Im ajenti.log ist nix zu sehen (seit gestern mittag)
Ein restart linuxmuster-webui.service hat das erstmal behoben.

Daher die Frage: Gab es noch etwas anderes, was mein Problem hervorrufen konnte?

Ich aktualisiere jetzt auf 100.1, wenn nichts dagegen spricht und schaue dann halt weiterhin, ob die PRobleme auftauchen.

VG, Tobias

Hallo zusammen,

Nach update und restart hatte es zweimal funktioniert. Als sich die fünfer alle anmelden wollten (max. ca. 15 gleichzeitig) schmiss es folgende Fehler und keiner konnte sich anmelden:

2019-10-02 11:15:00,932 INFO    : Detected platform: debian / Ubuntu 18.04.3 LTS
2019-10-02 11:15:01,635 INFO    : Discovered 21 plugins
2019-10-02 11:15:04,366 INFO    : lmn_landing.__init__.py: lmn_landing loaded
2019-10-02 11:15:04,417 INFO    : Loaded 21 plugins
2019-10-02 11:15:04,437 INFO    : Binding to [0.0.0.0]:443
2019-10-02 11:15:04,680 INFO    : SSL enabled
2019-10-02 11:15:04,793 INFO    : New worker "restricted session" PID 26075, EUID 0, EGID 0
2019-10-02 11:15:04,796 INFO    : Worker 26075 is demoting to UID 65534 / GID 65534...
2019-10-02 11:15:04,797 INFO    : ...done, new EUID 65534 EGID 65534
2019-10-02 11:17:53,012 INFO    : Opening a session for user kuechel
2019-10-02 11:17:53,015 INFO    : Opening a new worker gate for session 1, client 172.16.17.5
2019-10-02 11:17:53,226 INFO    : New worker "session 1" PID 26714, EUID 0, EGID 0
2019-10-02 11:17:53,236 INFO    : Authenticating session as kuechel
2019-10-02 11:20:14,234 WARNING : URL not found: /favicon.ico
2019-10-02 11:20:53,872 INFO    : Opening a session for user rimbakowsky
2019-10-02 11:20:53,873 INFO    : Opening a new worker gate for session 2, client 10.16.1.254
2019-10-02 11:20:54,049 INFO    : New worker "session 2" PID 27371, EUID 0, EGID 0
2019-10-02 11:20:54,057 INFO    : Authenticating session as rimbakowsky
2019-10-02 11:31:15,372 INFO    : Process 26042 exiting normally
2019-10-02 11:31:43,048 INFO    : Loading config from /etc/ajenti/config.yml
2019-10-02 11:31:43,078 INFO    : Ajenti Core 2.1.31
2019-10-02 11:31:43,078 INFO    : Detected platform: debian / Ubuntu 18.04.3 LTS
2019-10-02 11:31:43,242 INFO    : Discovered 21 plugins
2019-10-02 11:31:44,126 INFO    : lmn_landing.__init__.py: lmn_landing loaded
2019-10-02 11:31:44,153 INFO    : Loaded 21 plugins
2019-10-02 11:31:44,159 INFO    : Binding to [0.0.0.0]:443
2019-10-02 11:31:44,283 INFO    : SSL enabled
2019-10-02 11:31:44,392 INFO    : New worker "restricted session" PID 29767, EUID 0, EGID 0
2019-10-02 11:31:44,395 INFO    : Worker 29767 is demoting to UID 65534 / GID 65534...
2019-10-02 11:31:44,396 INFO    : ...done, new EUID 65534 EGID 65534
2019-10-02 12:13:34,066 WARNING : URL not found: /favicon.ico
2019-10-02 12:13:35,083 WARNING : URL not found: /favicon.ico
2019-10-02 12:13:35,085 WARNING : URL not found: /favicon.ico
2019-10-02 12:13:35,383 WARNING : URL not found: /favicon.ico
2019-10-02 12:13:36,393 WARNING : URL not found: /favicon.ico
2019-10-02 12:13:37,223 WARNING : URL not found: /favicon.ico
2019-10-02 12:13:37,413 WARNING : URL not found: /favicon.ico
2019-10-02 12:13:38,928 WARNING : URL not found: /favicon.ico
2019-10-02 12:13:39,075 WARNING : URL not found: /favicon.ico
2019-10-02 12:13:39,491 WARNING : URL not found: /favicon.ico
2019-10-02 12:13:41,705 WARNING : URL not found: /favicon.ico
2019-10-02 12:13:41,959 WARNING : URL not found: /favicon.ico
2019-10-02 12:13:42,252 WARNING : URL not found: /favicon.ico
2019-10-02 12:13:42,278 WARNING : URL not found: /favicon.ico
2019-10-02 12:13:43,376 WARNING : URL not found: /favicon.ico
2019-10-02 12:13:45,984 WARNING : URL not found: /favicon.ico
2019-10-02 12:13:46,343 WARNING : URL not found: /favicon.ico
2019-10-02 12:13:48,618 WARNING : URL not found: /favicon.ico
2019-10-02 12:14:30,267 ERROR   : {'info': u'80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1', 'desc': u'Invalid credentials'}
2019-10-02 12:14:34,693 ERROR   : {'info': u'80090308: LdapErr: DSID-0C0903A9, 

<snip> ca. 100 Zeilen 

comment: AcceptSecurityContext error, data 52e, v1db1', 'desc': u'Invalid credentials'}
2019-10-02 12:16:10,627 ERROR   : {'info': u'80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1', 'desc': u'Invalid credentials'}
2019-10-02 12:16:11,198 ERROR   : {'info': u'80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1', 'desc': u'Invalid credentials'}
2019-10-02 12:16:11,850 ERROR   : {'info': u'80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1', 'desc': u'Invalid credentials'}
2019-10-02 12:16:12,488 ERROR   : {'info': u'80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1', 'desc': u'Invalid credentials'}
2019-10-02 12:16:13,544 INFO    : Opening a session for user kollegin
2019-10-02 12:16:13,545 INFO    : Opening a new worker gate for session 1, client 10.16.1.254
2019-10-02 12:16:13,947 INFO    : New worker "session 1" PID 18463, EUID 0, EGID 0
2019-10-02 12:16:13,965 INFO    : Authenticating session as kollegin
2019-10-02 12:16:14,592 ERROR   : {'info': u'80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1', 'desc': u'Invalid credentials'}
2019-10-02 12:16:15,126 ERROR   : {'info': u'80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1', 'desc': u'Invalid credentials'}
2019-10-02 12:16:15,807 ERROR   : {'info': u'80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1', 'desc': u'Invalid credentials'}
2019-10-02 12:16:16,501 ERROR   : {'info': u'80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1', 'desc': u'Invalid credentials'}
2019-10-02 12:16:16,902 WARNING : URL not found: /favicon.ico
2019-10-02 12:16:16,918 ERROR   : {'info': u'80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1', 'desc': u'Invalid credentials'}
2019-10-02 12:16:17,843 ERROR   : {'info': u'80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1', 'desc': u'Invalid credentials'}
2019-10-02 12:16:19,071 ERROR   : {'info': u'80090308: LdapErr: DSID-0C0903A9, 

<snip> wieder ca. 50 Zeilen

comment: AcceptSecurityContext error, data 52e, v1db1', 'desc': u'Invalid credentials'}
2019-10-02 12:16:43,086 ERROR   : {'info': u'80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1', 'desc': u'Invalid credentials'}
2019-10-02 13:44:54,134 INFO    : Process 29750 exiting normally
2019-10-02 13:44:58,223 INFO    : Loading config from /etc/ajenti/config.yml
2019-10-02 13:44:58,264 INFO    : Ajenti Core 2.1.31
2019-10-02 13:44:58,265 INFO    : Detected platform: debian / Ubuntu 18.04.3 LTS
2019-10-02 13:44:58,453 INFO    : Discovered 21 plugins
2019-10-02 13:44:59,229 INFO    : lmn_landing.__init__.py: lmn_landing loaded
2019-10-02 13:44:59,251 INFO    : Loaded 21 plugins
2019-10-02 13:44:59,256 INFO    : Binding to [0.0.0.0]:443

Es gibt ja mittendrin eine Stelle, wo „kollegin“ sich angemeldet hat. Und jetzt 90 Minuten später habe ich die Schulkonsole wiederbelebt mit einem systemctl restart.

Was soll ich tun?
VG, Tobias

Hallo Tobias,

Mein Fix betrifft ein 500 Internal Fehler, dein Problem ist etwas anderes wenn die Schulkonsole nicht antwortet.

In die logs gibt es eindeutig ein Login Problem mit dem LDAP, entweder falsches PW oder falsches Login ( oder falsche Anfrage an LDAP ).

Kann es sein, dass du nach dem Update den Quellcode geändert hast ?

Gruß

Arnaud

Hallo Tobias,

Kann es sein, dass du nach dem Update den Quellcode geändert hast ?

er meint, ob du den Schülerlogin in der einen „nicht Config sondern
Quellcode“ Datei zugelassen hast.

LG

Holger

Hallo Arnaud, hallo Holger,

ok. Folgendes: ich hatte den fix in der Quellcode-Datei drin, der SChülern den Zugriff gewährt hat, dann hab ich aber ja das update gemacht, welches den Fix wieder überschreibt und die Schüler hätten sich ja gar nicht anmelden können. Die Kollegin konnte sich anmelden, aber bei den Schülern sagte sie, kam die Webseite gar nicht. Natürlich muss man solche Laienhaften Bugreports etwas kritisch sehen, evtl. hat auch die Hälfte der SChüler die Schulkonsole gesehen und konnte sich einloggen, wer weiß. DAs kriege ich nicht mehr raus.

Definitiv konnte ich die Schulkonsole allerdings erst gegen 13:45 erreichen, weil ich sie neu gestartet hatte.
Arnaud: hattest du eine Idee, wie man die massenhaften Zugriff auf die SChulkonsole simuliert oder nachstellt?

Ach so, erst gestern mittag habe ich den Schüler-Zugriffs-Fix wieder in den Quellcode reingeschrieben. Vorher nicht.

Ich stelle mir spontan vor, dass ich ein „curl“ auf 20 Rechnern absetze, die alle versuchen, sich mit Logindaten anzumelden. Weiß jemand wie ich das mache?
VG, Tobias

Hallo, Tobias:

```
#!/bin/bash
curl -u username:password http://login.irgendwas &

curl -u username1:password1 http://login.irgendwas &

...

```

(aus dem Handgelenk, aber so müsste es gehen.

Gruß Christoph

Hallo,

ich bin erst jetzt auf diesen Thread gestossen. Wir hatten (haben?) sowohl die oben beschriebene PW Problematik, als auch das manchmal vorkommende Nichterreichen des WebUIs.
Mit Stand von heute (05.10.2019) sind alle Updates eingespielt.

root@server:/etc# dpkg -l | grep muster
ii  linuxmuster-base7                     7.0.43-0ubuntu0                        all          linuxmuster.net configuration scripts
ii  linuxmuster-linbo-common7             2.3.52-0                               all          linuxmuster-linbo common files: kernel, initrd and pxe boot configuration
ii  linuxmuster-linbo7                    2.3.52-0                               all          linuxmuster-linbo scripts
ii  linuxmuster-prepare                   0.7.4-0ubuntu0                         all          linuxmuster.net pre setup configuration scripts
ii  linuxmuster-webui7                    1.0.100-1                              all          next generation web-based management tool for linuxmuster.net v7.x

Konfigurationsdateien - wie zB oben beschrieben system.conf oder limits.conf- habe ich keine geändert, AUSSER: in der /etc/ajenti/config.ym max_sessions: 9, von 9 auf 90.
In beiden erst-genannten *.conf Dateien gibt es überhaupt keine aktiven Einträge.
Frage:

  • ist das okay?
  • kann ich prüfen, ob das Update jetzt die richtigen Werte gesetzt hat?
  • Wie ist jetzt der aktuelle Stand mit den funktionierenden Zeichen bei Passwörtern
  • und der Konsistenz bei der Methode der Passwortvergabe, zB setzten geht, funktioniert dann aber nicht?
  • anders gefragt: gibt es 100% zuverlässig funktionierende Sonderzeichen, egal wo gesetzt, die dann auch wiederum überall funktionieren?
    Mir wäre es erst mal egal, wie wenig dauerhaft und konsistent funktionieren, die Hauptsache sie tun es :wink:

Grüße,
gerd