{"id":234,"date":"2018-11-02T10:13:59","date_gmt":"2018-11-02T09:13:59","guid":{"rendered":"https:\/\/www.techox.de\/blog\/?p=234"},"modified":"2019-05-25T09:20:42","modified_gmt":"2019-05-25T07:20:42","slug":"debian-ssh-port-absichern","status":"publish","type":"post","link":"https:\/\/www.techox.de\/blog\/debian-ssh-port-absichern\/","title":{"rendered":"Debian 9 SSH Port absichern"},"content":{"rendered":"\n<p>Jeder der einen eigenen Server in einem Rechenzentrum betreibt, m\u00f6chte diesen bestm\u00f6glich vor Hackerangriffen sch\u00fctzen. Wir zeigen euch eine M\u00f6glichkeit wie ihr den SSH Port eures Servers ganz einfach und effektiv sch\u00fctzen k\u00f6nnt.<\/p>\n\n\n\n<h2>\u00dcberblick<\/h2>\n\n\n\n<a href=\"#fail2baninstall\">1. fail2ban installieren und konfigurieren <\/a> <br>\n<a href=\"#newUser\">2. neuen Benutzer anlegen <\/a> <br>\n<a href=\"#sshdisableroot\">3. SSH Root Login deaktivieren  <\/a> <br>\n<a href=\"#sshpasswordlogin\">4. SSH Password Login deaktivieren <\/a>\n\n\n\n<div style=\"height:46px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"fail2baninstall\"> 1. fail2ban installieren <\/h3>\n\n\n\n<p>Fail2ban (deutsch:&nbsp;Fehlschlag f\u00fchrt zum Bann) ist ein in Python geschriebenes Tool, dass dem Administrator helfen soll Angreifer zu entdecken. Das Tool erkennt, wenn sich mehrmals in einem bestimmten Zeitraum mit einem falschen Passwort versucht wurde sich anzumelden. Anschlie\u00dfend wird diese IP des Angreifers f\u00fcr einen bestimmten Zeitraum gesperrt.&nbsp;<\/p>\n\n\n\n<p>Um fail2ban zu installieren f\u00fchren wir folgende Befehle aus:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">apt-get update\napt-get upgrade\napt-get install fail2ban<\/pre>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Anschlie\u00dfend m\u00fcssen wir fail2ban noch konfigurieren:<br><br>Wir wechseln zun\u00e4chst in das Verzeichnis, wo sich die Konfigurationsdatei befindet und passen anschlie\u00dfend verschiedene Parameter an.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">cd \/etc\/fail2ban\/\n\nKopieren der Konfigurationsdatei, damit diese beim Update nicht \u00fcberschrieben wird\n\nsudo cp jail.conf jail.local\n\nAnpassen der Konfiguration\n\nsudo nano jail.local\n\nHier solltest du folgende Einstellungen anpassen\n\n<span class=\"hljs-comment\"># Dauer der Sperrung (ein Tag)<\/span>\nbantime  = <span class=\"hljs-number\">86400<\/span> \n<span class=\"hljs-comment\"># Suchzeit<\/span>\nfindtime  = <span class=\"hljs-number\">600<\/span>\n<span class=\"hljs-comment\"># maximale Fehlversuche<\/span>\nmaxretry = <span class=\"hljs-number\">3<\/span>\n\nAnschlie\u00dfend musst du den Dienst noch Neustarten\n\nsudo systemctl restart fail2ban.service<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<div style=\"height:46px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"newUser\"> 2. neuen Benutzer anlegen <\/h3>\n\n\n\n<p>Damit wir im n\u00e4chsten Schritt den Root Login \u00fcber SSH deaktivieren k\u00f6nnen, m\u00fcssen wir zun\u00e4chst einen neuen Benutzer anlegen.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># Ersetzt newuser durch euern gew\u00fcnschten Benutzernamen<\/span>\nadduser newuser<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Anschlie\u00dfend erscheinen ein paar Fragen, welche du alle mit Enter best\u00e4tigen kannst. Als Password solltest du ein m\u00f6glichst langes und kryptisches w\u00e4hlen, damit es nicht leicht erraten werden kann.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"sshdisableroot\"> 3. SSH Root Login deaktivieren <\/h3>\n\n\n\n<p>Nun deaktivieren wir den SSH Root Login um die Sicherheit deines Servers weiter zu erh\u00f6hen. Dazu wechseln wir in das Verzeichnis, wo sich die SSH Konfigurationsdatei befindet.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">cd \/etc\/ssh\/\n<span class=\"hljs-comment\">#\u00d6ffnen der Konfigurationsdatei <\/span>\nsudo nano sshd_config\n<span class=\"hljs-comment\">#Hier solltest du folgenden Parameter anpassen<\/span>\nPermitRootLogin no\n\n<span class=\"hljs-comment\">#Anschlie\u00dfend musst du den SSH Dienst noch neustarten<\/span>\nsudo systemctl restart sshd.service<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"sshpasswordlogin\"> 4. SSH Password Login deaktivieren <\/h3>\n\n\n\n<p>Um deinen Server noch besser vor SSH Angriffen zu sch\u00fctzen, erlauben wir jetzt nur noch die SSH Anmeldung mit einen Schl\u00fcsselpaar. Somit musst du beim Anmelden auch kein Passwort mehr eingeben. Dazu sind folgende Schritte notwendig.<\/p>\n\n\n\n<p><strong>Schl\u00fcsselpaar erzeugen<\/strong><\/p>\n\n\n\n<p>Bitte beachte dabei, dass du das Schl\u00fcsselpaar nicht auf dem Server erzeugen solltest, auf dem du dich sp\u00e4ter damit anmelden m\u00f6chtest. Solltest du einen Windows Rechner verwenden empfehle ich dir das Tool Putty f\u00fcr die Erstellung des Schl\u00fcsselpaares zu verwenden.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">#erzeugen eines 4096 Bit langen Schl\u00fcsselpaares<\/span>\nssh-keygen -b <span class=\"hljs-number\">4096<\/span>\n\n<span class=\"hljs-comment\">#speichern des Schl\u00fcsselpaares<\/span>\n<span class=\"hljs-comment\">#hier musst du your_home durch deinen vorhin angelegten<\/span>\n<span class=\"hljs-comment\">#Benutzernamen ersetzen<\/span>\nEnter file in which to save the key (\/your_home\/.ssh\/id_rsa):\n<span class=\"hljs-comment\">#Anschlie\u00dfend kannst du noch ein Password f\u00fcr euer Schl\u00fcsselpaar festlegen<\/span>\n<span class=\"hljs-comment\"># ist aber nicht zwingend notwendig<\/span>\nEnter passphrase (<span class=\"hljs-keyword\">empty<\/span> <span class=\"hljs-keyword\">for<\/span> no passphrase):<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Schl\u00fcsselpaar auf den Server kopieren<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">#Wechsel zun\u00e4chst in das Verzeichnis wo sich dein <\/span>\n<span class=\"hljs-comment\">#Schl\u00fcsselpaar befindet<\/span>\n\ncd \/your_home\/.ssh\/\n\n<span class=\"hljs-comment\">#Kopieren des \u00f6ffentliches Schl\u00fcssels<\/span>\ncp id_rsa.pub authorized_keys\n\n<span class=\"hljs-comment\">#\u00d6ffentlichen Schl\u00fcssel auf den Server kopieren<\/span>\nscp authorized_keys benutzer@deine_server_adresse:~\/authorized_keys\n\n<span class=\"hljs-comment\">#melde dich anschlie\u00dfend auf dem Server an<\/span>\nssh benutzer@deine_server_adresse\n\n<span class=\"hljs-comment\">#erstelle anschlie\u00dfend den Order .ssh in deine Homeverzeichnis<\/span>\nmkdir .ssh\n\n<span class=\"hljs-comment\">#Verschiebe anschlie\u00dfend authorized_keys in den .ssh Ordner<\/span>\nmv authorized_keys .ssh\/authorized_keys<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Melde dich nun von deinem Server ab und anschlie\u00dfend erneut an. Es sollte jetzt nicht mehr nach einem Passwort gefragt werden.<\/p>\n\n\n\n<p><strong>SSH Login nur noch mit g\u00fcltigem Schl\u00fcsselpaar erlauben<\/strong><\/p>\n\n\n\n<p>Damit keine Anmeldung mehr per Passwort erlaubt ist, solltest du folgende Einstellungen anpassen<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">#wechsle in das SSH Verzeichnis<\/span>\ncd \/etc\/ssh\/\n\n<span class=\"hljs-comment\">#\u00f6ffne die Konfigurationsdatei<\/span>\nsudo nano sshd_config\n\n<span class=\"hljs-comment\">#Folgender Parameter muss angepasst werden<\/span>\nPasswordAuthentication no\n\n<span class=\"hljs-comment\">#SSH Dienst neustarten<\/span>\nsudo systemctl restart sshd.service<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Das war&#8217;s. Dein Server ist jetzt etwas sicherer geworden. Damit dein Server dauerhaft sicher bleibt, solltest du in regelm\u00e4\u00dfigen Abst\u00e4nden Updates installieren.<\/p>\n\n\n\n<p>Hat dir die Anleitung gefallen? Dann gib uns ein Feedback.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wir zeigen euch eine M\u00f6glichkeit wie ihr den SSH Port eures Servers ganz einfach und effektiv sch\u00fctzen k\u00f6nnt.<\/p>\n","protected":false},"author":1,"featured_media":297,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[41],"tags":[42,44,43],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.techox.de\/blog\/wp-json\/wp\/v2\/posts\/234"}],"collection":[{"href":"https:\/\/www.techox.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.techox.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.techox.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.techox.de\/blog\/wp-json\/wp\/v2\/comments?post=234"}],"version-history":[{"count":63,"href":"https:\/\/www.techox.de\/blog\/wp-json\/wp\/v2\/posts\/234\/revisions"}],"predecessor-version":[{"id":458,"href":"https:\/\/www.techox.de\/blog\/wp-json\/wp\/v2\/posts\/234\/revisions\/458"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.techox.de\/blog\/wp-json\/wp\/v2\/media\/297"}],"wp:attachment":[{"href":"https:\/\/www.techox.de\/blog\/wp-json\/wp\/v2\/media?parent=234"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.techox.de\/blog\/wp-json\/wp\/v2\/categories?post=234"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.techox.de\/blog\/wp-json\/wp\/v2\/tags?post=234"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}