{"id":1061,"date":"2009-11-09T10:30:57","date_gmt":"2009-11-09T09:30:57","guid":{"rendered":"https:\/\/nodch.de\/?p=1061"},"modified":"2011-04-29T14:30:41","modified_gmt":"2011-04-29T12:30:41","slug":"howto-ubuntu-server-ssh-zugang-mit-otp-absichern","status":"publish","type":"post","link":"https:\/\/nodch.de\/?p=1061","title":{"rendered":"HowTo: Ubuntu Server SSH Zugang mit OTP absichern"},"content":{"rendered":"<figure id=\"attachment_1261\" aria-describedby=\"caption-attachment-1261\" style=\"width: 200px\" class=\"wp-caption alignright\"><a href=\"https:\/\/nodch.de\/wp-content\/uploads\/opiekey.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1261\" title=\"opiekey\" src=\"https:\/\/nodch.de\/wp-content\/uploads\/opiekey-200x300.png\" alt=\"Opiekey auf Android\" width=\"200\" height=\"300\" srcset=\"https:\/\/nodch.de\/wp-content\/uploads\/opiekey-200x300.png 200w, https:\/\/nodch.de\/wp-content\/uploads\/opiekey.png 320w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/a><figcaption id=\"caption-attachment-1261\" class=\"wp-caption-text\">Opiekey auf Android<\/figcaption><\/figure>\n<p>Dienste die mit ge\u00f6ffneten Ports im Internet laufen sollten abgesichert werden. Sehr wichtig ist hier vor allem der SSH Dienst, denn dieser erlaubt einen direkten Zugriff auf das System, sofern man die Benutzer\/Passwort Kombination weiss. Es gibt verschiedenste Wege SSH abzusichern, die g\u00e4ngigen wurden von <a title=\"Linux Server absichern\" href=\"http:\/\/compr00t.co.funpic.de\/2009\/11\/linux-server-absichern\/\" target=\"_blank\">Patrick<\/a> schon zusammengefasst. Ich m\u00f6chte daher eine Absicherung vorstellen, die dar\u00fcber hinaus geht.<\/p>\n<p>Man kann SSH mittels OTP (One-time passwords, also Einmalpassw\u00f6rtern) absichern, dies bietet eine sehr grosse Sicherheit gegen\u00fcber Angreifern und sch\u00fctzt parallel auch vor Keyloggern auf unsicheren PCs, denn das Passwort wird nach Benutzung ung\u00fcltig. Hierzu wird eine Server\/Client-Struktur geschaffen, man ben\u00f6tigt auf dem Server, auf den man zugreifen will, einen Serverdienst und einen Client am zugreifenden PC. In Zeiten von Smartphones l\u00e4sst sich das sogar \u00fcber geeignete Software auf dem Smartphone l\u00f6sen. Somit braucht man auf dem zugreifenden PC keinen Client und kann von \u00fcberall zugreifen, sofern man sein Smartphone dabei hat. Auf meinem Android benutze ich &#8222;Opiekey&#8220;, welches reibungslos mit dem auf Ubuntu installierten Opie-Servern zusammen arbeitet.<\/p>\n<p>Man braucht zuerst auf dem Server, auf den man zugreifen will zwei Applikationen die man mittels:<\/p>\n<p><code>sudo apt-get install opie-server opie-client<\/code><\/p>\n<p>installiert. Nun generiert man erstmalig ein g\u00fcltiges Opie-Passwort und versieht es mit einer Passphrase (achtet darauf eine m\u00f6glichst sichere zu w\u00e4hlen!):<\/p>\n<p><code>opiepasswd -c<\/code><\/p>\n<p><!--more-->Opie kann mit den PAM (Pluggable Authentication Modules) verbunden und f\u00fcr weitere Dienste, abseits von SSH verwendet werden. Hierzu legt man sich zuerst die Datei \/etc\/pam.d\/opie an und f\u00fcllt sie mit dem folgenden Inhalt (bedenkt das in diesem Beispiel einzig der Login mit OTP m\u00f6glich ist und der alternative Weg \u00fcber die normale Benutzer\/Passwort-Kombination deaktiviert wurde, wir wollen ja richtig absichern):<br \/>\n<code>auth sufficient pam_opie.so<\/code><\/p>\n<p>Am Beispielt SSH zeige ich euch nun, wie ihr die Authentifizierung mit Opie dem entsprechenden Dienst hinzuf\u00fcgen k\u00f6nnt.<br \/>\nIn der Configdatei \/etc\/pam.d\/sshd kommentiert man den Eintrag <code>@include common-auth<\/code> aus und f\u00fcgt einen Eintrag f\u00fcr die Authentifizierung mit Opie hinzu: <code>@include opie<\/code><\/p>\n<p>SSH hat noch eine kleine Besonderheit, daher muss man noch in der Config \/etc\/ssh\/sshd_config den Eintrag <code>ChallengeResponseAuthentication no<\/code> auf <code>ChallengeResponseAuthentication yes<\/code> ab\u00e4ndern und anschliessend den Dienst neustarten: <code>sudo \/etc\/init.d\/ssh restart<\/code><\/p>\n<p>Nun seid ihr ger\u00fcstet und k\u00f6nnt euren ersten Login mittels OTP durchf\u00fchren. Einfach am zugreifenden PC, ich gehe im folgenden Beispiel von einem Ubuntu PC, der den Opie-Client installiert hat, aus.<br \/>\nVerbindet euch mit SSH auf den fertig eingerichteten Server: <code>ssh 10.10.10.1<\/code> (hier einfach die IP eures Servers verwenden).<br \/>\nIhr bekommt vom Server eine Ausgabe in der Form von:<\/p>\n<p><code>otp-md5 498 no2283 ext, Response:<\/code><\/p>\n<p>zur\u00fcck, diese gebt ihn nun in euren Client ein:<\/p>\n<p><code>opiekey 498 no2283<\/code><\/p>\n<p>Mit der vorher gew\u00e4hlen Passphrase best\u00e4tigt ihr die Eingabe und erhaltet dann das Response in Form von:<\/p>\n<p><code>CLUE SWAT BODY SIP HURT COOL<\/code><\/p>\n<p>womit ihr euch nun anmelden k\u00f6nnt.<\/p>\n<p>Komfortabel geht es auch von unterwegs mit dem schon erw\u00e4hnten Programm f\u00fcr Android &#8222;Opiekey&#8220;. Siehe Screenshot.<\/p>\n<p>Wollt ihr andere Dienste mit OTP Abfragen absichern m\u00fcsst ihr nur in der entsprechenden PAM Config unter \/etc\/pam.d\/Dienstname den Eintrag &#8222;@include common-auth&#8220; durch &#8222;@include opie&#8220; austauschen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dienste die mit ge\u00f6ffneten Ports im Internet laufen sollten abgesichert werden. Sehr wichtig ist hier vor allem der SSH Dienst, denn dieser erlaubt einen direkten Zugriff auf das System, sofern man die Benutzer\/Passwort Kombination weiss. Es gibt verschiedenste Wege SSH abzusichern, die g\u00e4ngigen wurden von Patrick schon zusammengefasst. Ich m\u00f6chte daher eine Absicherung vorstellen, die [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[465,8,142],"tags":[2484,717,718,716,715,2481],"class_list":["post-1061","post","type-post","status-publish","format-standard","hentry","category-android","category-security","category-ubuntu","tag-android","tag-opie","tag-opiekey","tag-otp","tag-ssh","tag-ubuntu"],"_links":{"self":[{"href":"https:\/\/nodch.de\/index.php?rest_route=\/wp\/v2\/posts\/1061","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nodch.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nodch.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nodch.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nodch.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1061"}],"version-history":[{"count":0,"href":"https:\/\/nodch.de\/index.php?rest_route=\/wp\/v2\/posts\/1061\/revisions"}],"wp:attachment":[{"href":"https:\/\/nodch.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1061"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nodch.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1061"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nodch.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1061"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}