View previous topic :: View next topic |
Author |
Message |
forrestfunk81 Guru
Joined: 07 Feb 2006 Posts: 567 Location: münchen.de
|
Posted: Thu Feb 18, 2021 12:36 pm Post subject: SSH und PAM last login |
|
|
Hallo zusammen,
unter Gentoo ist die Anzeige des Timestamps der SSH "Last login" Message nicht korrekt. Mir wird immer der Zeitstempel vom aktuellen Login angezeigt, nicht der vom letzten Login. Das ist mir schon vor langer Zeit aufgefallen und auch auf allen Gentoo Systemen, die ich aufgesetzt habe. Unter Redhat und iirc auch Debian habe ich da die korrekten Last login Zeitstempel gesehen.
Gesteuert wird diese Anzeige durch /etc/ssh/sshd_config
Code: | $ ssh dev
Last login: Thu Feb 18 11:48:50 2021 from 10.0.100.1
wtf@dev ~ $ last | grep wtf
wtf pts/4 10.0.100.1 Thu Feb 18 11:48 still logged in
wtf ssh 10.0.100.1 Thu Feb 18 11:48 still logged in
wtf pts/4 10.0.100.1 Tue Feb 16 15:45 - 16:11 (00:25)
wtf ssh 10.0.100.1 Tue Feb 16 15:45 - 16:11 (00:25)
.. |
Pro SSH Session habe ich unter Gentoo zwei Einträge im last Log. Auf einem beruflich genutzten Linux System (vermutlich Redhat) fehlt der zweite Eintrag für die SSH Sessions (nur pts/X vorhanden). Auf diesem System wird auch der korrekte Zeitstempel angezeigt, nämlich von der vorherigen Session.
Soweit ich weiß, wird das lastlog über PAM gesteuert. Openssh ist bei mir mit 'UsePAM yes' konfiguriert. Die PAM Konfigurationen für SSH haben folgende Reihenfolge:
sshd -> system-remote-login -> system-login -> system-auth
Code: | grep lastlog /etc/pam.d/*
/etc/pam.d/login:session optional pam_lastlog.so
/etc/pam.d/runuser-l:session optional pam_lastlog.so
/etc/pam.d/system-login:session optional pam_lastlog.so silent |
Wenn ich jetzt die pam_lastlog Zeile aus system-login temporär rausnehme, ist im lastlog auch nur noch der pts/X Eintrag enthalten und nicht mehr der ssh Eintrag. Auch wenn ich die pam_lastlog Zeilen aus allen dreien PAM Konfigurationen rausnehme, ist immer noch der pts/X Eintrag im lastlog. Ich kenne mich mit PAM nicht wirklich aus und ich fürchte, dass eine Änderung im pam system-login auch Auswirkungen auf andere nicht-ssh Logins hat. Das möchte ich vermeiden.
Habt ihr auch die doppelten lastlog Einträge für SSH Sessions? Was wäre der richtige Ansatz, um die doppelten Einträge zu vermeiden?
Mich würde auch interessieren, wo denn eigentlich der pts/X Eintrag im lastlog herkommt? _________________ # cd /pub/
# more beer |
|
Back to top |
|
|
mike155 Advocate
Joined: 17 Sep 2010 Posts: 4438 Location: Frankfurt, Germany
|
Posted: Thu Feb 18, 2021 1:29 pm Post subject: |
|
|
Quote: | Ich kenne mich mit PAM nicht wirklich aus |
Da geht es Dir wie mir.
Deshalb installiere ich openssh auch ohne USE-Flag 'pam'. Dann treten die von Dir beschriebenen Probleme nicht auf. |
|
Back to top |
|
|
forrestfunk81 Guru
Joined: 07 Feb 2006 Posts: 567 Location: münchen.de
|
Posted: Mon Feb 22, 2021 12:57 pm Post subject: |
|
|
Ok. Ich habe jetzt mal PAM in der sshd config abgeschaltet. Das sollte ja auf das gleiche hinaus laufen, wie eine Installation mit USE="-pam". Außerdem nutze ich ausschließlich Key Authentication für SSH.
Code: | ...
StrictModes yes
PubkeyAuthentication yes
HostbasedAuthentication no
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
... |
Das funktioniert leider nicht.
Code: | sshd[27904]: User xxxx not allowed because account is locked
sshd[27904]: error: maximum authentication attempts exceeded for invalid user xxxx from 10.0.100.1 port 58744 ssh2 [preauth]
sshd[27904]: Disconnecting invalid user xxxx 10.0.100.1 port 58744: Too many authentication failures [preauth] |
Setze ich UsePAM auf yes, klappt der SSH Login wieder. _________________ # cd /pub/
# more beer |
|
Back to top |
|
|
mike155 Advocate
Joined: 17 Sep 2010 Posts: 4438 Location: Frankfurt, Germany
|
Posted: Mon Feb 22, 2021 2:13 pm Post subject: |
|
|
Das sieht danach aus, als ob Dein User gelockt ist. sshd ohne PAM berücksichtigt den Lock, sshd mit PAM ignoriert den Lock. Ich habe es gerade getestet.
Probier mal:
Code: | passwd -u <username> |
Das ist unglaublich! Wie kann es sein, dass man sich bei sshd mit PAM anmelden kann, wenn der User gelockt ist?
Für mich ein weiterer Grund, kein PAM zu verwenden. Diese Corporate Bullshit-IT (Security by Code-Bloat: immer mehr Features hinzufügen, die die meisten Anwender nicht brauchen - und das dann zum Standard machen) treibt mich in den Wahnsinn!!!
EDIT: hier gibt es eine Erklärung für das Phänomen: https://arlimus.github.io/articles/usepam/. Scheint so gewollt zu sein! |
|
Back to top |
|
|
forrestfunk81 Guru
Joined: 07 Feb 2006 Posts: 567 Location: münchen.de
|
Posted: Mon Mar 01, 2021 1:48 pm Post subject: |
|
|
Hi mike155,
danke für den Hinweis. Ja, der Benutzer ist tatsächlich gesperrt. Ein ! im /etc/shadow Eintrag, statt des Passworts. Ich habe für diesen User nie ein Passwort gesetzt, da SSH mit Key der einzige angedachte Login Weg sein sollte.
Ersetze ich das ! durch ein * funktioniert auch der keybased SSH Login ohne PAM und der Passwort Login ist immer noch gesperrt. Dann wird auch der erwartete Zeitstempel im SSH Last login angezeigt und 'last' hat auch nur noch eine aktive Session auf pts/X.
Vielleicht muss ich mir eine PAMless Installation doch noch mal genauer ansehen. Hier im Forum gibt es ja ein paar Einträge dazu. Gearde auf dem Server sehe ich keine wirklichen Vorteile von PAM. _________________ # cd /pub/
# more beer |
|
Back to top |
|
|
|