ZweiFaktorAuthentifizierung
(https://linotp.org/doc/latest/part-installation/server-installation/deb_install.html)
Rechner sollte schon gegen AD per winbind authentifizieren.
Benutzer sollte sich schon per ssh anmelden können.
OTP-Benutzer und SSH-Benutzer müssen zumindest gleichen Namen haben.
zur Sicherheit eine parallele Konsole öffnen, falls was mit PAM schiefgeht!
Repo für Jessie (obwohl stretch installiert) konfigurieren:
echo "deb http://linotp.org/apt/debian jessie linotp">>/etc/apt/sources.list.d/linotp.list
Apt-Key installieren (braucht internet,proxyeinstellungen?):
gpg --keyserver keys.gnupg.net --recv-keys 913DFF12F86258E5
evtl. Key manuell downloaden(https://keys.gnupg.net/),suchen nach 0x913dff12f86258e5
und in eine Datei z.B. LinOTP.key schreiben; dann importieren:
cat LinOTP.key | apt-key add -
Repos updaten:
apt-get update
Pam-Modul (gibts nur für jessie, funktioniet aber auch mit stretch) installieren:
apt-get install libpam-linotp
Link in richtiges PAM-Verzeichnis machen:
ln -s /usr/lib/x86_64-linux-gnu/security/pam_linotp.so /lib/x86_64-linux-gnu/security/
Datei /etc/pam.d/common-linotp
erstellen:
echo "auth [success=1 default=ignore] pam_linotp.so url=https://myOtpsrv.dom.ain/validate/simplecheck debug" >>/etc/pam.d/common-linotp echo "auth requisite pam_deny.so">>/etc/pam.d/common-linotp echo "auth required pam_permit.so">>/etc/pam.d/common-linotp
Datei /etc/pam.d/sshd
editieren:
# Standard Un*x authentication. @include common-linotp #@include common-auth <-- dies auskommentieren wenn nur otp gewünscht.
Datei /etc/ssh/sshd_config
editieren:
ChallengeResponseAuthentication yes
SSH-Dienst neustarten:
/etc/init.d/sshd restart
Dann Anmeldung testen …
benötigte Pakete installieren:
apt-get install configure libtool automake build-essential libcrypto libssl-dev libcurl-dev pwgen apache2-dev libssl-dev curl wget https://github.com/lsexperts/mod_authn_linotp/zipball/master -O mod_authn_linotp.zip unzip mod_authn_linotp.zip cd LinOTP-mod_authn_linotp-5879a22/
Jetzt das Modul bauen:
libtoolize aclocal automake --add-missing autoconf ./configure make make install
eventuell noch ein debianpaket für andere Rechner erstellen:
checkinstall make install
Das Apachemodul einschalten:
a2enmod authn_linotp
Hash für otp erzeugen und in die config als LinOTPCookiesecret eintragen:
pwgen 24 1
Die Apachesite für OTP konfigurieren z.B. als Reverseproxy:
... SSLProxyEngine on <Location /> AllowOverride All AuthType basic AuthName "protected with LinOTP" AuthBasicProvider LinOTP Require valid-user LinOTPSSLCertVerify Off LinOTPSSLHostVerify Off LinOTPLogPassword On LinOTPValidateUrl https://myOtpsrv.dom.ain/validate/simplecheck LinOTPCookieSecret Aijaish4xooGhaey4kaine2j
ProxyPass https://mysrv.dom.ain/ ProxyPassReverse https://mysrv.dom.ain/ </location> ...
dann apache neustarten:
/etc/init.d/apache2 restart