<?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>Thomas Falkner &#187; Linux</title>
	<atom:link href="http://blog.thomas-falkner.de/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.thomas-falkner.de</link>
	<description>Marginalien zu  Linux, Webdesign und Softwareentwicklung</description>
	<lastBuildDate>Mon, 12 Jul 2010 16:14:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.3</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Vim: Datei trotz fehlender Schreibrechte speichern</title>
		<link>http://blog.thomas-falkner.de/2009/07/30/vim-datei-trotz-fehlender-schreibrechte-speichern/</link>
		<comments>http://blog.thomas-falkner.de/2009/07/30/vim-datei-trotz-fehlender-schreibrechte-speichern/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 20:50:33 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[produktivität]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/?p=239</guid>
		<description><![CDATA[Ich bekenne mich als vim-Fan. Abgesehen von Textmate  habe ich noch keinen Editor gefunden, mit dem ich &#228;hnlich produktiv arbeiten k&#246;nnte. Unter vim wurde bisweilen meine Produktivit&#228;t gelegentlich ein wenig gebremst: Schnell eine &#196;nderung in einer Server-Konfigurationsdatei vorgenommen, :win die Tastatur gehackt und vim quittiert es mit E212: Can't open file for writing. Mal [...]]]></description>
			<content:encoded><![CDATA[<p>Ich bekenne mich als <a href="http://www.vim.org/">vim</a>-Fan. Abgesehen von <a href="http://macromates.com/">Textmate </a> habe ich noch keinen Editor gefunden, mit dem ich &#228;hnlich produktiv arbeiten k&#246;nnte. Unter vim wurde bisweilen meine Produktivit&#228;t gelegentlich ein wenig gebremst: Schnell eine &#196;nderung in einer Server-Konfigurationsdatei vorgenommen, <tt>:w</tt>in die Tastatur gehackt und vim quittiert es mit <tt>E212: Can't open file for writing</tt>. Mal wieder die vergessen vim mit sudo zu starten. Zwar l&#228;sst sich die Datei problemlos unter einem tempor&#228;ren Dateinamen speichern und dann mit <tt>sudo mv</tt> verschieben, doch das kostet unn&#246;tig Zeit.</p>
<p>Viel eleganter und schneller l&#228;sst sich die Datei trotz mangelnder Zugriffsrechte direkt aus vim heraus abspeichern:<br />
<code>:w !sudo tee %</code></p>
<p>Ein kleine Befehlsfolge, die mir k&#252;nftig viel Zeit sparen wird. <img src='http://blog.thomas-falkner.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2009%2F07%2F30%2Fvim-datei-trotz-fehlender-schreibrechte-speichern%2F&amp;linkname=Vim%3A%20Datei%20trotz%20fehlender%20Schreibrechte%20speichern"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2009/07/30/vim-datei-trotz-fehlender-schreibrechte-speichern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>load average: 5.49, 4.99, 3.83</title>
		<link>http://blog.thomas-falkner.de/2009/06/08/load-average-549-499-383/</link>
		<comments>http://blog.thomas-falkner.de/2009/06/08/load-average-549-499-383/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 14:22:16 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux admin]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/?p=220</guid>
		<description><![CDATA[Ich bef&#252;rchte, das schreit nach einem neuen Datenbankserver. Ich habe noch nie einen so hohen Load gesehen:
16:18:35 up 276 days,  2:47,  2 users,  load average: 5.49, 4.99, 3.83
]]></description>
			<content:encoded><![CDATA[<p>Ich bef&#252;rchte, das schreit nach einem neuen Datenbankserver. Ich habe noch nie einen so hohen Load gesehen:</p>
<p><code>16:18:35 up 276 days,  2:47,  2 users,  load average: 5.49, 4.99, 3.83</code></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2009%2F06%2F08%2Fload-average-549-499-383%2F&amp;linkname=load%20average%3A%205.49%2C%204.99%2C%203.83"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2009/06/08/load-average-549-499-383/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux: Mehrere IP-Adressen an ein Netzwerkinterface binden</title>
		<link>http://blog.thomas-falkner.de/2008/08/25/linux-mehrere-ip-adressen-an-ein-netzwerkinterface-binden/</link>
		<comments>http://blog.thomas-falkner.de/2008/08/25/linux-mehrere-ip-adressen-an-ein-netzwerkinterface-binden/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 20:40:44 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[debain]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[netzwerk]]></category>
		<category><![CDATA[rootserver]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[tipps]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/?p=201</guid>
		<description><![CDATA[Manchmal ist es erforderlich mehrere IP-Adressen an ein Netzwerkinterface zu binden. Nur so lassen sich beispielsweise auf einem angemieteten Rootserver mit nur einer Netzwerkkarte Websites unter verschiedenen IP-Adressen hosten &#8211; Voraussetzung dabei ist selbstverst&#228;ndlich, dass der Hoster zus&#228;tzliche IP-Adressen zur Verf&#252;gung stellt.
Linux bietet mit dem Konzept der virtuellen Netzwerkinterfaces eine elegante L&#246;sung, um an einen [...]]]></description>
			<content:encoded><![CDATA[<p>Manchmal ist es erforderlich mehrere IP-Adressen an ein Netzwerkinterface zu binden. Nur so lassen sich beispielsweise auf einem angemieteten Rootserver mit nur einer Netzwerkkarte Websites unter verschiedenen IP-Adressen hosten &#8211; Voraussetzung dabei ist selbstverst&#228;ndlich, dass der Hoster zus&#228;tzliche IP-Adressen zur Verf&#252;gung stellt.</p>
<p>Linux bietet mit dem Konzept der virtuellen Netzwerkinterfaces eine elegante L&#246;sung, um an einen Netzwerkadapter viele IP-Adressen zu binden. Jede physikalisch Netzwerkkarte tr&#228;gt einen eindeutigen Namen, etwa <tt>eth0</tt> f&#252;r die erste Karte oder <tt>eth1</tt> f&#252;r die zweite Netzwerkkarte. F&#252;r jede physikalische Netzwerkarte lassen sich mehrere virtuelle Interfaces mit einer eigenen IP-Adresse konfigurieren. Dazu ist das physikalische Interface (<tt>eth0</tt>, <tt>eth1</tt>, <tt>eth2</tt> usw.) gefolgt von einem Doppelpunkt und der Nummer des zu erstellenden virtuellen Interface anzugeben.  So bezeichnet <tt>eth0:1</tt> das erste virtuelle Interface an der physikalischen Netzwerkkarte <tt>eth0</tt> und eth1:5 das f&#252;nfte virtuelle Interface an der zweiten Netzwerkkarte <tt>eth1</tt>.</p>
<p>Die virtuellen Netzwerkschnittstellen lassen sich mit den gleichen Werkzeugen konfigurieren, wie ihre physikalischen Pendants.</p>
<p>Um beispielsweise manuell die IP-Adresse <tt>192.168.35.100</tt> an die Netzwerkkarte <tt>eth0</tt> zu binden, gen&#252;gt es folgenden Befehl mit root-Rechten auszuf&#252;hren.</p>
<p><code>ifconfig eth0:1 192.168.35.200 netmask 255.255.255.0 broadcast 192.168.35.255 up</code></p>
<p>M&#246;chte man die manuell vorgenommene Konfiguration dauerhaft hinterlegen, w&#228;re unter Debian die <tt>/etc/network/interfaces</tt> wie folgt zu editieren:</p>
<p><code>auto eth0:1<br />
iface eth0:1 inet static<br />
        address 192.168.35.200<br />
        netmask 255.255.255.0<br />
        broadcast 192.163.35.255<br />
</code></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2008%2F08%2F25%2Flinux-mehrere-ip-adressen-an-ein-netzwerkinterface-binden%2F&amp;linkname=Linux%3A%20Mehrere%20IP-Adressen%20an%20ein%20Netzwerkinterface%20binden"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2008/08/25/linux-mehrere-ip-adressen-an-ein-netzwerkinterface-binden/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Auf nach Hannover</title>
		<link>http://blog.thomas-falkner.de/2008/04/19/auf-nach-hannover/</link>
		<comments>http://blog.thomas-falkner.de/2008/04/19/auf-nach-hannover/#comments</comments>
		<pubDate>Sat, 19 Apr 2008 21:35:34 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/2008/04/19/auf-nach-hannover/</guid>
		<description><![CDATA[Ab morgenfr&#252;h geht es auf nach Hannover zur Industrie- und Handelsmesse. Ich gestehe, dass mich langsam eine gewisse Nervosit&#228;t &#252;bermannt, denn die Pr&#228;sentation eines Produkts vor gro&#223;er &#214;ffentlichkeit ist noch Neuland f&#252;r mich. Und es wird gleich der Sprung ins kalte Wasser werden: Im Rahmen der Forschungs- und Technologiearena werde ich zwei Vortr&#228;ge &#252;ber die [...]]]></description>
			<content:encoded><![CDATA[<p>Ab morgenfr&#252;h geht es auf nach Hannover zur Industrie- und Handelsmesse. Ich gestehe, dass mich langsam eine gewisse Nervosit&#228;t &#252;bermannt, denn die Pr&#228;sentation eines Produkts vor gro&#223;er &#214;ffentlichkeit ist noch Neuland f&#252;r mich. Und es wird gleich der Sprung ins kalte Wasser werden: Im Rahmen der Forschungs- und Technologiearena werde ich zwei Vortr&#228;ge &#252;ber die Entwicklung barrierefreier Terminalsoftware halten und an einer Gespr&#228;chsrunde teilnehmen.Das Produkt selbst ist hochinteressant &#8211; wenn mir soviel Eigenwerbung gestattet sei: Ein elegantes Terminal, das durch seine elektronische H&#246;henverstellung  sowie optionale Integration einer Braillezeile Barrierefreiheit verspricht. Rollstuhlfahrer k&#246;nnen es ebenso nutzen wie blinde Menschen.Mir hat es gro&#223;e Freude bereitet von Anbeginn am Design und der Konzeption des Terminals beteiligt gewesen zu sein.  Unter anderem war es meine Aufgabe die Hardware zusammenzustellen und auf Basis von Debian-Linux eine f&#252;r den Einsatz auf Terminals optimierte Distribution zu entwickeln.  Dabei stellten sich mir viele neue Herausforderungen wie etwa die Integration und Ansteuerung eines M&#252;nzpr&#252;fers.  So nah an der Hardware zu programmieren war eine v&#246;llig neue Erfahrung f&#252;r mich und hat mein Interesse daran geweckt.</p>
<p>Weil meine Entw&#252;rfe zu einem Prospekt f&#252;r das Terminal gefielen, wurde ich mit der Gestaltung betraut. Auch das war Neuland f&#252;r mich, denn als Webdesigner bin ich Autodidakt und habe im Printdesign bislang noch keine gro&#223;en Erfahrungen sammeln k&#246;nnen.  Vor diesem Hintergrund bin ich mit den Prospekten ganz zufrieden. </p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2008%2F04%2F19%2Fauf-nach-hannover%2F&amp;linkname=Auf%20nach%20Hannover"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2008/04/19/auf-nach-hannover/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH absichern</title>
		<link>http://blog.thomas-falkner.de/2007/09/25/ssh-absichern/</link>
		<comments>http://blog.thomas-falkner.de/2007/09/25/ssh-absichern/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 17:36:23 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[rootserver]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/2007/09/25/ssh-absichern/</guid>
		<description><![CDATA[Vor einiger Zeit schon  habe ich mir vorgenommen etwas dar&#252;ber zu schreiben, wie ein Webserver abgesichert werden kann. Darum nehme ich die heute k&#252;rzlich gestellte Frage zum Anlass endlich damit zu beginnen und fange bei SSH an. Im folgenden beziehe ich mich auf die Implementierung OpenSSH. Die Konfiguration anderer Implementierung wie etwas SSH.com verl&#228;uft &#228;hnlich, [...]]]></description>
			<content:encoded><![CDATA[<p>Vor einiger Zeit schon  habe ich mir vorgenommen etwas dar&#252;ber zu schreiben, wie ein Webserver abgesichert werden kann. Darum nehme ich die<strike> heute</strike> k&#252;rzlich gestellte Frage zum Anlass endlich damit zu beginnen und fange bei SSH an. Im folgenden beziehe ich mich auf die Implementierung <a href="http://www.openssh.com/">OpenSSH</a>. Die Konfiguration anderer Implementierung wie etwas <a href="http://www.ssh.com/">SSH.com</a> verl&#228;uft &#228;hnlich, weicht jedoch im Detail ab.</p>
<p>Bevor wir beginnen, solltest du sicherstellen, dass du eine aktuelle SSH Version benutzt. Unter Debian gen&#252;gt dazu der Einzeiler <tt>apt-get update; apt-get dist-upgrade</tt>. Unter anderen Distributionen stehen &#228;hnliche Werkzeuge zum Update zur Verf&#252;gung wie etwas yast unter Suse.</p>
<p>Nun ist es an der Zeit die Konfigurationsdatei <tt>/etc/ssh/sshd_config</tt> zu bearbeiten. Ich werde im folgenden die sicherheitsrelevanten Optionen durchgehen und kurz kommentieren.</p>
<p><code>ListenAddress 217.79.182.18</code></p>
<p>Wenn ein Server mit mehr als einem Netzwerkinterface ausgestattet ist, kann es sinnvoll sein den Zugriff bestimmte Interfaces zu beschr&#228;nken. Beim klassischen Webserver d&#252;rfte das allerdings nicht der Fall sein.</p>
<p><code>Port 2222</code></p>
<p>Standardm&#228;&#223;ig lauscht der SSH-D&#228;mon auf Port 22. Viele Bruteforceattacken gegen ganze Netzwerksegmente k&#246;nnen durch Nutzung eines anderen Ports erfolgreich abgewehrt werden. Solche Angriffe gehen meist von Botnetzen oder bereits gekaperten Servern aus, die mit gro&#223;er Bandbreite tausende Logins gegen Port 22 feuern. Dabei werden  Standardbenutzernamen (admin, root, httpd, mail usw.) mit leerem Passwort oder Passw&#246;rter aus W&#246;rterb&#252;chern und Passwortlisten durchprobiert. Solche Angriffe k&#246;nnen zwar einen sicher konfigurierten Server nicht gef&#228;hrden, bl&#228;hen aber die Logdateien auf, f&#252;hren zu verminderten Reaktionszeiten und schlimmstenfalls k&#246;nnen sich legitimierte Benutzer ob der vielen Anfragen nicht &#252;ber SSH einloggen. Selbstverst&#228;ndlich bietet die Nutzung eines anderen Ports keinen Schutz gegen gezielte Brutforceangriffe, bei denen dem eigentlichen Angriff ein Portscan vorausgeht. Abhilfe k&#246;nnen hier zum Beispiel <a href="http://www.pettingers.org/code/sshblack.html">sshblack</a> schaffen oder eine Kombination von Snort, Netfilter und iptables. Da DoS-Attacken  kein SSH-spezifisches Problem sind, werde ich an dieser Stelle nicht weiter darauf eingehen.</p>
<p><code>Protocol 2</code></p>
<p>Die Version 1 des SSH-Protokoll enth&#228;lt Designschw&#228;chen, die einen unbefugten Login erm&#246;glichen, und sollte darum nicht benutzt werden.</p>
<p><code>PermitRootLogin no</code></p>
<p>Es ist eine gute Idee root den Zugang &#252;ber SSH zu verwehren. Denn wenn jemand gel&#228;nge sich &#252;ber SSH unbefugt Zugang zum Server zu verschaffen, k&#246;nnte er als unprivilegierter Nutzer nur begrenz Schaden anrichten. Da es ohnehin von Leichtsinn zeugt stets als root zu arbeiten, spricht auch wenig daf&#252;r den direkten Login als root zu erlauben. Wichtig ist auf einen frisch installierten System einen neuen Benutzer anzulegen, <strong>bevor</strong> wir &#252;ber <tt>PermitRootLogin no</tt> root vom SSH-Login ausschlie&#223;en.</p>
<p><code>AllowUsers tom thomasfalkner@thomas-falkner.de<br />
AllowGroups admin</code></p>
<p>Wenn nur bestimmte Nutzer sich via SSH auf dem Server einloggen d&#252;rfen, k&#246;nnen diese &#252;ber <tt>AllowUsers</tt> bestimmt werden. Wenn Benutzer nur von einem bestimmten Host aus Zugang zum Rechner erhalten sollen, kann dass &#252;ber <tt>user@host</tt> geregelt werden. Das kann sinnvoll sein, wenn ein Webdesigner sich nur aus dem Firmennetzwerk, nicht aber von zu Hause auf dem Server anmelden darf. Durch die Option <tt>AllowGroups</tt> kann der Login auf bestimmte Benutzergruppen beschr&#228;nkt werden.<br />
Sollen mehr Benutzer erlaubt als ausgeschlossen werden, ersparen die Gegenst&#252;cke zu <tt>AllowUsers</tt> und <tt>AllowGroups</tt>, <tt>DenyUsers</tt> und <tt>DenyGroups</tt>, eine Menge Tipparbeit.</p>
<p>Doch es ist nicht nur wichtig festzulegen, wer sich &#252;ber SSH anmelden darf, sondern auch welche Authentifizierungsverfahren dazu genutzt werden sollen. Hier greift die Regle: Alles deaktivieren, was nicht ben&#246;tigt wird.</p>
<p>Wer mit dem h&#246;chsten Sicherheitsstandard arbeiten m&#246;chten, sollte ausschlie&#223;lich die <tt>PubKeyAuthentication</tt> nutzen und alle anderen Authentifizierungsverfahren ausschalten.</p>
<p><code>RhostsRSAAuthentication no<br />
HostbasedAuthentication no<br />
KerberosAuthentication no<br />
GSSAPIAuthentication no<br />
RSAAuthentication no<br />
</code></p>
<p>Obwohl die meisten Optionen wie etwa <tt>RhostsRSAAuthentication</tt> per Default abgeschaltet sind, halte ich es f&#252;r sinnvoll sie explizit auf <em>no</em> zu setzen, um eine klare Konfiguration vor Augen zu haben. Ferner w&#228;re es t&#246;richt davon auszugehen, dass die Defaulteinstellungen sich bei neueren Versionen nicht &#228;ndern w&#252;rden. Updates sollten &#252;brigens ohnehin nie ungepr&#252;ft eingespielt werden.</p>
<p>Bevor wir die Passwort basierte Anmeldung mittels <tt>PasswordAuthentication no</tt> und <tt>UsePAM no</tt> vollst&#228;ndig deaktivieren, muss zuerst die Anmeldung &#252;ber <em>PubKey</em> konfiguriert und getestet werden &#8211; sonst laufen wir Gefahr uns selbst auszusperren.</p>
<p>Dazu erg&#228;nzen wir <tt>/etc/ssh/sshd_config</tt> wie folgt:</p>
<p><code>PubkeyAuthentication yes</code><br />
Damit wird die Authentifizierungs per RSA- oder DSA-Schl&#252;ssel aktiviert.</p>
<p><code>AuthorizedKeysFile %h/.ssh/authorized_keys</code></p>
<p>Gibt an, wo die &#246;ffentlichen Schl&#252;ssel auf dem Server gespeichert werden.<br />
Per Default im Homeverzeichnis des jeweiligen Benutzers unter <tt>.ssh/authorized_keys</tt>.</p>
<p>Nun sollte der der SSH-D&#228;mon neu gestartet werden: <tt>sudo /etc/init.d/sshd restart</tt></p>
<p>Damit ist der Server vorbereitet f&#252;r den passwortfreien Login &#252;ber Schl&#252;ssel.  Was fehlt ist der Schl&#252;ssel, oder genauer gesagt das Schl&#252;sselpaar. Da der private Teil des Schl&#252;ssels auf dem Client verbleibt und nur der &#246;ffentliche auf den Server kopiert wird, empfiehlt es sich das Schl&#252;sselpaar auf dem Client zu erzeugen.  Unter UNIX-Derivaten starten wir dazu unter dem Useraccount, der sich sp&#228;ter auf dem Server einloggen k&#246;nnen soll, <tt>ssh-keygen</tt>.</p>
<p><code>ssh-keygen -t dsa</code></p>
<p>Wenn die Voreinstellung best&#228;tigt wird, legt <tt>ssh-keygen</tt> den private Schl&#252;ssel id_dsa als auch den &#246;ffentlich id_dsa_pub unter <tt>~/.ssh</tt> ab. Die Frage nach der Passphrase kann mit 2x Return &#252;bergangen werden, wenn man den Schl&#252;ssel nicht mit einem Passwort sch&#252;tzen m&#246;chte. Eine generelle Empfehlung ob es sinnvoll ist den Schl&#252;ssel mit einem Passwort zu sch&#252;tzen oder nicht, ist schwer m&#246;glich. Wird kann Passwort vergeben, kann jeder sich auf dem Server anmelden, der in Besitz des Schl&#252;ssels ist. Soll hei&#223;en: Wird der Rechner, auf dem der private Schl&#252;ssel hinterlegt ist geknackt oder ger&#228;t in falsche H&#228;nde, steht dem Angreifer auch der Zugang zum Server offen.<br />
Sind die Schl&#252;ssel mit einem Passwort zus&#228;tzlich gesch&#252;tzt, m&#252;sste der Angreifer erst das Passwort per Bruteforce knacken &#8211; was bei ausreichend starken Passwort nicht in angemessener Zeit m&#246;glich ist.<br />
Das h&#246;here Ma&#223; an Sicherheit erkauft man sich jedoch mit der l&#228;stigen Eingabe des Passworts beim Login &#252;ber SSH.</p>
<p>Ist der Schl&#252;ssel je nach Gusto mit oder ohne Passpharse erzeugt, muss er auf den Server &#252;bertragen werden.</p>
<p>Zuerst pr&#252;fen wir, ob es in unserem Homeverzeichnis auf dem Server einen Order .ssh bereits gibt. Wenn nicht, legen wir ihn an. Dazu kann folgender Einzeiler vom Client aus abgesetzt werden:</p>
<p><code>ssh domain.tld -p2222 "test -d .ssh || mkdir .ssh &amp;&amp; chmod 700 .ssh"</code></p>
<p>Wie oben erw&#228;hnt, gehe ich davon aus, dass der User auf dem Client den gleichen Namen tr&#228;gt wie auf dem Server.<br />
Aus Sicherheitsgr&#252;nden ist es unerl&#228;sslich, dass die Zugriffsrechte des <tt>.ssh</tt>-Verzeichnisses auf 700 und die f&#252;r <tt>authorized_keys</tt> auf 600. Ferner m&#252;ssen sowohl Datei als auch Verzeichnis dem anzumeldenden User geh&#246;ren.<br />
Letztere Bedingung erf&#252;llen wir, indem wir Verzeichnis und Datei selbst anlegen, die Zugriffsrechte indes sollten wir explizit setzen.<br />
Auch das l&#228;sst sich zu einem Befehl zusammenfassen:<br />
<code>cat ~/.ssh/id_dsa_pub | ssh domain.tld -p2222 "cat &gt;&gt; .ssh/authorized_keys &amp;&amp; chmod  600 .ssh/authorized_keys"</code></p>
<p>Der passwortlose Login sollte damit funktionieren.</p>
<p>Zu den M&#246;glichkeiten von SSH l&#228;sst sich noch eine Menge schreiben. Zu gegebener Zeit an dieser Stelle mehr.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2007%2F09%2F25%2Fssh-absichern%2F&amp;linkname=SSH%20absichern"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2007/09/25/ssh-absichern/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>bye bye mod_php</title>
		<link>http://blog.thomas-falkner.de/2007/05/20/bye-bye-mod_php/</link>
		<comments>http://blog.thomas-falkner.de/2007/05/20/bye-bye-mod_php/#comments</comments>
		<pubDate>Sun, 20 May 2007 22:02:42 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[rootserver]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/2007/05/20/bye-bye-mod_php/</guid>
		<description><![CDATA[Ich habe meine PHP-Apache-Installationen von mod_php auf php_cgi umgestellt. Anlass zu diesem Schritt gab mir, dass ich keine befriedigende L&#246;sung gefunden habe, um beim Schreibzugriff auf Dateien mit PHP Berechtigungskonflikte zwischen Apache und dem User, dem die Dateien eigentlich geh&#246;ren sollten, auszul&#246;sen. Auch war mir schon lange ein Dorn im Auge, dass mod_php nicht mit [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe meine PHP-Apache-Installationen von mod_php auf php_cgi umgestellt. Anlass zu diesem Schritt gab mir, dass ich keine befriedigende L&#246;sung gefunden habe, um beim Schreibzugriff auf Dateien mit PHP Berechtigungskonflikte zwischen Apache und dem User, dem die Dateien eigentlich geh&#246;ren sollten, auszul&#246;sen. Auch war mir schon lange ein Dorn im Auge, dass mod_php nicht mit Threads umgehen kann und dazu zwingt zum ineffizienten Prefork-Modus zur&#252;ckzukehren. Damit f&#228;llt eine wesentliche Verbesserung von Apache2 gegen&#252;ber 1.3 weg.<br />
Und nicht zuletzt erscheint es mir in Hinblick auf die Serversicherheit keine gute Idee zu sein PHP mit den weitreichenden Befugnissen des Apache laufen zu lassen &#8211; zumal Restriktionen wie open_basedir leicht <a href="http://php-security.org/">umgangen</a> werden k&#246;nnen.</p>
<p>PHP als FastCGI einzubinden stellt zwar einen etwas h&#246;heren Konfigurationsaufwand gegen&#252;ber mod_php dar, der jedoch mit L&#246;sung der oben genannten Probleme belohnt wird. </p>
<p>Sobald ich mal wieder ein Quentchen mehr Zeit finde, werde ich ein Mini-Tuorial f&#252;r Debian 4 an dieser Stelle ver&#246;ffentlichen. Momentan bin ich noch damit befasst den Geschwindigkeitsunterschied zwischen mod_php und der FastCGI-Variante zu messen. </p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2007%2F05%2F20%2Fbye-bye-mod_php%2F&amp;linkname=bye%20bye%20mod_php"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2007/05/20/bye-bye-mod_php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>wget aufbohren: dotfiles per &#8211;mirror mitkopieren</title>
		<link>http://blog.thomas-falkner.de/2007/04/21/wget-aufbohren-dotfiles-per-mirror-mitkopieren/</link>
		<comments>http://blog.thomas-falkner.de/2007/04/21/wget-aufbohren-dotfiles-per-mirror-mitkopieren/#comments</comments>
		<pubDate>Sat, 21 Apr 2007 14:15:34 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[open_source]]></category>
		<category><![CDATA[rootserver]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[wget]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/2007/04/21/wget-aufbohren-dotfiles-per-mirror-mitkopieren/</guid>
		<description><![CDATA[Ich benutze GNU wget gerne um verschiedene Websites per FTP mit dem Parameter --mirror zu spiegeln. Leider werden dabei versteckte Dateien (so genannte dotfiles) wie etwa .htaccess nicht ber&#252;cksichtigt. Nach eingehendem Studium der manpage stellte ich entt&#228;uscht fest, dass wget tats&#228;chlich keine Option zur L&#246;sung des Problem vorsieht. 
Aber zum Gl&#252;ck l&#228;sst sich GNU wget [...]]]></description>
			<content:encoded><![CDATA[<p>Ich benutze <a href="http://www.gnu.org/software/wget/wget.html">GNU wget</a> gerne um verschiedene Websites per FTP mit dem Parameter <tt>--mirror</tt> zu spiegeln. Leider werden dabei <em>versteckte</em> Dateien (so genannte dotfiles) wie etwa <tt>.htaccess</tt> nicht ber&#252;cksichtigt. Nach eingehendem Studium der manpage stellte ich entt&#228;uscht fest, dass wget tats&#228;chlich keine Option zur L&#246;sung des Problem vorsieht. </p>
<p>Aber zum Gl&#252;ck l&#228;sst sich GNU wget als Open-Source-Software an die eigenen Bed&#252;rfnisse anpassen, so dass ich folgenden <a href="http://www.catb.org/~esr/jargon/html/Q/quick-and-dirty.html">q&#038;d </a>Patch "entwickelte". </p>
<div class="igBar"><span id="lcode-2"><a href="#" onclick="javascript:showPlainTxt('code-2'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-2">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">--- wget-<span style="color:#800000;color:#800000;">1</span>.<span style="color:#800000;color:#800000;">10</span>.<span style="color:#800000;color:#800000;">2</span>_orig/src/ftp-basic.<span style="">c</span>&nbsp; &nbsp; &nbsp;<span style="color:#800000;color:#800000;">2005</span>-<span style="color:#800000;color:#800000;">06</span>-<span style="color:#800000;color:#800000;">19</span> <span style="color:#800000;color:#800000;">15</span>:<span style="color:#800000;color:#800000;">47</span>:<span style="color:#800000;color:#800000;">10</span>.<span style="color:#800000;color:#800000;">000000000</span> +<span style="color:#800000;color:#800000;">0200</span></div>
</li>
<li style="font-weight: bold;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+++ wget-<span style="color:#800000;color:#800000;">1</span>.<span style="color:#800000;color:#800000;">10</span>.<span style="color:#800000;color:#800000;">2</span>/src/ftp-basic.<span style="">c</span> <span style="color:#800000;color:#800000;">2007</span>-<span style="color:#800000;color:#800000;">04</span>-<span style="color:#800000;color:#800000;">21</span> <span style="color:#800000;color:#800000;">14</span>:<span style="color:#800000;color:#800000;">17</span>:<span style="color:#800000;color:#800000;">33</span>.<span style="color:#800000;color:#800000;">000000000</span> +<span style="color:#800000;color:#800000;">0200</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">@@ -<span style="color:#800000;color:#800000;">977</span>,<span style="color:#800000;color:#800000;">7</span> +<span style="color:#800000;color:#800000;">977</span>,<span style="color:#800000;color:#800000;">7</span> @@</div>
</li>
<li style="font-weight: bold;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;uerr_t err;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color:#008000;">/* Send LIST request.&nbsp; */</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">-&nbsp; request = ftp_request <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC0000;">"LIST"</span>, file<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+&nbsp; request = ftp_request <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC0000;">"LIST -a"</span>, file<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;nwritten = fd_write <span style="color:#006600; font-weight:bold;">&#40;</span>csock, request, strlen <span style="color:#006600; font-weight:bold;">&#40;</span>request<span style="color:#006600; font-weight:bold;">&#41;</span>, -<span style="color:#800000;color:#800000;">1</span>.<span style="color:#800000;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;if <span style="color:#006600; font-weight:bold;">&#40;</span>nwritten &lt;<span style="color:#800000;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:PROJECT;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#123;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p><code><br />
wget ftp://ftp.gnu.org/pub/gnu/wget/wget-1.10.2.tar.gz<br />
tar -xzf wget-1.10.2.tar.gz<br />
patch -p0 < wget-1.10.2_dotfiles<br />
./configure<br />
make<br />
make install<br />
</code></p>
<p>Es gen&#252;gt also <tt>LIST -a</tt> anstatt <tt>LIST</tt> an den FTP-Server zu senden, um wget zu &#252;berreden auch dotfiles rekursiv zu kopieren.<br />
Der Patch ist - wie gesagt - ein &#252;bler Hack, der mir zur schnellen L&#246;sung eines Problems dienen solle. F&#252;r mich funktioniert er gut. Perspektivisch w&#228;re es jedoch w&#252;nschenswert durch einen Parameter zwischen <tt>LIST</tt> und  <tt>LIST -a</tt> w&#228;hlen zu k&#246;nnen. Nach meiner m&#252;ndlichen Diplompr&#252;fung werde ich das sauber implementieren und als Feature vorschlagen.    </p>
<p>EDIT 16:40: <a href="http://www.unixwiz.net/techtips/wget-dotfiles.html">Hier</a> gibt es einen sauberen Patch, allerdings nur f&#252;r Version 1.9.1. Doch es sollte nicht allzu schwer fallen ihn auf die aktuelle Version zu portieren.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2007%2F04%2F21%2Fwget-aufbohren-dotfiles-per-mirror-mitkopieren%2F&amp;linkname=wget%20aufbohren%3A%20dotfiles%20per%20%26%238211%3Bmirror%20mitkopieren"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2007/04/21/wget-aufbohren-dotfiles-per-mirror-mitkopieren/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Unable to create temporary directory</title>
		<link>http://blog.thomas-falkner.de/2007/04/13/unable-to-create-temporary-directory/</link>
		<comments>http://blog.thomas-falkner.de/2007/04/13/unable-to-create-temporary-directory/#comments</comments>
		<pubDate>Fri, 13 Apr 2007 16:46:38 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Netzwelt]]></category>
		<category><![CDATA[foren]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/2007/04/13/unable-to-create-temporary-directory/</guid>
		<description><![CDATA[Wenn Windowsuser PHP lernen und daf&#252;r gleich einen Rootserver anmieten, muss das in einer Katastrophe enden.
]]></description>
			<content:encoded><![CDATA[<p>Wenn Windowsuser PHP lernen und daf&#252;r gleich einen Rootserver anmieten, muss das in einer <a href="http://www.rootforum.de/forum/viewtopic.php?t=40195">Katastrophe</a> enden.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2007%2F04%2F13%2Funable-to-create-temporary-directory%2F&amp;linkname=Unable%20to%20create%20temporary%20directory"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2007/04/13/unable-to-create-temporary-directory/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Zeichens&#228;tze bequem konvertieren</title>
		<link>http://blog.thomas-falkner.de/2007/03/21/zeichensaetze-bequem-konvertieren/</link>
		<comments>http://blog.thomas-falkner.de/2007/03/21/zeichensaetze-bequem-konvertieren/#comments</comments>
		<pubDate>Wed, 21 Mar 2007 10:52:25 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[programmieren]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/2007/03/21/zeichensaetze-bequem-konvertieren/</guid>
		<description><![CDATA[Eine bequeme M&#246;glichkeit Zeichens&#228;tze zu konvertieren kommt nat&#252;rlich aus der UNIX-Welt: iconv
K&#252;rzlich wurde ich mit der Migration eines CRM beauftragt. Das alte CRM speicherte die Daten ISO 8859-1 codiert ab, das neue in UTF-8. 
Hier die L&#246;sung:
iconv -f iso-8859-1 -t utf-8  crm8859-1.sql > crmUTF-8.sql
Das SQL-Dump war &#252;brigens > 2 GB,  iconv eignet sich [...]]]></description>
			<content:encoded><![CDATA[<p>Eine bequeme M&#246;glichkeit Zeichens&#228;tze zu konvertieren kommt nat&#252;rlich aus der UNIX-Welt: <a href="http://www.gnu.org/software/libiconv/">iconv</a></p>
<p>K&#252;rzlich wurde ich mit der Migration eines <a href="http://de.wikipedia.org/wiki/Kundenbeziehungsmanagement">CRM</a> beauftragt. Das alte CRM speicherte die Daten <a href="http://de.wikipedia.org/wiki/ISO_8859-1">ISO 8859-1</a> codiert ab, das neue in <a href="http://de.wikipedia.org/wiki/UTF-8">UTF-8</a>. </p>
<p>Hier die L&#246;sung:</p>
<p><code>iconv -f iso-8859-1 -t utf-8  crm8859-1.sql > crmUTF-8.sql</code></p>
<p>Das SQL-Dump war &#252;brigens > 2 GB,  <tt>iconv</tt> eignet sich im Gegensatz zu vielen anderen Tools auch f&#252;r umfangreichere Datenmengen.<br />
<tt>Iconv</tt> l&#228;sst sich &#252;brigens auch &#252;ber viele Scriptsprachen wie etwa PHP, Perl oder Ruby benutzen. </p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2007%2F03%2F21%2Fzeichensaetze-bequem-konvertieren%2F&amp;linkname=Zeichens%26%23228%3Btze%20bequem%20konvertieren"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2007/03/21/zeichensaetze-bequem-konvertieren/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Linux-Firewalls &#8211; Ein praktischer Einstieg</title>
		<link>http://blog.thomas-falkner.de/2007/03/18/linux-firewalls-ein-praktischer-einstieg/</link>
		<comments>http://blog.thomas-falkner.de/2007/03/18/linux-firewalls-ein-praktischer-einstieg/#comments</comments>
		<pubDate>Sun, 18 Mar 2007 12:47:45 +0000</pubDate>
		<dc:creator>Thomas Falkner</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[openbooks]]></category>
		<category><![CDATA[Rezension]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://blog.thomas-falkner.de/2007/03/18/linux-firewalls-ein-praktischer-einstieg/</guid>
		<description><![CDATA[ O'Reilly bietet Linux-Firewalls - Ein praktischer Einstieg als OpenBook zum kostenlosen Download an. Das Buch bietet auf 692 Seiten alles, was der Einsteiger zum Einrichten, Konfigurieren und Warten einer Firewall unter Linux wissen sollte. Nachdem der Autor Andreas Lessig dem Leser erkl&#228;rt hat, was Firewalls sind und gegen welche Art von Angriffen sie sch&#252;tzen [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.oreilly.de/catalog/covers/linuxfire2ger.s.gif" alt="Linux-Firewalls - Ein praktischer Einstieg"  style="float:right; margin-left:5px;"/> O'Reilly bietet <a href="http://www.oreilly.de/german/freebooks/linuxfire2ger/">Linux-Firewalls - Ein praktischer Einstieg</a> als OpenBook zum kostenlosen Download an. Das Buch bietet auf 692 Seiten alles, was der Einsteiger zum Einrichten, Konfigurieren und Warten einer Firewall unter Linux wissen sollte. Nachdem der Autor Andreas Lessig dem Leser erkl&#228;rt hat, was Firewalls sind und gegen welche Art von Angriffen sie sch&#252;tzen k&#246;nnen, geht er dazu &#252;ber Grundlagenwissen &#252;ber Netzwerke zu vermitteln. Aufbauend auf einen kurzen, theoretischen Abriss &#252;ber Firewalls wird der Leser durch die Installation und Konfiguration eines sicheren Linuxsystems, am Beispiel von SuSE 9.3 und Debian 3.1 gef&#252;hrt. Dieser Abschnitt nimmt meines Empfindens zuviel Raum im Buch ein. Installation und Konfiguration eines Linuxsystems werden in anderen B&#252;chern ausf&#252;hrlicher und besser beschrieben, so dass Verweise auf auf weitere Literatur gen&#252;gt h&#228;tten. </p>
<p>Erst in den Kapitel 11 und 12 kommt Andreas Lessig auf die Konfiguration einer Firewall mithilfe von ipchains und iptables zu sprechen. Die Ausf&#252;hrungen dazu sind ausf&#252;hrlich, umfassend und verst&#228;ndlich. Die Kapitel &#252;ber Tests von Firewalls und dauerhafter Absicherung des Systems runden das Buch ab.</p>
<p>F&#252;r Einsteiger ist das Buch sehr gut geeignet, um sich in den Themenkomplex Paketfilter und Firewalls unter Linux einzuarbeiten, fortgeschrittene Anwender sowie Administratoren d&#252;rften jedoch wenig neues erfahren. So ist der Untertitel "Ein praktischer Einstieg" auch seht gut gew&#228;hlt. </p>
<p>Das Buch wird als LaTeX-Dokument angeboten, um es als PDF lesen zu k&#246;nnen, muss eine LaTeX-Distribution auf dem Rechner installiert sein. Mit <tt>make pdf</tt> ist das Buch dann jedoch schnell kompiliert. </p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.thomas-falkner.de%2F2007%2F03%2F18%2Flinux-firewalls-ein-praktischer-einstieg%2F&amp;linkname=Linux-Firewalls%20%26%238211%3B%20Ein%20praktischer%20Einstieg"><img src="http://blog.thomas-falkner.de/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://blog.thomas-falkner.de/2007/03/18/linux-firewalls-ein-praktischer-einstieg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
