<?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/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>mobileMacs &#187; Tutorial</title>
	<atom:link href="http://mobilemacs.de/category/tutorial/feed" rel="self" type="application/rss+xml" />
	<link>http://mobilemacs.de</link>
	<description>Der zweiwöchentliche Talk-Podcast über das mobile Leben mit Apple-Technologien</description>
	<lastBuildDate>Fri, 03 Sep 2010 06:58:05 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<!-- podcast_generator="podPress/8.8" -->
		<copyright>&#xA9;Tim Pritlove, Max Winde, Denis Ahrens </copyright>
		<managingEditor>max.winde@gmail.com (Tim Pritlove, Max Winde, Denis Ahrens)</managingEditor>
		<webMaster>max.winde@gmail.com(Tim Pritlove, Max Winde, Denis Ahrens)</webMaster>
		<category></category>
		<ttl>1440</ttl>
		<itunes:keywords>macintosh, mac, ipod, iphone, apple, discussion, opinion entertainment</itunes:keywords>
		<itunes:subtitle>Der vierzehntauml;gige Podcast von MobileMacs zu Themen rund um den Macintosh, iPhone und Apple im Allgemeinen.</itunes:subtitle>
		<itunes:summary>Der MobileMacs Macintosh Podcast liefert alle 14 Tage Meinungen, Hintergruuml;nde und Unterhaltung rund um den Mac, iPhone und iPod.</itunes:summary>
		<itunes:author>Tim Pritlove, Max Winde, Denis Ahrens</itunes:author>
		<itunes:category text="Technology">
  <itunes:category text="Tech News"/>
</itunes:category>
<itunes:category text="Technology">
  <itunes:category text="Gadgets"/>
</itunes:category>
<itunes:category text="Technology">
  <itunes:category text="Software How-To"/>
</itunes:category>
		<itunes:owner>
			<itunes:name>Tim Pritlove, Max Winde, Denis Ahrens</itunes:name>
			<itunes:email>max.winde@gmail.com</itunes:email>
		</itunes:owner>
		<itunes:block>No</itunes:block>
		<itunes:explicit>no</itunes:explicit>
		<itunes:image href="http://www3.mobilemacs.de/wp-content/uploads/2008/03/mobilemacs-podcast-logo.jpg" />
		<image>
			<url>http://www3.mobilemacs.de/wp-content/uploads/2008/03/mobilemacs-podcast-logo.jpg</url>
			<title>mobileMacs</title>
			<link>http://mobilemacs.de</link>
			<width>144</width>
			<height>144</height>
		</image>
		<item>
		<title>Network Access: Teil 2: NAT Traversal auf dem Mac</title>
		<link>http://mobilemacs.de/2007/09/network-access-teil-2-nat-traversal-auf-dem-mac.html</link>
		<comments>http://mobilemacs.de/2007/09/network-access-teil-2-nat-traversal-auf-dem-mac.html#comments</comments>
		<pubDate>Wed, 26 Sep 2007 23:54:20 +0000</pubDate>
		<dc:creator>Theodor Prinz</dc:creator>
				<category><![CDATA[Mac Software]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www2.mobile-macs.de/2007/09/network-access-teil-2-nat-traversal-auf-dem-mac.html</guid>
		<description><![CDATA[Nachdem ich im ersten Teil dieser Serie versucht habe,  [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich im <a href="http://www2.mobile-macs.de/2007/09/network-access-teil-1-network-address-translation.html">ersten Teil dieser Serie</a> versucht habe, die Grundz&uuml;ge und -probleme von NAT zu beschreiben, m&ouml;chte ich im zweiten Teil auf Protokolle und Programme eingehen, die einem das Leben hinter einem NAT erleichtern k&ouml;nnen.</p>
<p><span id="more-402"></span></p>
<p>Der Betrieb von NAT bringt es mit sich, dass man einerseits mit einem nicht-&ouml;ffentlichen Addressraum arbeitet und andererseits Verbindungen von au&szlig;en <em>by default</em> nicht durchgelassen werden. Um den Betrieb normaler Client-Server-Protokolle wie <a href="http://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol">HTTP</a> &uuml;berhaupt sicherzustellen, werden Ports dynamisch in Abh&auml;ngigkeit des Traffics nach innen freigeschaltet, damit der Betrieb &uuml;berhaupt gew&auml;hrleistet werden kann. Da es zu NAT keinen wirklichen Standard gibt ist aber das Verhalten der einzelnen Implementationen sehr unterschiedlich.</p>
<p>Um nun f&uuml;r bestimmte Anwendungen wie Telefonie und/oder Datei&uuml;bertragung im Instant Messaging Protokollen (iChat) oder P2P-Protokolle zu realisieren wurde &uuml;ber Strategien nachgedacht, wie man eine definierte Erreichbarbeit von au&szlig;en herstellen kann. Da der Bedarf zuerst und vor allem f&uuml;r nicht-verbindungsorientierte Protokolle via UDP deutlich wurde, gab es mit <a href="http://de.wikipedia.org/wiki/STUN">STUN</a> (<a href="http://tools.ietf.org/html/rfc3489">RFC3489</a>) einen ersten Versuch, der Problematik Herr zu werden. Auch iChat verwendet STUN, doch ist trotzdem die Kooperation des NAT-Routers erforderlich. STUN war daher nicht sonderlich erfolgreich, doch immerhin wurde anl&auml;sslich der Protokolldefinition &uuml;berhaupt eine Klassifikation von NAT-Protokollen vorgenommen, die da hei&szlig;en:</p>
<ul>
<li>Full Cone</li>
<li>Restricted Cone</li>
<li>Port Restricted Cone</li>
<li>Symmetric</li>
</ul>
<p>Ich will hier nicht genau die Funktionalit&auml;tsunterschiede beschreiben (das ist in der Wikipedia bereits <a href="http://de.wikipedia.org/wiki/Network_Address_Translation#Kategorisierung">ausf&uuml;hrlich erfolgt</a>). Nur so viel: STUN funktioniert am besten mit &#8220;Full Cone&#8221; und mit &#8220;Symmetric&#8221; &uuml;berhaupt nicht. Mit den anderen beiden Varianten f&auml;llt es bestenfalls unter &#8220;your mileage will vary&#8221;, da aber das NAT im Linux-Network-Stack aus generellen Sicherheitserw&auml;gungen &#8220;Symmetric&#8221; ist und Linux in vielen Routern zum Einsatz kam, war der Erfolg mit STUN gering. Wer schon mal Probleme mit iChat und Audio-Verbindungen gehabt hat, wird jetzt ahnen, woran das liegt.</p>
<p>STUN selbst ist also kein gro&szlig;er Schritt, es mussten anderen Kr&uuml;cken her. Das Pflegen einer Port Forwarding Tabelle hilft in manchen F&auml;llen weiter, ist aber l&auml;stig, wenn man DHCP verwenden will und das gleiche Protokoll auf mehr als einem Rechner anbieten m&ouml;chte. Sowohl Microsoft als auch Apple sahen das Problem und entwickelten unabh&auml;ngig voneinander jeweils eine L&ouml;sung. Die von Microsoft wiegt schwer und kommt unter dem Wischiwaschi-Namen <a href="http://de.wikipedia.org/wiki/Universal_Plug_and_Play">Universal Plug and Play (UPnP)</a> daher, Apple setzt auf NAT-PMP. W&auml;hrend UPnP ein umfangreiches Framework mit zahlreichen Protokollen, Datenformaten und einer komplexen Dokumentation ist (allein die Beschreibung des NAT-Traversal Unter-Protokolls <a href="http://en.wikipedia.org/wiki/Internet_Gateway_Device">IGD</a> umfasst <a href="http://www.upnp.org/standardizeddcps/igd.asp">13 PDF-Dokumente mit insgesmt 360 Seiten unverst&auml;ndlichem Fooblas</a>) wird Apples NAT-PMP <a href="http://files.dns-sd.org/draft-cheshire-nat-pmp.txt">in einem knappen RFC</a> in zwanzig Seiten ausreichend beschrieben.</p>
<p><strong>Das NAT Port Mapping Protocol (NAT-PMP)</strong></p>
<p>Die Grundfunktionen von NAT-PMP sind schnell aufgez&auml;hlt:</p>
<ol>
<li>Erfragen der externen IP-Adresse</li>
<li>&Ouml;ffnen eines Ports auf dem Router f&uuml;r Verbindungen von au&szlig;en</li>
</ol>
<p>Das alles geht &uuml;ber Broadcast-UDP-Pakete im lokalen Netzwerk, es funktioniert also nur, wenn man mit dem Router in der selben <em>Collision Domain</em> ist (was aber in den typischen Heimnetzen eben der Fall ist). Mir ist schon die erste Funktion ovn NAT-PMP sehr symphatisch, da man sonst auf Tools wie <a href="http://www2.mobile-macs.de/2007/02/bwanadik.html">BwanaDik</a> zur&uuml;ckgreifen muss, die zun&auml;chst Verbindungen zu externen Hosts aufbauen m&uuml;ssen. Mit NAT-PMP erh&auml;lt man seine  externe IP-Adresse ohne Fehlerm&ouml;glichkeiten direkt vom eigenen Router mitgeteilt, was auch schneller geht.</p>
<p>Aber die eigentliche Killerfunktion ist nat&uuml;rlich die zweite. Das Pflegen einer Forwarding Table entf&auml;llt, die Programme k&ouml;nnen sich jetzt selbst um alles k&uuml;mmern und bekommen dabei akkurat mitgeteilt, ob der gew&uuml;nschte Port bereitgestellt werden konnte und wenn ja unter welcher Adress/Port-Kombination. Diese Information kann dann innerhalb von Netzwerkprotokollen verwendet werden ohne dass der Router die Pakete selbst umschreiben muss.</p>
<p><strong>NAT-PMP auf AirPort Basisstationen einschalten</strong></p>
<p>Wie nicht anders zu erwarten ist NAT-PMP in <del datetime="2007-09-27T13:22:41+00:00">allen AirPort-Basisstationen</del> allen AirPort Extreme und AirPort Express Basisstationen implementiert. Es muss lediglich einmal &uuml;ber das AirPort Utlity in den Internet-Settings eingeschaltet werden.</p>
<p><img src="http://www2.mobile-macs.de/wp-content/uploads/2007/09/picture-5.png" alt="Picture 5.png" border="0"  /></p>
<p>Das bedeutet, dass sich jede NAT-PMP-aware Applikation selbst ihre Ports freischalten kann und jederzeit on-demand aus dem Internet Verbindungen annehmen kann (sp&auml;testens hier sollte jedem klar sein, dass NAT definitiv keine Firewall ist!).</p>
<p><strong>Update</strong>: Wer noch nicht das &#8220;AirPort Utility&#8221; hat (das lag nur den neuen Extreme-Basestations bei und wird von Apple aus mir absolut nicht verständlichen Gründen allen zum Download bereitgestellt, der muss das &#8220;AirPort Admin Utility&#8221; verwenden. Wie es sich dort einschalten lässt, beschreibt ein <a href="http://docs.info.apple.com/article.html?artnum=302510">Apple Tech Support Artikel</a>. Man muss also zuerst auf die &#8220;Base Station Options&#8221; gehen und dann sieht das dann so aus:</p>
<p><img src='http://www2.mobile-macs.de/wp-content/uploads/2007/09/picture-8.png' alt='AirPort Admin Utility' /></p>
<p><strong>BitTorrent mit NAT-PMP</strong></p>
<p>Das einfachste Beispiel f&uuml;r ein nettes Tool, das von NAT-PMP Gebrauch macht ist der gro&szlig;artige BitTorrent-Client <a href="http://www2.mobile-macs.de/2007/02/transmission-macht-bittorrent-einfach-und-schnell.html">Transmission</a>. Hier kann man in den Voreinstellungen selbst einen Port w&auml;hlen, der dann an den Router weitergereicht wird. Transmission teilt einem auch gleich mit, ob die Zuordnung auch erfolgreich war.</p>
<p><img src="http://www2.mobile-macs.de/wp-content/uploads/2007/09/picture-6.png" alt="Picture 6.png" border="0" /></p>
<p>So einfach, so effizient. Weitere Beispiele für Support von NAT-PMP (und teilweise auch UPnP) mit BitTorrent sind <a href="http://www.bitrocket.org/">BitRocket</a> und <a href="http://www.xtorrentp2p.com/">XTorrent</a>.</p>
<p>Aber auch außerhalb von BitTorrent gibt es Unterstützung für NAT Traversal: <a href="http://www.rogueamoeba.com/nicecast/">Nicecast</a> von <a href="http://www.rogueamoeba.com/">Rogue Amoeba</a> kann seinen Streaming-Dienstleistung auch selbst beim Router registrieren.</p>
<p><strong>NAT-PMP verwalten</strong></p>
<p><img src="http://www2.mobile-macs.de/wp-content/uploads/2007/09/lighthouse.png" alt="lighthouse.png" style="float: right; margin-left: 10px" />Aber es wird noch besser: vor kurzem bin ich auf die gro&szlig;artige Software <a href="http://codelaide.com/blog/products/lighthouse">Lighthouse</a> von <a href="http://codelaide.com">codelaide software</a> gestossen.  Das User Interface k&ouml;nnte noch etwas eleganter sein, aber die Funktionalit&auml;t &uuml;berzeugt: Lighthouse &uuml;bernimmt die Registrierung von Ports am Router f&uuml;r andere Programme. Es unterst&uuml;tzt dabei sowohl NAT-PMP als auch UPnP (bzw. IGD), so dass man auch mit Linksys und D-Link-Routern Freude hat, die nur UPnP unterst&uuml;tzen.</p>
<p><img src="http://www2.mobile-macs.de/wp-content/uploads/2007/09/picture-7.png" alt="Picture 7.png" border="0" /></p>
<p>Besonders pfiffig ist, dass Lighthouse die f&uuml;r eine Applikation ben&ouml;tigten Ports beim Start des Programms auf Wunsch auch automatisch einschaltet und beim Beenden des Programms wieder ausschaltet. Man kann sich beliebige eigene Profile erstellen und jederzeit aktivieren und deaktivieren. Lighthouse unterst&uuml;tzt selbstverst&auml;ndlich auch <a href="http://www2.mobile-macs.de/2007/09/growl-schreitet-voran.html">Growl</a>, so dass man seine Aktivit&auml;ten auch in Echtzeit auf dem Bildschirm mitverfolgen kann, wenn man m&ouml;chte.</p>
<p>Es gibt bereits eine Reihe fertiger Profile, z.B. f&uuml;r Adium, Apple Remote Desktop sowie HTTP und FTP Server. Weitere Profile stehen auch <a href="http://www.codelaide.com/blog/products/lighthouse/get-more-profiles">online zum Download</a> bereit. So lernen z.B. dann auch die anderen BitTorrent Programme mit dem Router umzugehen ohne wirklich davon was mit zu bekommen.</p>
<p>Lighthouse kostet 13 Dollar, ist aber sein Geld durchaus Wert. Wer dynamisch HTTP- oder FTP-Server im Heimnetz betreiben m&ouml;chte wird sein Geld gut angelegt wissen. Gro&szlig;artiges Tool, um die Nachteile von NAT ertr&auml;glicher zu machen.</p>
]]></content:encoded>
			<wfw:commentRss>http://mobilemacs.de/2007/09/network-access-teil-2-nat-traversal-auf-dem-mac.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Network Access: Teil 1: Network Address Translation</title>
		<link>http://mobilemacs.de/2007/09/network-access-teil-1-network-address-translation.html</link>
		<comments>http://mobilemacs.de/2007/09/network-access-teil-1-network-address-translation.html#comments</comments>
		<pubDate>Sat, 15 Sep 2007 10:39:50 +0000</pubDate>
		<dc:creator>Theodor Prinz</dc:creator>
				<category><![CDATA[Mac Software]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www2.mobile-macs.de/2007/09/network-access-teil-1-network-address-translation.html</guid>
		<description><![CDATA[Als Mitte der 90er Jahre der Zugang zum Netz popul&#038;auml [...]]]></description>
			<content:encoded><![CDATA[<p>Als Mitte der 90er Jahre der Zugang zum Netz popul&auml;rer wurde, erdachten ein paar Linux-Hacker eine pfiffige L&ouml;sung, um mehreren Computer mit nur einer IP-Adresse Zugang zum Internet zu geben: <a href="http://en.wikipedia.org/wiki/Network_address_translation">Network Address Translation</a> wurde dann schnell zum Gold-Standard f&uuml;r Heim und B&uuml;ro. Entsprechend unterst&uuml;tzen heutzutage alle Router NAT.</p>
<p><span id="more-385"></span></p>
<p><strong>Funktionsweise</strong></p>
<p>NAT funktioniert nach einem einfachen Prinzip: im eigenen Netzwerk verwendet man einen von drei reservierten <a href="http://www.isi.edu/in-notes/rfc1918.txt">privaten IP-Adressbereichen</a> (10/8, 172.16/12, and 192.168/16). Ein Router (oder Gateway, wie man m&ouml;chte) in diesem Netzwerk &uuml;bernimmt nun die Funktion der Weiterleitung der Pakete, die f&uuml;r Hosts im Internet gedacht sind. &Uuml;blicherweise, aber nicht notwendigerweise, ist dieser Router auch f&uuml;r die Adressvergabe via <a href="http://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol">DHCP</a> und eben auch f&uuml;r die Netzwerk-Adressumsetzung (NAT) zust&auml;ndig.</p>
<p>Ein Rechner im privaten Netzwerk schickt nun also seine Internet-Pakete &uuml;ber diesen Router. Die Absendeadresse dieser Pakete enth&auml;lt dementsprechend eine Adresse aus den oben erw&auml;hnten Netzen. Diese sind aber im Internet nicht routingf&auml;hig, da sie eben nicht f&uuml;r Internet-Hosts vergeben werden d&uuml;rfen. Der NAT-Router ersetzt nun also diese Absendeadressen durch die vom ISP (meist via <a href="http://de.wikipedia.org/wiki/Point-to-Point_Protocol">PPP</a> oder <a href="http://de.wikipedia.org/wiki/PPP_over_Ethernet">PPPoE</a>) zugeteilte &ouml;ffentliche Adresse und merkt sich zudem in einer Tabelle, dass hier demn&auml;chst mit einer Antwort zu rechnen ist. Dazu vermerkt der NAT-Router zus&auml;tzlich noch den Port, von dem aus das Paket geschickt wurde (das identifiziert die sendende Applikation) und wartet ab. Das ausgehende Paket hat nun einen g&auml;nzlich neuen Port verpasst bekommen, an dem man den Tabelleneintrag identifizieren kan</p>
<p>Kurze Zeit sp&auml;ter kommt die Antwort und anhand des Zielports findet der NAT-Router den Eintrag in der Tabelle. Dort steht die eigentliche Zieladresse aus dem privaten Netzwerk nebst dem urspr&uuml;nglich als Absender verwendeten Port. Diese beiden Werte werden nun wieder ersetzt und das Paket wird auf dem internen Netzwerk entsprechend versendet. Der Rechner erh&auml;lt wie gew&uuml;nscht seine Daten aus dem Internet ohne von dem  doppelten Datentausch etwas mitzubekommen. Deswegen muss die Software f&uuml;r NAT nicht angepasst werden, was f&uuml;r den Durchbruch von NAT ganz wichtig war.</p>
<p><strong>&Uuml;berl&auml;ufer</strong></p>
<p>So weit, so gut. Doch gibt es hier einige kleine Probleme, die h&auml;ufig nicht bedacht werden und bei fr&uuml;hen NAT-Implementierungen ein Problem waren. Das betrifft vor allem die oben bereits angesprochene Umsetztabelle.</p>
<p>Ist die Internetaktivit&auml;t im privaten Netz sehr gro&szlig;, senden also viele unterschiedliche Hosts und Programme Daten, dann kann das dazu f&uuml;hren, dass die Tabelle des Routers zu gro&szlig; wird und neue Verbindungen nicht mehr gespeichert werden k&ouml;nnen. Da Router nicht selten recht kleine Embedded-Systeme mit wenig RAM sind, wurde dies anfangs nicht immer bedacht. K&ouml;nnen keine Eintr&auml;ge mehr vorgenommen werden, werden auch die Antwortpakete nicht mehr zugeordnet und die Anfragen erhalten keine R&uuml;ckmeldungen mehr: Programme warten auf ihre Daten, erhalten aber keine. Die Verbindungen frieren ein, obwohl der Internetzugang eigentlich wunderbar funktioniert.</p>
<p>Dabei k&ouml;nnen die Symptome schwanken, je nach dem, wie der Router mit solchen &Uuml;berl&auml;ufen umgeht. Neuen Verbindungen wird unter Umst&auml;nden Vorrang gegeben, da alte Verbindungen ggf. nicht mehr aufgenommen werden und der Eintrag als nicht mehr notwendig betrachtet wird. Bei sehr hohem Datenaufkommen kann aber auch der &auml;lteste Eintrag noch recht neu sein und so kommt keine einzige Verbindung mehr zustande, da alle neueren Verbindungen die eben noch gestarteten &uuml;berlagern und selber wieder von ihren Nachfolgern &uuml;berschrieben werden. In diesem Fall geht &uuml;berhaupt nichts mehr, obwohl der Router brav alle Pakete nach au&szlig;en schickt und auch alle Antworten zur&uuml;ckkommen. Ein totales Desaster.</p>
<p>Die Strategie, alte Eintr&auml;ge bei Nichtaktivit&auml;t herauszuwerfen ist aber auch sonst eine schlechte Idee, denn es gibt durchaus viele Verbindungen, die lange brachliegen, aber mit guten Grund. Ein gutes Beispiel sind SSH-Sessions. Hier loggt man sich auf einem Rechner ein und startet auf der Kommandozeile irgendein Programm, dass ein paar Stunden ben&ouml;tigt (ein &Uuml;bersetzungsvorgang, eine Berechnung , ein Batchprozess oder was auch immer). Erst nach Ablauf meldet sich das Programm wieder. Wenn der NAT-Router wegen Nichtaktivit&auml;t den Eintrag aus der Tabelle geworfen hat, brechen die Verbindungen ab. Das Ergebnis geht verloren. Im Falle von SSH kann man sich wehren, indem man seine SSH-Verbindung entsprechend mit <a href="http://drupal.star.bnl.gov/STAR/comp/sofi/facility-access/ssh-stable-con">ServerAlive</a> konfiguriert. Aber es gibt auch andere Beispiele, wo zu kurze Timeouts st&ouml;ren (Chats, Datenbankverbindungen und &auml;hnliches).</p>
<p><strong>Inkontinenzen</strong></p>
<p>Ein Nebeneffekt von NAT ist, dass Verbindungen von au&szlig;en in der Regel blockiert werden. Das schafft einen bestimmten Sicherheitspuffer, doch sollte man NAT nicht als Sicherheitstechnologie begreifen. Schon das Beispiel mit der Tabelle oben zeigt, dass diverse Klimmz&uuml;ge n&ouml;tig sind, um NAT wirklich durchl&auml;ssig genug zu machen und diese Durchl&auml;ssigkeit ist by design bidirektional. Das bietet auch viel Raum f&uuml;r Sicherheitsl&ouml;cher und daher sollte man bei besonders sch&uuml;tzenswerten Infrastrukturen schon auch Gedanken um eine zus&auml;tzliche Firewall machen.</p>
<p>NAT orientiert sich sehr am klassischen Client/Server-Ansatz und geht vor allem davon aus, dass das private Netzwerk vor allem Clients betreibt. Das mag h&auml;ufig der Fall sein, doch gibt es zunehmend den Bedarf, auch von zu Hause Serverdienste anzubieten (Fernzugriff via SSH oder <a href="http://de.wikipedia.org/wiki/Apple_Remote_Desktop">Apple Remote Desktop</a>, File Server, Web Server etc.) und komplexe Protokolle f&uuml;r Internettelefonie, Chat-Dateitransfer oder BitTorrent ben&ouml;tigen m&ouml;glichst dynamische, bidirektionale Kommunikation. NAT ist nicht f&uuml;r P2P gemacht und daher sind hier weitere Ma&szlig;nahmen n&ouml;tig. In einem Folgeartikel werde ich auch auf <strong>NAT Traversal</strong> eingehen, dass diese Probleme addressiert.</p>
<p>Richtig schlimm wird es mit NAT, wenn Protokolle Informationen &uuml;ber Absendeadresse und Absenderport direkt im Protkoll unterbringen. Dies ist der Fall bei <a href="http://de.wikipedia.org/wiki/File_Transfer_Protocol">FTP</a>, <a href="http://de.wikipedia.org/wiki/Session_Initiation_Protocol">SIP</a> und vielen anderen Protokollen, die eigentlich f&uuml;r den Betrieb im NAT-freien Internet gemacht sind. Vor allem Telefonie-Protokolle sind hier betroffen. NAT-Implementierungen m&uuml;ssen aktiv in den Protokollstrom eingreifen und tauschen Informationen in der Payload der Datenpakete, um die Protokolle &uuml;berhaupt zum Laufen zu bringen. Dies mag auf den ersten Blick elegant klingen, greift aber nicht bei verschl&uuml;sselter Kommunikation bzw. verhindert diese und ist in bestimmten Situation technisch sogar nicht m&ouml;glich bzw. nicht zuverl&auml;ssig.</p>
<p>Manche Probleme entstehen auch erst, wenn mehrere NATs hintereinander geschaltet werden. Das passiert schnell, z.b. wenn man in einem mit NAT arbeitenden WLAN via Internet Sharing einem anderen Rechner via Ethernet oder Firewire Internetzugang spendet. Dann arbeitet ein zweites NAT auf dem eigenen Rechner und setzt die Adressen bereits einmal um, damit sie danach von dem WLAN-NAT noch ein weiteres Mal umgesetzt zu werden. Das funktioniert zwar, aber schafft neue Probleme f&uuml;r Traversal-Protokolle, denn selten verhalten sich zwei NAT-Implementierungen identisch.</p>
<p><strong>Port Mapping</strong></p>
<p>Nahezu alle Router (einschliesslich der AirPort-Modelle) bieten heute die M&ouml;glichkeit, ein sogenanntes &#8220;Port Mapping&#8221; einzustellen. Das erlaubt, Dienste auf einem Rechner hinter dem NAT anzubieten und die Anfragen aus dem Internet durch eine fest eingestellte Zuordnung auf diesen Rechner weiterzuleiten. Das funktioniert so weit ganz gut und straigtforward. Allerdings unterliegt man hier einigen Einschr&auml;nkungen, da der Rechner dann seine IP-Adresse nicht mehr &auml;ndern darf. Das Netzwerk-Kontrollfeld bietet da mit der Einstellung &#8220;DHCP mit manueller Adresse&#8221; die n&ouml;tige Voraussetzung, so dass man alle anderen Werte auch noch dynamisch beziehen kann. Bei den AirPort-Modellen ist das Port Mapping leicht &uuml;ber das AirPort Utility einzustellen.</p>
<p>Mehr Informationen zu NAT und wie man es so umbiegen kann, dass man damit gl&uuml;cklich wird, im n&auml;chsten Teil der Serie.</p>
]]></content:encoded>
			<wfw:commentRss>http://mobilemacs.de/2007/09/network-access-teil-1-network-address-translation.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SSH: Dateitransfer mit SFTP</title>
		<link>http://mobilemacs.de/2007/08/ssh-dateitransfer-mit-sftp.html</link>
		<comments>http://mobilemacs.de/2007/08/ssh-dateitransfer-mit-sftp.html#comments</comments>
		<pubDate>Tue, 28 Aug 2007 21:09:07 +0000</pubDate>
		<dc:creator>Theodor Prinz</dc:creator>
				<category><![CDATA[Mac Software]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www2.mobile-macs.de/2007/08/ssh-dateitransfer-mit-sftp.html</guid>
		<description><![CDATA[Eine der besten Anwendungen für SSH ist die SCP-Erweit [...]]]></description>
			<content:encoded><![CDATA[<p>Eine der besten Anwendungen für SSH ist die <a href="http://de.wikipedia.org/wiki/Secure_Copy">SCP</a>-Erweiterung und FTP-Alternative <a href="http://de.wikipedia.org/wiki/SSH_File_Transfer_Protocol">SFTP</a>. Es gibt auf dem Mac mittlerweile zahlreiche exzellente Clients für SFTP. Ein paar davon möchte ich hier vorstellen.</p>
<p>Wer sich wie im letzten Teil beschrieben, SSH mit einem Public-Private-Key Schlüsselpaar und mit <a href="http://www.sshkeychain.org/">SSHKeychain</a> einen SSH-Agenten eingerichtet hat, der die Passphrase des eigenen Schlüssels im Mac OS X Schlüsselbund abspeichert, hat jetzt leichtes Spiel, Dienste mit Applikationen zu nutzen, die SSH auf eine ssh-agent-kompatible Art und Weise nutzen. Das gilt leider nicht für alle verfügbaren SSH-Clients.</p>
<p><a href='http://www2.mobile-macs.de/2007/08/ssh-dateitransfer-mit-sftp.html/transmit/' rel='attachment wp-att-346' title='Transmit'><img src='http://www2.mobile-macs.de/wp-content/uploads/2007/08/transmit.png' alt='Transmit' style='float: left; margin-right: 10px' /></a>Für den Mac gibt es mittlerweile einige Dateitransfer-Programme, die auch SFTP unterstützen (auch FTP-TLS, auf das ich hier nicht eingehen möchte). Nur zwei von ihnen möchte ich hier featuren: <a href="http://www.panic.com/transmit/">Transmit</a> und <a href="http://rsug.itd.umich.edu/software/fugu/">Fugu</a>. Während Transmit ein kommerzielles, aber extrem umfangreiches, schnelles und höchst benutzerfreundliches Tool für alle populären und unpopulären Protokolle ist, ist Fugu freie Software und auf SSH-Protokolle spezialisiert.</p>
<p><a href='http://www2.mobile-macs.de/2007/08/ssh-dateitransfer-mit-sftp.html/fugu/' rel='attachment wp-att-347' title='Fugu'><img src='http://www2.mobile-macs.de/wp-content/uploads/2007/08/fugu.png' alt='Fugu'  style='float: right; margin-left: 10px' /></a>Beide Programme verbindet, dass sie nahtlos mit ssh-agent zusammenarbeiten. Das bedeutet, dass man Verbindungen via SFTP herstellen kann ohne die Passphrase eingeben zu müssen, da sie via SSHKeychain direkt aus dem Mac OS X Schlüsselbund geliefert werden.</p>
<p>Andere bekannte Dateitransfer-Programme wie z.B. Cyberduck oder das ewig gestrige Fetch sind entweder nicht ssh-agent kompatibel (Cyberduck) oder können mit SFTP nix anfangen (Fetch).</p>
<p><a href='http://www2.mobile-macs.de/2007/08/ssh-dateitransfer-mit-sftp.html/macfusion/' rel='attachment wp-att-348' title='MacFusion'><img src='http://www2.mobile-macs.de/wp-content/uploads/2007/08/macfusion.png' alt='MacFusion' style='float: left; margin-right: 10px'  /></a><strong>Update</strong>: Ich wollte es eigentlich in einem weiteren Beitrag nochmal auseinandernehmen, aber Max hat mich in den Kommentaren zu recht hier schon hingewiesen (zumal er auch schon <a href="http://www2.mobile-macs.de/2007/05/sftp-direkt-aus-dem-finder-heraus.html">vor einiger Zeit hier darüber schrieb</a>): auch <a href="http://www.sccs.swarthmore.edu/users/08/mgorbach/MacFusionWeb/">MacFusion</a> darf hier natürlich in der Liste nicht fehlen.</p>
<p>MacFusion arbeitet im Gegensatz zu den oben erwähnten Programmen auf Basis des Dateisystems. Die SFTP-Server werden also wie externe Festplatten oder AFP-Server im Finder sichtbar und der Dateitransfer kann einfach mittels des Finders vorgenommen werden. Auch hier klappt die Zusammenarbeit mit SSHKeychain ganz wunderbar.</p>
]]></content:encoded>
			<wfw:commentRss>http://mobilemacs.de/2007/08/ssh-dateitransfer-mit-sftp.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>SSH: Agententätigkeit</title>
		<link>http://mobilemacs.de/2007/08/ssh-agententatigkeit.html</link>
		<comments>http://mobilemacs.de/2007/08/ssh-agententatigkeit.html#comments</comments>
		<pubDate>Fri, 24 Aug 2007 17:22:39 +0000</pubDate>
		<dc:creator>Theodor Prinz</dc:creator>
				<category><![CDATA[Mac Software]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www2.mobile-macs.de/2007/08/ssh-agententatigkeit.html</guid>
		<description><![CDATA[Wie ich im letzten Beitrag zum Thema aufgezeigt habe, k [...]]]></description>
			<content:encoded><![CDATA[<p>Wie ich <a href="http://www2.mobile-macs.de/2007/08/ssh-parole.html">im letzten Beitrag zum Thema</a> aufgezeigt habe, kann man mit der SSH mit vertretbaren Aufwand ein System aufbauen, das unter Verwendung von <em>Schlüsselpaaren</em> die Authentifizierung für Verbindungen zwischen zwei Systemen sicherstellt. Das Ergebnis erscheint auf den ersten Blick unbefriedigend: anstatt des Kennworts muss man nun bei jedem Verbindungsaufbau die <em>Passphrase</em> des privaten Schlüssels eingeben.</p>
<p>Diese Passphrase ist zwar keine Pflicht (man kann den Schlüssel auch ungeschützt im Dateisystem ablegen), aber so sensitive Daten sollte man nicht unverschlüsselt herumliegen lassen. Auf Linux-Servern sind unverschlüsselte private Schlüssel beim Betrieb von HTTPS-Webservern durchaus gängige Praxis, hat aber das gleiche Risiko. Mac OS X wiederum bietet hier aber Abhilfe: die Mac OS X Keychain (aka Schlüsselbund).</p>
<p>Mac OS X Server macht davon selbst Gebrauch. Legt man HTTPS-Dienste an, besteht das Administrationsprogramm darauf, die Schlüssel mit einer Passphrase zu versehen. Diese wird dann im System-Schlüsselbund abgelegt. Das ist zwar im Prinzip auch nur ein schwacher Schutz (schliesslich muss der Server auch darauf automatisiert zugreifen), aber es ist immerhin eine weitere Hürde aufgebaut (der Schlüssel muss über einen autorisierten Weg aus einer verschlüsselten Datei geholt werden). Aber mich interessiert hier mehr die Client-Seite (und muss auch zugeben, nicht viele weitere Details zu der Art, wie hier Mac OS X Server genau vorgeht, zu wissen).</p>
<p>Für die tägliche Anwendung auf der Kommandozeile bietet SSH bereits eine Lösung: der <strong>ssh-agent</strong> ist ein Hintergrundprozess, dem man einmal mit der Passphrase für den Schlüssel versieht und der dann in der Folge auf Anfrage einem SSH-Client den unverschlüsselten privaten Schlüssel bereitsteht. Man kann konfigurieren, wie lange der Agent den Schlüssel vorhält etc. pp. Für Leute, die ohnehin nur in der Kommandozeile zu Hause sind, eine passable Lösung.</p>
<p><a href='http://www2.mobile-macs.de/?attachment_id=342'attachment wp-att-342' title='SSHKeychain Logo'><img src='http://www2.mobile-macs.de/wp-content/uploads/2007/08/sshkeychain.png'  style='float: right; margin-left: 10px' alt='SSHKeychain Logo' /></a>Da diese Methode dem Mac OS X Schlüsselbund so ähnlich ist, liegt eine Integration auf der Hand und die Lösung gibt es bereits (in verschiedener Form). Das Programm, das ich ans Herz legen möchte und dass zu meiner Mac-Grundausstattung gehört, ist <a href="http://www.sshkeychain.org/">SSHKeychain</a>, das jüngst in einer überarbeiteten Fassung und endlich auch als Intel-Binary erschienen ist.</p>
<p>SSHKeychain schlägt die Brücke zwischen dem ssh-agent und dem Mac OS X Schlüsselbund, in dem es im <em>Environment</em> (das, was man in der Kommandozeile durch Eingabe von &#8220;<tt>env</tt>&#8221; anzeigen lassen kann eine Kontaktadresse für den SSH-Client hinterlässt. Das sieht dann so aus:</p>
<p><tt>SSH_AUTH_SOCK=/tmp/501/SSHKeychain.socket</tt></p>
<p>Dadurch weiss die SSH, wie sie mit SSHKeychain kommunizieren soll. SSHKeychain fungiert nun als ssh-agent, legt aber die Passphrase in der privaten Keychain des Benutzers ab. Das Ergebnis ist, dass wann auch immer die Keychain geöffnet ist, die Eingabe der Passphrase entfällt. Das funktioniert für die SSH auf der Kommandozeile wie auch für SSH-kompatible Programme mit GUI gleichmassen.</p>
<p>Noch als ich diesen Beitrag schrieb wurden <a href="http://www.sshkeychain.org/pipermail/users/2007-August/000098.html">Sicherheitsprobleme in der Version 0.8.1 veröffentlicht</a>. Seit heute gibt es die Version 0.8.2, die die geschilderten Probleme angeblich gelöst haben soll. Seit Version 0.8 gibt es SSHKeychain auch in einer Intel-Version.</p>
<p>Trotz aller Einfachkheit, die der Einsatz von SSHKeychain bringt, er macht ggf. die Sache auch unsicherer. Das muss jeder für sich abwägen. Es ist sicherlich generell zu empfehlen, seiner Keychain so einzustellen, dass sie beim Schlafen des Rechners und nach einem bestimmten Inaktivitäts-Timeout automatisch schließt. Das lässt sich im &#8220;Bearbeiten&#8221; Menü der Schlüsselbund-Applikation für jedes Schlüsselbund manuell einstellen.</p>
<p>Als nächstes werde ich ein paar Programme vorstellen, die prima mit SSHKeychain zusammenarbeiten.</p>
]]></content:encoded>
			<wfw:commentRss>http://mobilemacs.de/2007/08/ssh-agententatigkeit.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH: Parole?</title>
		<link>http://mobilemacs.de/2007/08/ssh-parole.html</link>
		<comments>http://mobilemacs.de/2007/08/ssh-parole.html#comments</comments>
		<pubDate>Fri, 17 Aug 2007 15:37:09 +0000</pubDate>
		<dc:creator>Theodor Prinz</dc:creator>
				<category><![CDATA[Mac Software]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www2.mobile-macs.de/2007/08/ssh-parole.html</guid>
		<description><![CDATA[Au weia. Jetzt habe ich den Max schon viel zu lange all [...]]]></description>
			<content:encoded><![CDATA[<p><em>Au weia. Jetzt habe ich den Max schon viel zu lange alleine gelassen und melde mich nach erfolgreichem Laptop-Neuerwerb (schwarzes MacBook) aus meinem Blogurlaub zurück. Und wie <a href="http://www2.mobile-macs.de/2007/05/serie-ssh-als-allzweckwaffe.html">versprochen</a> wende ich mich dem Thema SSH auf dem Mac zu. Zeit wird&#8217;s.</em></p>
<p>Die <a href="http://de.wikipedia.org/wiki/Secure_Shell">Secure Shell</a> ist seit Mac OS X ein fester Bestandteil des Macs und das ist auch gut so. Zwar ist die Kommandozeile nicht jedermanns Sache, aber ich wollte ja mal erläutern, wie man davon profitieren kann, vor allem wenn man eigene Server betreibt.</p>
<p><span id="more-339"></span></p>
<p>Die Kernidee von SSH ist, zwischen zwei Rechnern eine <em>authentifizierte</em>, <em>verschlüsselte</em> Verbindung herzustellen. Dazu wird eine Reihe von Massnahmen ergriffen, um möglichen Angreifern das Leben schwer zu machen.</p>
<p>Die einfachste Methode, eine SSH-Verbindung herzustellen, ist der Aufruf des Kommandozeilenprogramms <tt>ssh</tt> im Terminal:</p>
<p><tt>$ ssh <em>mylogin</em>@<em>myhost.mydomain</em></tt></p>
<p>Damit das geht, muss natürlich ein Benutzerzugang unter dem Namen &#8220;mylogin&#8221; auf dem anderen Rechner vorhanden sein. Wird die Verbindung erstmalig hergestellt, präsentiert einem SSH zunächst einen &#8220;digitalen Fingerabdruck&#8221; der Gegenseite, an der man die Identität des Rechners sicherstellen kann. Wenn man den akzeptiert wird man nach dem Kennwort des Zugangs gefragt. Wird das richtige Kennwort eingegeben, ist man erfolgreich verbunden und alles ist gut.</p>
<p>Aber Kennwörter sind eigentlich out. Besonders auf Servern will man seine Sicherheit nicht darauf aufbauen, dass ein einzelner String nicht erraten werden kann. Außerdem lässt sich der Login schlecht automatisieren, da immer die manuelle Eingabe des Kennworts erforderlich ist. Für Backups und andere nützliche Dinge, die man mit SSH machen kann (dazu später mehr), ist das ein Hindernis. Daher hat sich beim Umgang mit SSH eine andere Methode der Authentifizierung durchgesetzt: die <a href="http://de.wikipedia.org/wiki/Asymmetrisches_Kryptosystem">Public-Key-Authentication</a>.   Hier legt man nur einmal ein Schlüsselpaar an, bestehend aus einem öffentlichen und einem privaten Teil. Ersteren platziert man auf dem entfernten Rechner, letzteren behält man für sich. Soll nun eine SSH Verbindung aufgebaut werden, prüft das SSH-Subsystem, ob der private Schlüssel zum öffentlichen passt und gibt den Weg frei (wenn alles in Ordnung ist).</p>
<p>Soweit klingt das alles ganz fein, leider ist der Prozess zur Erzeugung der Schlüsselpaare und die Einrichtung des Servers ein wenig knifflig, da man sich hier den unter UNIX gängigen Konventionen beugen muss: Kommandos, Textdateien und verborgene Verzeichnisse müssen gemeistert werden. Ist aber alles nicht so schwierig. Wir machen das jetzt mal Schritt für Schritt.</p>
<p>Zunächst muss das Schlüsselpaar erzeugt werden. Dazu ruft man das Terminal auf und begibt sich auf die Kommandozeile und gibt ein:</p>
<p><tt>$ ssh-keygen</tt></p>
<p>Mit <tt>ssh-keygen</tt> wird ein interaktiver Erzeugungsprozess gestartet. Und interaktiv heißt, dass man mit dummen Fragen genervt wird. Hier ist die erste:</p>
<p><tt>Enter file in which to save the key (/Users/theodor/.ssh/id_rsa):</tt></p>
<p>Hier wird gefragt, in welcher Datei der <em>private</em> Schlüssel des Schlüsselpaares gespeichert werden soll. Ist dies der erste Schlüssel, den man erzeugt, kann und sollte man hier beruhigt Return drücken, denn der Name und Ort ist der, den man möchte. Wie man sieht, wird der Schlüssel im eigenen Home Directory im &#8220;.ssh&#8221; Verzeichnis abgelegt. Da es mit einem Punkt beginnt, ist es im Finder ohne weiteres zunächst nicht sichtbar (kann aber mit Apfel-G und der Eingabe &#8220;~/.ssh&#8221;) problemlos geöffnet werden. Wir werden mit dem Verzeichnis noch häufiger Bekanntschaft machen, da es alle Einstellungen und Schlüssel beherbergt, die für SSH wichtig sind.</p>
<p>Die Frage macht auch klar, dass der Default-Schlüsseltyp <a href="http://de.wikipedia.org/wiki/RSA-Kryptosystem">RSA</a> ist. Das lässt sich alles auf der Kommandozeile noch feintunen, aber der Default reicht uns fürs erste aus.</p>
<p>Wie auch immer: die nächste Frage lauert schon auf uns:</p>
<p><tt>Enter passphrase (empty for no passphrase):</tt></p>
<p>Hier wird ein langes Kennwort (passphrase) zum <em>Sichern des privaten Schlüssels</em> erfragt. Da der private Schlüssel uns alle möglichen Dinge eröffnen soll ist es angeraten, ihn selbst noch einmal zu verschlüsseln, so dass es nicht einfach geraubt werden kann. Jetzt werdet ihr Euch natürlich fragen, wie man jetzt einen Vorteil mit der Automatisierung haben soll, wenn jetzt schon wieder ein Kennwort im Spiel ist und Ihr habt recht. Aber das werde ich im nächsten Teil erläutern. Jetzt denkt ihr Euch erstmal einen schönen Satz aus und gebt ihn hier ein. Dann noch ein zweites Mal zur Überrpüfung der Eingabe und dann wird das Schlüsselpaar auch endlich erzeugt: der private Schlüssel in der genannten Datei, der öffentliche in einer Datei gleichen Namens zuzüglich der Endung &#8220;.pub&#8221;.</p>
<p>Mit der Schlüsselerzeugung allein ist es nicht getan. Wir müssen nun noch den öffentlichen Schlüssel auf den anderen Rechner spielen, damit er dort bekannt ist. Schauen wir mal in die Datei hinein, was dort eigentlich gelandet ist:</p>
<p><tt>ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxc33yRAuo2B0iaFb0<br />
6PMKvL1hPGELuKPWMTtKx7TQgVnl97aKB1SkppFWYJOvDZYA3qCYl<br />
7snUkSM715vGlhOYJDRSaoZpEj3l9DNZsygc4uicybkUW7lC2itbX<br />
vP4s8ctr+Yl6xDHdcuc5uWdwqR/3okPxGY4ZVYRU6oezDK7mZ1Fvn<br />
e58TUICSRAgUdyyjWDqZKZ/41B+V+ca8XKiks4nKMaIzypng+k07i<br />
TnMxR5eZxVWWwUpniQ91q6+l6FLsA35MVc17Aclkj97balatNUUMg<br />
1ZdunI1rTeVUUFt+YpJQAWGJ3LuSgDqi9A47Xd5NT5FirhfieYAJp<br />
1Zdl/ew== theodor@macbook.local</tt></p>
<p>Das ist der öffentliche Schlüssel in einer &#8220;lesbaren&#8221; Version, so dass man ihn auch einfach per Cut und Paste mit einem Texteditor von A nach B tragen kann. Anders als hier im Beispiel besteht der Schlüssel aus einer einzigen Textzeile ohne Umbrüche und sollte auch nicht nachträglich umbrochen werden. Das ist ein beliebter Anfängerfehler. Diese Textzeile muss nun auf Reisen gehen. Sie muss auf dem Zielrechner im Home Directory des Benutzers im &#8220;.ssh&#8221; Verzeichnis Bestandteil einer Datei namens <tt>authorized_keys</tt> werden. Gibt es noch keine kann man die &#8220;.pub&#8221;-Datei einfach kopieren und umbenennen. Soll allerdings mehr als ein Schlüssel gültig sein, muss jeder Schlüssel als eine Zeile in dieser Datei auftauchen.</p>
<p>Nun sind wir schon fast am Ziel. Es könnte zwar sein, dass ihr Euch schon jetzt erfolgreich anmelden könnt, das hängt allerdings von der Konfiguration des SSH-Servers auf dem Zielrechner ab. Diese ist ebenfalls in einer Textdatei abgelegt und zwar in <tt>/etc/sshd_config</tt>. Dort muss dafür gesorgt werden, dass die Option <tt>PubkeyAuthentication</tt> auf <tt>yes</tt> steht, damit der Login via Schlüsselpaar auch ausprobiert wird. Läuft alles kann man später die Option <tt>PasswordAuthentication</tt> auf <tt>no</tt> stellen, um zu verhindern, dass schwache Kennwörter irgendwelcher User die Sicherheit des Systems gefährden.</p>
<p>Das einmal zum Einstieg. Ich habe sicherlich einiges vergessen, zur Not fragt in den Kommentaren nach. Im nächsten Teil erläutere ich dann, wie man das gesamte Schlüsselmanagement unter Mac OS X integrieren kan.</p>
]]></content:encoded>
			<wfw:commentRss>http://mobilemacs.de/2007/08/ssh-parole.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Serie: SSH als Allzweckwaffe</title>
		<link>http://mobilemacs.de/2007/05/serie-ssh-als-allzweckwaffe.html</link>
		<comments>http://mobilemacs.de/2007/05/serie-ssh-als-allzweckwaffe.html#comments</comments>
		<pubDate>Tue, 08 May 2007 10:19:36 +0000</pubDate>
		<dc:creator>Theodor Prinz</dc:creator>
				<category><![CDATA[Mac Software]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www2.mobile-macs.de/2007/05/serie-ssh-als-allzweckwaffe.html</guid>
		<description><![CDATA[Unverzichtbares Werkzeug jedes Administrators ist die s [...]]]></description>
			<content:encoded><![CDATA[<p>Unverzichtbares Werkzeug jedes Administrators ist die sogenannte <a href="http://de.wikipedia.org/wiki/Secure_Shell">Secure Shell</a> (ssh). ssh stellt verschlüsselte und authentisierende (die Identität überprüfende) Verbindungen zu anderen Computersystemen her. ssh ist sehr flexibel einsetzbar und bietet neben dem normalen Einloggen auf dem anderen Rechner auch verschlüsselten Dateitransfer (via <a href="http://de.wikipedia.org/wiki/Secure_Copy">SCP</a>, <a href="http://de.wikipedia.org/wiki/SSH_File_Transfer_Protocol">SFTP</a>) und die Möglichkeit, eine beliebige andere Netzwerkverbindung durch einen Tunnel zu verbinden (sog. Port Forwarding).</p>
<p><span id="more-219"></span></p>
<p>Apple bietet zwar mit <a href="http://www.apple.com/remotedesktop/">Remote Desktop</a> ein hervorragendes Produkt zur Fernverwaltung an, allerdings ist der Preis mit 299 bzw. 499 EUR eher im sportlichen Bereich und daher für die meisten unerschwinglich, da man das Tool eher selten nutzt und den Gegenwert verständlicherweise selten erzielt. Eine freie oder zumindest kostenlose Basisversion für Einsteiger wäre mal ganz angebracht.</p>
<p>Die Arbeit mit der Kommandozeile ist nicht jedermanns Sache, aber sie bietet &#8211; das wird schon jeder mal gehört haben &#8211; bei erhöhter Komplexität auch eine grosse Nützlichkeit. Abgesehen von der Automatisierung bietet das Terminal vor allem bei der Systemadministration vielerlei Hilfestellung, besonders bei der Administration anderer Computer über das Netzwerk.</p>
<p>Einiges von dem Kauderwelsch oben lässt sich einfacher nutzen als gedacht. Zunächst ist es aber erforderlich, dass man im Kontrollfeld &#8220;Sharing&#8221; im Tab &#8220;Dienste&#8221; die Einstellung &#8220;Entfernte Anmeldung&#8221; eingeschaltet ist. Gestelzter lässt es sich kaum ausdrücken, aber immerhin ist ssh so leicht und schnell zuschaltbar: ist das Häkchen gesetzt bedeutet das, dass der sog. SSH-Hintergrundprozess auf Anfragen von außen wartet. Nun braucht man nur noch die passende Software, um auf diesen Dienst auch zuzugreifen.</p>
<p>Da ist natürlich zum einen das Programm &#8220;ssh&#8221; auf der Kommandozeile.  Ist also der SSH-Dienst  auf einem Rechner angeschaltet und ist der Rechner über das Netz zu erreichen (also nicht hinter einer Firewall oder einem <a href="http://de.wikipedia.org/wiki/Network_Address_Translation">NAT</a> versteckt), kann man sich mit <tt>ssh <em>host</em></tt> verbinden und mit dem Login-Kurznamen und Passwort anmelden. Soweit nicht besonders <em>exicting</em> und nicht für jeden nützlich.</p>
<p>Doch gibt es einige nützliche Dinge, die man mit SSH anstellen kann und vor allem kann es als Sicherheitsnetz für viele wichtige Transaktionen im Internet verwendet werden.</p>
<p>Ich möchte hier in den nächsten Tagen mit einer Reihe von Blog-Postings auf die zahlreichen Möglichkeiten eingehen, wie man auf dem Mac und auch auf dem Mobiltelefon mit SSH arbeiten kann und erklären, warum man es auch tun sollte.</p>
]]></content:encoded>
			<wfw:commentRss>http://mobilemacs.de/2007/05/serie-ssh-als-allzweckwaffe.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Die neue Funkordnung</title>
		<link>http://mobilemacs.de/2007/04/die-neue-funkordnung.html</link>
		<comments>http://mobilemacs.de/2007/04/die-neue-funkordnung.html#comments</comments>
		<pubDate>Thu, 05 Apr 2007 09:16:37 +0000</pubDate>
		<dc:creator>Theodor Prinz</dc:creator>
				<category><![CDATA[Mac Software]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www2.mobile-macs.de/2007/04/die-neue-funkordnung.html</guid>
		<description><![CDATA[Es gibt ja Orte, da tummelt sich durchaus mehr als ein  [...]]]></description>
			<content:encoded><![CDATA[<p>Es gibt ja Orte, da tummelt sich durchaus mehr als ein Netz und es ist nicht so einfach, auf dem Mac schnell herauszufinden, welches WLAN-Netzwerk denn nun das stärkste ist. Klickt man in das WLAN-Symbol in der Menüleiste sieht man nur ein alphabetisch sortierte Liste. Das hilft nicht weiter.</p>
<p>Aber die Abhilfe ist näher als man denkt: drückt man gleichzeitig die Alt-Taste (auch als Option-, Weichen-, oder Gabeltaste bekannt), dann sortiert der Mac die Netze in der Reihenfolge ihrer Sendestärke, das stärkste vorne dran.</p>
<p>[<a href="http://db.tidbits.com/article/8934">via TidBits</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://mobilemacs.de/2007/04/die-neue-funkordnung.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
