<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>admirableadmin &#187; ssh</title>
	<atom:link href="http://admirableadmin.de/tag/ssh/feed" rel="self" type="application/rss+xml" />
	<link>http://admirableadmin.de</link>
	<description>&#34;Suchst du noch oder lebst du schon?&#34;</description>
	<lastBuildDate>Tue, 24 Jan 2012 23:45:26 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Puttykey in OpenSSH konvertieren</title>
		<link>http://admirableadmin.de/179/puttykey-in-openssh-konvertieren</link>
		<comments>http://admirableadmin.de/179/puttykey-in-openssh-konvertieren#comments</comments>
		<pubDate>Wed, 16 Mar 2011 18:04:36 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=179</guid>
		<description><![CDATA[Nach dem Umstieg auf Ubuntu 10.10 vor kurzem habe ich die Lösung gefunden wie mein mit PuTTYgen erzeugter Schlüssel unter Linux SSH nicht angenommen wird. Das mit PuTTYgen erzeugte Schlüsselpaar ließ sich unter Windows unkompliziert verwenden. Der öffentliche Teil wird auf Servern in die .ssh/authorized_keys eingetragen und der private Teil sorgt mit Hilfe von Pageant [...]]]></description>
			<content:encoded><![CDATA[<p>Nach dem <a title="Eine Woche mit Ubuntu 10.10" href="http://admirableadmin.de/177/eine-woche-mit-ubuntu-10-10">Umstieg auf Ubuntu 10.10 vor kurzem</a> habe ich die Lösung gefunden wie mein mit PuTTYgen erzeugter Schlüssel unter Linux SSH nicht angenommen wird.</p>
<p><span id="more-179"></span>Das mit PuTTYgen erzeugte Schlüsselpaar ließ sich unter Windows unkompliziert verwenden. Der öffentliche Teil wird auf Servern in die <em>.ssh/authorized_keys</em> eingetragen und der private Teil sorgt mit Hilfe von <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/" target="_blank">Pageant und PuTTY</a> für eine problemlosen Login auf Konsole.</p>
<p>Unter Linux muss man nun nicht einen Schlüssel erstellen und überall neu eintragen, sondern kann diesen von den putty-tools umwandeln lassen:</p>
<p class="code">sudo apt-get install putty-tools</p>
<p>die Putty Schlüssel können unter ~/.ssh angelegt werden um dort die Konvertierung des privaten Schlüssels zu zu starten:</p>
<p class="code">puttygen datei.ppk -O private-openssh -o id_dsa</p>
<p>Nach der Eingabe der Passphrase kann nun auch noch der öffentliche Schlüssel erstellt werden:</p>
<p class="code">puttygen datei.ppk -O public-openssh -o id_dsa.pub</p>
<p>Ab jetzt wird bei jedem Login per ssh zu einen anderen Server zuerst die Datei ~/.ssh/id_dsa geprüft und nach Eingabe der Passphrase ist der Login erfolgt.</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/179/puttykey-in-openssh-konvertieren/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH: Zugriff einschränken</title>
		<link>http://admirableadmin.de/13/ssh-zugriff-einschraenken</link>
		<comments>http://admirableadmin.de/13/ssh-zugriff-einschraenken#comments</comments>
		<pubDate>Thu, 05 Jul 2007 21:19:23 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/13/</guid>
		<description><![CDATA[Ein richtiger Linux Root-Server wird anderes als ein Windows-System nicht per graphischer Oberfläche mit Maus gesteuert, sondern alles wird per Konsole über Tastatur mit Hilfe des Protokolls SSH gesteuert (bunte Weboberflächen können immer ein Sicherheitsrisiko bedeuten). Damit nur gewünschte Zugriffe auf den Server stattfinden muss die Standard-Konfiguration verändert werden. SSH (Wikipedia) ist ein Netzwerkprotokoll über [...]]]></description>
			<content:encoded><![CDATA[<p>Ein richtiger Linux Root-Server wird anderes als ein Windows-System nicht per graphischer Oberfläche mit Maus gesteuert, sondern alles wird per Konsole über Tastatur mit Hilfe des Protokolls SSH gesteuert (bunte Weboberflächen können immer ein Sicherheitsrisiko bedeuten). Damit nur gewünschte Zugriffe auf den Server stattfinden muss die Standard-Konfiguration verändert werden.</p>
<p><span id="more-13"></span></p>
<p>SSH (<a href="http://de.wikipedia.org/wiki/Secure_Shell" target="_blank">Wikipedia</a>) ist ein Netzwerkprotokoll über welches von extern verschlüsselt der Server gesteuert  werden kann und Daten ausgetauscht werden können.</p>
<p>Unter Windows ist ein SSH-Login mit <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/" target="_blank">PuTTY</a> (<a href="http://de.wikipedia.org/wiki/PuTTY" target="_blank">Wikipedia</a>) zur Konfiguration und das kopieren von Dateien mit <a href="http://winscp.net/eng/docs/lang:de" target="_blank">WinSCP</a> (<a href="http://de.wikipedia.org/wiki/WinSCP" target="_blank">Wikipedia</a>) möglich.</p>
<p>Sehr unsicher ist jedoch das verwenden eines Kennwortes für den direkten root-Zugriff (<a href="http://de.wikipedia.org/wiki/Root-Account" target="_blank">Wikipedia</a>) auf den Server. Darum wird zuerst ein eigenes Zertifikat erzeugt, dann der Zugriff eingeschränkt und anschließend das Passwort-Raten per sog. Brute-Force Angriff (<a href="http://de.wikipedia.org/wiki/Brute-Force-Angriff" target="_blank">Wikipedia</a>) blockiert.</p>
<p><em><strong>1.  eigenes Zertifikat erzeugen</strong></em></p>
<p>Mit dem Windows Programm <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html" target="_blank">PuTTYgen</a> kann ein eigener Schlüssel erzeugt werden. Der Vorteil ist, dass wenn mehrere Server zu betreuen sind, dass man diesen Schlüssel auf jedem Server ablegen kann (siehe dazu Punkt 2. Zugriff einschränken) und auch nicht jedesmal ein Kennwort eingeben muss. Denn dies wird von nun an mit dem zusätzlichen Programm <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html" target="_blank">Pageant</a> erledigt.</p>
<p>Das hier verwendete Prinzip setzt auf einem öffentlichen Schlüssel (<a href="http://de.wikipedia.org/wiki/%C3%96ffentlicher_Schl%C3%BCssel" target="_blank">Wipipedia</a>), der ohne Bedenken weitergegeben werden kann und einem privaten Schlüssel (<a href="http://de.wikipedia.org/wiki/Geheimer_Schl%C3%BCssel" target="_blank">Wikipedia</a>) auf, welcher mit einem Kennwort und vor fremdem Zugriff geschützt werden muss.</p>
<p>In PuTTYgen wird unter <em>Parameters</em> die Einstellung auf <em>SSH-2 DSA</em> gewählt und mit einem Klick auf <em>Generate</em> der Schlüssel erstellt. Nachdem Mausbewegungen für Zufallsparameter gesorgt haben kann ein Kommentar wie z.B. der eigene Name oder E-Mail Adresse eingegeben werden um später mehrere Schlüssel auseinander zu halten.</p>
<p>Für maximale Sicherheit muss der Schlüssel mit einer <em>Passphrase</em> geschützt werden. Im Unterschied zu einem Passwort kann hier auch ein ganzer Satz eingegeben werden.</p>
<p>Der <em>Public key</em> für OpenSSH wird aus dem Fenster rauskopiert und in einer Textdatei gespeichert. Der mit einer Passphrase geschützten <em>Private key</em> wird mit der Endung .ppk auf der Festplatte gespeichert. Dieser kann später mit Pageant geöffnt werden und verschwindet dann als Icon in der Statuszeile neben der Windows-Uhr, um dann Logins mit PuTTY oder WinSCP automatisch mit dem passenden Schlüssel zu versorgen und so einem Zugriff ohne eine nochmalige Passwort-Eingabe zu ermöglichen.</p>
<p><em><strong>2.  Zugriff einschränken</strong></em></p>
<p>Der eben eingerichteten und kopierten öffentlichen Schlüssel aus dem Feld <em>Public key</em> für OpenSSH wird nun auf dem Server eingerichtet. Dazu benötigt man zuerst einen neuen Benutzer, wenn man sich vorher nur über root verbunden hat.</p>
<p class="code">adduser &#8211;ingroup users &#8211;disabled-password BENUTZERNAME</p>
<p>im neu erstellten Home-Verzeichniss wird ein neuer Ordner <em>.ssh</em> erstellt und eine neue Datei <em>authorized_keys</em> erstellt und mit den richtigen Rechten versehen:</p>
<p class="code">mkdir /home/BENUTZERNAME/.ssh<br />
touch /home/BENUTZERNAME/.ssh/authorized_keys<br />
chown -R BENUTZERNAME:users /home/BENUTZERNAME/</p>
<p>In diese neue Datei <em>authorized_keys</em> wird der öffentliche Schlüssel kopiert.</p>
<p class="alert2">Während die Verbindung mit root-Rechten offen bleibt, wird versucht eine neue zusätzliche Verbindung zum Server aufzunehmen. Klappt alles hat man sich nicht selber ausgesperrt.</p>
<p>Nun ist es soweit den Root-Login auf den Server zu verbieten, in der Datei <em>/etc/ssh/sshd_config </em>wird folgende Einstellung vorgenommen:</p>
<p class="code">PermitRootLogin no</p>
<p>Somit wird in Zukunft, nach einem Neustart von sshd ein direkter Root-Zugriff verhindert:</p>
<p class="code">/etc/init.d/ssh restart</p>
<p>Befehle oder Aktionen, wie das einspielen der Sicherheitsupdates, erfordern natürlich auch weiterhin root-Rechte, die aber für normale Benutzer mit entsprechender Kenntnis des Root-Kennworts einfach zu erlangen sind:</p>
<p class="code">su -</p>
<p><em><strong>3. Brute-Force Angriffe blockieren</strong></em></p>
<p>beim verfolgen der Einträge in der Protokolldatei <em>/var/log/auth.log</em> fällt sofort auf, dass hier ständig probiert wird Benutzernamen und entsprechende Passwörter zu raten. Die passiert per Brute-Force und meist sogar ohne Wissen der Benutzer der IP. Dies kann sowohl ein von Viren befallener PC, oder ein gehackter Server sein. Da diese meist im Ausland beheimatet sind, ist eine Meldung oder Anzeige kaum erfolgreich.</p>
<p>Hier hilft nur den Server selber mit einer eigenen Firewall zu schützen. Das Tool <em>iptables</em> (<a href="http://de.wikipedia.org/wiki/Iptables" target="_blank">Wikipedia</a>) ist dafür ausgelegt, Pakete zu prüfen und entsprechend eingestellter Regeln zu verwerfen.</p>
<p>Wenn gewünscht ist den Angreifer auszubremsen und ihm so ein Passwort-Raten zu erschweren wird ein Shell-Script angelegt, z.b. <em>bfstopper.sh</em> und mit dem folgenden Inhalt befüllt:</p>
<p class="code">iptables -A INPUT -m state &#8211;state ESTABLISHED -j ACCEPT<br />
iptables -A INPUT -p tcp &#8211;dport ssh -m recent &#8211;update &#8211;seconds 600 -j DROP<br />
iptables -A INPUT -p tcp &#8211;dport ssh &#8211;tcp-flags syn,ack,rst syn -m recent &#8211;set -j ACCEPT</p>
<p>Somit werden alle wiederholten Verbindungen auf den SSH-Port 22 von der gleichen IP für 600 Sekunden, also 10 Minuten geblockt.</p>
<p>Alternativ gibt es natürlich weitere Methoden, wie das verlegen von SSH auf einen anderen Port, oder ein aktives Pflegen der hosts.allow und hosts.deny Dateien, oder durch das verwenden von <a href="http://www.fail2ban.org/" target="_blank">fail2ban</a>. Alles etwas überdimensioniert.</p>
<p class="favorite"><a href="http://www.openssh.org/de/index.html" target="_blank"> OpenSSH</a><br />
<a href="http://www.netfilter.org/projects/iptables/index.html" target="_blank">iptables</a></p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/13/ssh-zugriff-einschraenken/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

