<?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:series="http://unfoldingneurons.com/"
	>

<channel>
	<title>Bits, Bytes and my 5 cents &#187; Netzwerk</title>
	<atom:link href="http://blog.encodingit.ch/tag/netzwerk/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.encodingit.ch</link>
	<description>Life is just a technical game</description>
	<lastBuildDate>Thu, 02 Feb 2012 16:28:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Domain Name System mit Bind9</title>
		<link>http://blog.encodingit.ch/2011/03/domain-name-system-mit-bind9/</link>
		<comments>http://blog.encodingit.ch/2011/03/domain-name-system-mit-bind9/#comments</comments>
		<pubDate>Fri, 04 Mar 2011 08:04:45 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[LPIC]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[LPIC 201]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://blog.encodingit.ch/?p=1723</guid>
		<description><![CDATA[Also will ich mich mal ans repetieren machen und beginne mit DNS, genauer Bind9 einrichten und konfigurieren. Später folgen dann nach und nach noch all die anderen Themen, wodurch eine Artikelserie daraus werden wird.

Doch zuerst zu DNS! Obwohl eigentlich sollte man es eher als Namensauflösung bezeichnen, denn es werden noch Dienste wie NIS oder Dateien wie /etc/hosts angesprochen.<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Zur Zeit bereite ich mich wieder auf eine neue LPI-Prüfung vor, dieses Jahr steht Nummer 201 an. Darin geht es um <a target="_blank" href="http://www.lpi.org/eng/certification/the_lpic_program/lpic_2/exam_201_detailed_objectives" >Themen</a> wie Linux Kernel kompilieren, patchen, Source kompilieren, Kernelmodule, Startup-Scripts, Grubshell, Filesystem, RAID und LVM oder Netzwerkkonfiguration und DNS.<br />
Eigentlich alles gar nicht so schwer, wäre da nur nicht die Tatsache, dass keine Unterlagen verwendet werden dürfen!</p>
<p>Also will ich mich mal ans repetieren machen und beginne mit DNS, genauer Bind9 einrichten und konfigurieren. Später folgen dann nach und nach noch all die anderen Themen, wodurch eine Artikelserie daraus werden wird.</p>
<p>Doch zuerst zu DNS! Obwohl eigentlich sollte man es eher als Namensauflösung bezeichnen, denn es werden noch Dienste wie NIS oder Dateien wie /etc/hosts angesprochen.</p>
<p>Aber alles von vorne! Also die einfachste Möglichkeit zum eine IP-Adresse auflösen ist über die Hosts-Datei unter /etc/hosts. Diese könnte in etwa so aussehen:</p>
<pre class="brush: bash; title: ; notranslate">
root@master:/etc# cat /etc/hosts
127.0.0.1	localhost
127.0.1.1	master.encodingit.ch	master

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
</pre>
<p>Jedoch wenn man mehr als nur ein, zwei Computer hat, so ist es relativ mühsam auf jedem diese Datei von Hand zu pflegen. Auch Sun bemerkte dies und entwickelte NIS (<a href="http://blog.encodingit.ch/2010/05/der-ur-verzeichnisdienst-nis-yp/" >darüber habe ich schon mal geschrieben</a>).<br />
Doch als auch das nicht mehr reichte, kam man zu DNS.<br />
Einfach gesagt ist es eine Hosts-Datei, welche an einem zentralen Ort verwaltet werden kann und von jeder Maschine bei Bedarf geladen wird. Komplizierter gesagt: dazu kommen wir noch <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Die wichtigsten Dateien für die Namensauflösung auf einem Client wären dabei:</p>
<blockquote><p>/etc/hosts > verantwortlich für die lokale Namensauflösung.<br />
/etc/resolv.conf > gibt an, welche Nameserver angefragt und welche Domains durchsucht werden sollen.<br />
/etc/nsswitch.conf > definiert die Reihenfolge ob zuerst der DNS, NIS oder die Hosts-Datei bei der Auflösung berücksichtigt werden soll.</p></blockquote>
<p>Dies war alles auf dem Client &#8211; nun aber zu unserem DNS Server. Zuerst mal installieren:</p>
<pre class="brush: bash; title: ; notranslate">
apt-get install bind9
</pre>
<p><span id="more-1723"></span></p>
<p>Gestartet wird der Dienst entweder über /usr/sbin/named oder über /etc/init.d/bind9 (unter Debian). Doch nach der Installation läuft er sowieso standardmässig.</p>
<p>Die Konfiguration ist ganz amüsant! LPIC will sich ja nicht auf eine Distribution festlegen, deshalb gibt es bei einem typischen Beispiel wie bind immer wieder Unterschiede.<br />
Unter Debian (unter welchem ich die Installationen gerade durchführe) liegt alles wie gewohnt unter /etc/bind. RedHat oder Suse packen die Konfigurationsdateien aber in /etc/named.conf und die Zonendateien in /var/named. Viel Spass beim Suchen <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Unter Debian läuft die Konfiguration von Bind und der Zonen in zwei einzelnen Files ab:</p>
<blockquote><p>named.conf.options > Darin werden alle Einstellungen definiert, wie sich der DNS-Server zu verhalten hat<br />
named.conf.local > Hier werden all die Einstellungen zu den Zonen definiert</p></blockquote>
<p>Nun wollen wir aber auch unser erstes Zonen-File anlegen.<br />
Zuerst der Forward Lookup von Domain -> IP. Dazu legen wir eine Datei in das Verzeichnis /etc/bind mit dem Namen unserer Domain:</p>
<pre class="brush: bash; title: ; notranslate">touch /etc/bind/encodingit.ch</pre>
<p>Diese befüllen wir nun mit dem DNS-Syntax, welcher sehr akribisch eingehalten werden muss:</p>
<pre class="brush: bash; title: ; notranslate">$TTL 2d
@ IN SOA master.encodingit.ch. root.encodingit.ch. (
               2011030401       ; serial
               3h               ; refresh
               1h               ; retry
               1w               ; expiry
               1d )             ; minimum

@              IN NS   master.encodingit.ch.
master          IN A    192.168.1.20</pre>
<p>Die Datei ist bei jeder Zone immer gleich aufgebaut. Auf der ersten Zeile wird die Time-To-Life festgelegt, Dann folgen Angaben über den DNS und die Email-Adresse des Admins (mit . anstatt @). Weiter geht es mit einer eindeutigen Nummer, Standardangaben und dann endlich die eigentlichen Lookups.<br />
Zuerst wird ein NS-Record für die Domain angelegt, danach wird der Name über einen A-Record einer IP zugewiesen.</p>
<p>Nun müssen wir noch den Reverse Lookup einrichten. Dazu machen wir wieder eine neue Datei:</p>
<pre class="brush: bash; title: ; notranslate">touch /etc/bind/1.168.192.in-addr.arpa</pre>
<p>Und befüllen auch diese:</p>
<pre class="brush: bash; title: ; notranslate">$TTL 2d
@ IN SOA master.encodingit.ch. root.encodingit.ch. (
               2011030401       ; serial
               3h               ; refresh
               1h               ; retry
               1w               ; expiry
               1d )             ; minimum

@     IN NS master.encodingit.ch.
20	   IN PTR		master.encodingit.ch.</pre>
<p>Nachdem die Zonen nun angelegt sind, muss man den DNS auch noch dazu zwingen, diese zu kennen. Dazu muss die named.conf.local mit einem Eintrag wie dem folgenden ergänzt werden:</p>
<pre class="brush: bash; title: ; notranslate">zone &quot;encodingit.ch&quot; {
type master;
file &quot;/etc/bind/encodingit.ch&quot;;
};

zone &quot;1.168.192.in-addr.arpa&quot; {
type master;
file &quot;/etc/bind/1.168.192.in-addr.arpa&quot;;
};</pre>
<p>Nun muss noch bind neu gestartet und dann der Client auf den neuen DNS gewechselt werden:</p>
<pre class="brush: bash; title: ; notranslate">/etc/init.d/bind9 restart
echo &quot;domain encodingit.ch&quot; &gt; /etc/resolv.conf
echo &quot;nameserver 127.0.0.1&quot; &gt;&gt; /etc/resolv.conf</pre>
<p>Und schon ist der DNS bereit!</p>
<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.encodingit.ch/2011/03/domain-name-system-mit-bind9/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<series:name><![CDATA[Vorbereitung LPIC 201]]></series:name>
	</item>
		<item>
		<title>Wenn man einfach abschreibt&#8230;</title>
		<link>http://blog.encodingit.ch/2011/02/wenn-man-einfach-abschreibt/</link>
		<comments>http://blog.encodingit.ch/2011/02/wenn-man-einfach-abschreibt/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 07:42:01 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Hochrechnung]]></category>
		<category><![CDATA[Magazin]]></category>
		<category><![CDATA[Netzwerk]]></category>

		<guid isPermaLink="false">http://blog.encodingit.ch/?p=1551</guid>
		<description><![CDATA[Ich mag irren, aber hier geht doch etwas nicht ganz auf...
Denn:

1,37 Gigabit = 0.17125 Gigabyte

Geht man nun von einem sehr kleinen Full-HD-Film aus mit einer Grosse von etwa 4 Gigabyte so hätte man, um diesen zu übertragen, alleine schon über 20 Sekunden...<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Soeben bin ich auf <a target="_blank" href="http://www.itreseller.ch/Artikel/66516/Cablecom_erreicht_1,37_Gbits_ueber_Fernsehkabel.html" >diesen Beitrag</a> gestossen.<br />
Die News an sich interessiert nur zweitrangig, was mich aber ein bisschen stutzig macht, ist die folgende Hochrechnung:</p>
<blockquote><p>[...] eine Internetgeschwindigkeit von 1,37 Gigabit pro Sekunde erreicht [...] Mit dieser Geschwindigkeit lässt sich beispielsweise ein HD-Film in weniger als 5 Sekunden herunterladen [...]</p></blockquote>
<p>Ich mag irren, aber hier geht doch etwas nicht ganz auf&#8230;</p>
<blockquote><p>1,37 Gigabit = 0.17125 Gigabyte</p></blockquote>
<p>Geht man nun von einem sehr komprimierten HD-Film aus mit einer Grösse von etwa 4 Gigabyte so hätte man, um diesen zu übertragen, alleine schon über 20 Sekunden&#8230;</p>
<blockquote><p>4 / 0.17125 = 23.357664234 Sekunden</p></blockquote>
<p>Besonders lustig daran ist, dass <a target="_blank" href="http://www.google.com/search?q=%221%2C37+Gigabit+pro+Sekunde%22&#038;ie=utf-8&#038;oe=utf-8&#038;aq=t&#038;rls=org.mozilla:de:official&#038;client=firefox-a#sclient=psy&#038;hl=de&#038;client=firefox-a&#038;rls=org.mozilla:de%3Aofficial&#038;q=%221%2C37+Gigabit+pro+Sekunde%22&#038;aq=f&#038;aqi=&#038;aql=&#038;oq=&#038;pbx=1&#038;fp=e2a793fbc801c7e9" >viele IT-Magazine diese News</a> anscheinend von der selben Quelle haben; welche genau das ist, versuche ich noch raus zu bekommen.</p>
<p>Aber eigentlich bin ich der Meinung, dass ein solch grober Schnitzer bei einer Fachzeitschrift nicht passieren darf&#8230;</p>
<p><strong>Update 09:17</strong><br />
Wie es scheint, sitzt der Wurm direkt bei Cablecom. So taucht der Fehler schon in der offiziellen <a href="http://blog.encodingit.ch/wp-content/uploads/2011/02/cablecom_medienmitteilung_2011_02_14.pdf" >Pressemiteilung</a> selbst auf.<br />
Ich warte noch auf eine Stellungnahme von Cablecom!</p>
<p><strong>Update 09:43</strong><br />
Klang heimlich hat man nun den <a target="_blank" href="http://www.cablecom.ch/b2c/about/media.htm?newsitem=219" >offiziellen Pressetext</a> angepasst. Zum Glück habe ich oben noch eine PDF-Version verlinkt <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Eine Stellungnahme habe ich bisher aber immer noch nicht erhalten von Cablecom&#8230;</p>
<p>Aber so langsam frage ich mich echt über das Knowhow dieser Firma.<br />
So hat man nun für die Ladezeit eines HD-Filmes einfach die von mir gemeldeten 20 Sekunden eingesetzt.</p>
<p>Das ich aber geschrieben habe &#8220;mehr als 20 Sekunden&#8221; hat man ignoriert.<br />
So steht nun folgendes auf der <a href="http://blog.encodingit.ch/wp-content/uploads/2011/02/cablecom_medienmitteilung_2011_02_142.pdf" >Seite</a>:</p>
<blockquote><p>Mit dieser Geschwindigkeit lässt sich beispielsweise ein HD-Film in <strong>weniger</strong> als 20 Sekunden herunterladen oder mehr als 100 Lieblings-Songs in weniger als 1 Sekunde.</p></blockquote>
<p>Stimmt also immer noch nicht!<br />
Hätte der Zuständige beim Korrigieren nun noch seinen Kopf eingesetzt, so wären nämlich noch mehr Ungereimtheiten aufgetaucht!</p>
<blockquote><p>100 Songs in 1 Sekunde<br />
1 Song à 5 Megabyte</p></blockquote>
<p>Das macht nach Adam Riese für alle Songs zusammen 500 Megabyte mit einem Durchsatz von  0.17125 Gigabyte / Sekunde eine Dauer von etwa 3 Sekunden&#8230;</p>
<p>Irgendwie armselig, wie wenig da mitgedacht wird! Hätte ich 10 Sekunden geschrieben, so würde in der Pressemitteilung nun sehr wahrscheinlich 10 Sekunden stehen&#8230;</p>
<p><strong>Update 10:38</strong></p>
<p>Soeben habe ich eine Nachricht von Cablecom erreicht! Vorweg möchte ich sagen, ein &#8220;Danke für den Hinweis&#8221; hätte gereicht, aber die Erklärungsversuche dieses netten Mitarbeiters machen alles nur noch schlimmer!</p>
<p>Ich zitiere einfach mal und fange beim ersten Satz an.</p>
<blockquote><p>Wir sind für die Berechnung des Downloads von einer File-Grösse von rund 850Mb ausgegangen</p></blockquote>
<p>Also den HD-Film mit 850 Megabyte möchte ich sehen&#8230;</p>
<blockquote><p>Wir sind damit wohl etwas tief gelegen</p></blockquote>
<p>Ach nee?? <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<blockquote><p>Wir haben daher neue Erkundigungen eingeholt und dabei den Grossteil der Filme (720p) auf Plattformen bei Dateigrössen zwischen 1 und 4 GB eingestuft</p></blockquote>
<p>Was auch immer das für Plattformen sein mögen, lassen wir mal aussenvor. Aber HD ist bei mir im Normalfall zwischen 4 &#8211; 8 Gigabyte gross&#8230;</p>
<p>Ich frage mich gerade, ob ich dem geschätzten Mitarbeiter das wirklich noch erklären soll&#8230;</p>
<p><strong>Update 11:05</strong></p>
<p>Mittlerweile hat auch Swiss IT Magazine und Swiss IT Reseller ein kritisches Auge auf ihren Beitrag geworfen und diesen korrigiert.<br />
Dieser Dachverband für viele IT-Fachseiten ist immerhin professionell genug ein Update zu veröffentlichen und nicht die Beiträge heimlich anzupassen!</p>
<p><strong>Update 16.2.2011 16:45</strong></p>
<p>Heise.de kommt wie die alte Fasnacht nach und kopiert den selben Fehler natürlich auch noch:</p>
<blockquote><p>Letztere soll sich speziell für IP-Videoservices eignen. So wurde im Test denn auch ein kompletter HD-Film in nur fünf Sekunden übertragen.</p></blockquote>
<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.encodingit.ch/2011/02/wenn-man-einfach-abschreibt/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Cisco running-config sichern</title>
		<link>http://blog.encodingit.ch/2010/10/cisco-running_config-sichern/</link>
		<comments>http://blog.encodingit.ch/2010/10/cisco-running_config-sichern/#comments</comments>
		<pubDate>Fri, 08 Oct 2010 16:58:20 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Cisco]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[running-config]]></category>

		<guid isPermaLink="false">http://blog.encodingit.ch/?p=1064</guid>
		<description><![CDATA[Wer schon mal mit Cisco Geräten gearbeitet hat, wird das Problem kennen! Die Komponente wird nach langen Konfigurationen neu gestartet &#8211; Ups! Die running_config wurde nicht in den Speicher geschrieben&#8230; Der Aufwand von Stunden wurde somit innert Sekunden zerstört. Hätte man doch nur die Konfiguration vorweg mal gesichert&#8230; Doch da kann Abhilfe geschaffen werden! Um [...]<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Wer schon mal mit Cisco Geräten gearbeitet hat, wird das Problem kennen! Die Komponente wird nach langen Konfigurationen neu gestartet &#8211; Ups! Die running_config wurde nicht in den Speicher geschrieben&#8230; Der Aufwand von Stunden wurde somit innert Sekunden zerstört. Hätte man doch nur die Konfiguration vorweg mal gesichert&#8230;</p>
<p>Doch da kann Abhilfe geschaffen werden!<br />
Um auf einfache Art und Weise die Konfiguration von einer Cisco Netzwerkkomponente zu sichern bietet sich TFTP an. Wer es etwas sicherer mag, der könnte natürlich auch FTP verwenden, jedoch wenn der Server nur für diese eine Funktion verwendet wird, so ist dies nicht zwingend nötig und verursacht nur mehr Aufwand.</p>
<p>Alles was ich dazu brauche ist neben meinen Netzwerkkomponenten ein TFTP-Server, wobei ich mich für Debian entschieden habe. Hierzu könnte aber auch Ubuntu, RedHat oder andere Distributionen verwendet werden. Mit TFTPD32 gibt es sogar eine Version für windowsbasierte Systeme.</p>
<p>Dazu muss zuerst der Server installiert werden:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> tftpd</pre></td></tr></table></div>

<p>Nun noch den Ordner für TFTP einstellen und schon fast fertig. Dazu kann in der Datei /etc/inetd.conf der letzte Punkt unter TFTP angepasst werden, auf was auch immer es euch beliebt <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> :</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">tftp  dgram   udp     <span style="color: #7a0874; font-weight: bold;">wait</span>    nobody  <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>tcpd  in.tftpd <span style="color: #000000; font-weight: bold;">/</span>tftpboot</pre></td></tr></table></div>

<p>Danach muss auf den entsprechenden Ordner noch die passenden Zugriffsrechte vergeben werden:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #660033;">-R</span> <span style="color: #000000;">777</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>tcpd<span style="color: #000000; font-weight: bold;">/</span></pre></td></tr></table></div>

<p>Nun kann auf dem Switch die Konfiguration übertragen werden:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="ios" style="font-family:monospace;">Router#copy running-config tftp:
Address or name of remote host []? 192.168.1.1
Destination filename [Router-confg]? routerconf
&nbsp;
Writing running-config...!!
[OK - 463 bytes]
&nbsp;
463 bytes copied in 0.008 secs (57000 bytes/sec)
Router#</pre></td></tr></table></div>

<p>Damit aber das nicht immer manuell gemacht werden muss, wird der Befehl zeitgesteuert immer wieder ausgeführt.</p>
<p>Dafür kann Kron verwendet werden, welche seit IOS Version 12.3.1 integriert ist. Leider sind alle IOS im Packet Tracer noch mit älteren Versionen ausgestattet, wodurch dies ohne Hardware nicht so einfach getestet werden kann.</p>
<p>Eingerichtet wird Kron aber wie folgt:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="ios" style="font-family:monospace;">kron policy-list backupconfig
cli copy running-config tftp://172.16.1.9
cli routerconf</pre></td></tr></table></div>

<p>Danach muss der Kron getimet werden. Wer das ganze tatsächlich als Ersatz für ein Vergessenes Write Memory einsetzen will, sollte natürlich einen kleineren Zeitabstand wählen:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="ios" style="font-family:monospace;">kron occurrence week in 7:1:30 recurring
policy-list backupconfig</pre></td></tr></table></div>

<p>Nun kann man sich die gespeicherten Kron-Jobs anzeigen lassen:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="ios" style="font-family:monospace;">show kron schedule</pre></td></tr></table></div>

<p>Wenn nun etwas schief gehen soll oder sonst etwas, so kann eine Konfiguration wieder zurück gespielt werden:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="ios" style="font-family:monospace;">Router#copy tftp: running-config
Address or name of remote host []? 192.168.1.1
Source filename []? routerconf
Destination filename [running-config]? 
&nbsp;
Accessing tftp://192.168.1.1/routerconf...
Loading routerconf from 192.168.1.1: !
[OK - 463 bytes]
&nbsp;
463 bytes copied in 0.006 secs (77166 bytes/sec)
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#</pre></td></tr></table></div>

<p>Ganz zum Schluss das Festschreiben der Konfiguration nicht vergessen <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Ganz nützlich ist diese Funktion auch, wenn man mehrere gleiche oder ähnliche Netzwerkkomponenten mit gleicher oder nur leicht abgeänderter Konfiguration in Betrieb nehmen möchte.<br />
Dazu muss lediglich die Konfiguration weg kopiert, mit einem Texteditor bearbeitet werden und dann auf die passenden Komponenten wieder aufgespielt werden.</p>
<p>Wer es gerne auch ausprobieren möchte, der kann dieses kurz mit dem Cisco Packet Tracer durchspielen:</p>
<p><a href="http://blog.encodingit.ch/wp-content/uploads/2010/10/tftp.pkt" ><img class="alignnone size-full wp-image-1065" title="tftp" src="http://blog.encodingit.ch/wp-content/uploads/2010/10/tftp.jpg" alt="" width="371" height="121" /></a></p>
<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.encodingit.ch/2010/10/cisco-running_config-sichern/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Der (Ur-)Verzeichnisdienst NIS / YP</title>
		<link>http://blog.encodingit.ch/2010/05/der-ur-verzeichnisdienst-nis-yp/</link>
		<comments>http://blog.encodingit.ch/2010/05/der-ur-verzeichnisdienst-nis-yp/#comments</comments>
		<pubDate>Fri, 14 May 2010 12:56:43 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://blog.encodingit.ch/?p=873</guid>
		<description><![CDATA[Noch bevor LDAP oder Kerberos sich etablieren konnten, war ein Verzeichnisdienst mit dem Namen YP für Yellow Pages und später NIS für Network Information Service in aller Munde. Es war ein Produkt entwickelt von Sun, wodurch man Logininformationen über mehrere Computer hinweg verteilen konnte.<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Noch bevor LDAP oder Kerberos sich etablieren konnten, war ein Verzeichnisdienst mit dem Namen YP für Yellow Pages und später NIS für Network Information Service in aller Munde. Es war ein Produkt entwickelt von Sun, wodurch man Logininformationen über mehrere Computer hinweg verteilen konnte.</p>
<p>Auch wenn NIS als älter und unsicherer gilt als LDAP, hat es für mich ein klarer Vorteil: es ändert sich nicht immer komplett!<br />
Wer schon mal ein LDAP auf einem Ubuntu Server 8.04 und 8.10 installiert hat, kann nachvollziehen was ich meine. So und damit genug, ich will hier nicht über LDAP herziehen, sondern NIS vorstellen <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Ich habe mir also mit NIS und NFS innert wenigen Minuten eine zentrale Benutzerverwaltung mit zentralem Homeverzeichnis eingerichtet. Und wie das geht, folgt hier:</p>
<p>Ich habe mit dem NIS Server begonnen und dazu die Pakete für NFS und NIS aus den Paketquellen installiert.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> nfs-kernel-server nis</pre></td></tr></table></div>

<p>Während der Installation, nachdem man einen Namen für die Domäne eingegeben hat, versucht apt automatisch den NIS Daemon zu starten, was auf Grund mangelnden Einstellungen aber nie funktionieren wird. Also zurück lehnen, und auf den Fehler warten <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Nun beginnt die Konfiguration. In der Datei <strong>/etc/default/nis</strong> wird die NIS-Installation von Client zum Server umgebogen:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Are we a NIS server and if so what kind (values: false, slave, master)?</span>
<span style="color: #007800;">NISSERVER</span>=<span style="color: #c20cb9; font-weight: bold;">true</span>
<span style="color: #666666; font-style: italic;"># Are we a NIS client?</span>
<span style="color: #007800;">NISCLIENT</span>=<span style="color: #c20cb9; font-weight: bold;">false</span></pre></td></tr></table></div>

<p>Dann geben wir in der Datei <strong>/etc/exports</strong> unser Homeverzeichnis frei:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>home	<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>rw,async,no_subtree_check<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></td></tr></table></div>

<p>Wer es gern sicherer hat, kann den Stern durch einen Computernamen oder eine IP mit Subnet ersetzen, wodurch dann nur der Zugriff von diesen Maschinen aus gestattet ist.</p>
<p>Nun kann man den Daemon neu starten:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>nis restart</pre></td></tr></table></div>

<p>Und zum Abschluss muss man noch die Maps generieren lassen. Dazu ruft man folgenden Befehl auf:</p>
<p><span id="more-873"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>yp<span style="color: #000000; font-weight: bold;">/</span>ypinit <span style="color: #660033;">-m</span></pre></td></tr></table></div>

<p>Nun ist der NIS Server soweit fertig. Es können nun normal User hinzugefügt werden, die bereits bestehenden werden im NIS aufgenommen.<br />
Wichtig jedoch, nach einer Änderung an einem User oder einer Gruppe, also Änderungen, welche die passwd, group, shadow oder gshadow datei verändern, folgender Befehl ausgeführt wird, um die Maps zu erneuern:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>yp<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">make</span></pre></td></tr></table></div>

<p>Nun noch alle benötigten Daemons neu starten:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>portmap restart
<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>nfs-kernel-server restart
<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>nis restart</pre></td></tr></table></div>

<p>Und zum Schluss die Verwendung des NIS Servers starten:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">ypbind
ypserv</pre></td></tr></table></div>

<p>Ein Aufruf von ypwhich sollte nun den Namen oder die IP des NIS Masterserver und ypdomainname den Namen der NIS Domäne ausgeben.</p>
<p>Nun muss der Client, welcher NIS verwenden soll, noch vorbereitet werden!<br />
Auch hier wird das Paket NIS aus den Paketquellen installiert:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> nis nfs-common</pre></td></tr></table></div>

<p>Im Gegensatz zu vorher sollte sich hier der NIS Daemon nach Eingabe der selben Domäne erfolgreich starten, da der NIS Server über Broadcast-Pakete gesucht wird.</p>
<p>Trotzdem sollte der NIS Server noch fest in die Datei <strong>/etc/yp.conf</strong> eingetragen werden:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">ypserver nismaster.ch</pre></td></tr></table></div>

<p>Nun müssen noch die passwd, group, shadow und gshadow angepasst werden und jeweils folgenden Zusatz als letzte Zeile haben:<br />
<strong>/etc/passwd:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">+::::::</pre></td></tr></table></div>

<p><strong>/etc/group:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>2
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">+:::</pre></td></tr></table></div>

<p><strong>/etc/shadow:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>3
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">+::::::::</pre></td></tr></table></div>

<p><strong>/etc/gshadow:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>4
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">+:::</pre></td></tr></table></div>

<p>Nachdem der Client nun die Userinformationen vom NIS Server verwenden kann, muss noch das Homeverzeichnis konfiguriert werden.<br />
Dazu wird die Datei <strong>/etc/fstab</strong> mit folgender Zeile ergänzt:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">nismaster.ch:<span style="color: #000000; font-weight: bold;">/</span>home  <span style="color: #000000; font-weight: bold;">/</span>home  nfs  <span style="color: #007800;">rsize</span>=<span style="color: #000000;">8192</span>,<span style="color: #007800;">wsize</span>=<span style="color: #000000;">8192</span>,hard,intr  <span style="color: #000000;">0</span>  <span style="color: #000000;">0</span></pre></td></tr></table></div>

<p>Nun sollte auch hier noch der NIS Daemon neugestartet werden:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>nis restart</pre></td></tr></table></div>

<p>Wird nun ypwhich und ypdomainname ausgeführt, so sollten deren Ausgaben mit denen vom Server übereinstimmen.<br />
Wenn nun der Client nun gestartet wird, so sollte beim Start zuerst das home-Verzeichnis vom Server gemountet werden und danach eine Verbindung zum NIS Server mit der konfigurieren Domäne hergestellt werden, worauf man sich dann mit jedem auf dem Server zugefügten Benutzer auch auf dem Client einloggen kann.</p>
<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.encodingit.ch/2010/05/der-ur-verzeichnisdienst-nis-yp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Gedanken zu IPv4 / IPv6</title>
		<link>http://blog.encodingit.ch/2010/01/gedanken-zu-ip4-6/</link>
		<comments>http://blog.encodingit.ch/2010/01/gedanken-zu-ip4-6/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 21:20:00 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[WWW]]></category>

		<guid isPermaLink="false">http://blog.encodingit.ch/?p=770</guid>
		<description><![CDATA[IPv4 steht für Internet Protocol Version 4 und ist unser aktuelles Internet Protokoll.

In IPv4 sind Adressen, wie sie jeder technisch versiertere User täglich braucht. Sie bestehen aus 32 Bit und werden in 4er Blöcke zu je 8 Bit unterteilt.

Diese 8 Bit sind dann auch der Grund wieso jedes der 4 Blöcke nur eine Zahl von 0 bis 255 beinhalten kann.<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-772" style="margin: 5px 10px;" title="ipv6" src="http://blog.encodingit.ch/wp-content/uploads/2010/01/ipv6.jpg" alt="" width="269" height="122" />IPv4 steht für <em>Internet Protocol Version 4</em> und ist unser aktuelles Internet Protokoll.</p>
<p>In IPv4 sind Adressen, wie sie jeder technisch versiertere User täglich braucht. Sie bestehen aus 32 Bit und werden in 4er Blöcke zu je 8 Bit unterteilt.</p>
<p>Diese 8 Bit sind dann auch der Grund wieso jedes der 4 Blöcke nur eine Zahl von 0 bis 255 beinhalten kann.</p>
<p>Doch in diesen insgesamt 32 Bit liegt auch das Problem. Dadurch lassen sich gerade mal 4&#8217;294&#8217;967&#8217;296 IP Adressen abbilden und diese sind auch bald schon alle Verbraucht&#8230;</p>
<p>Laut Schätzungen werden im Jahre 2010 die letzten IPv4 Adressen vergeben und dann ein Jahr später schlussendlich IPv6 Adressen verteilt.</p>
<p>IPv6, gerne auch <em>Internet Protocol next Generation</em> genannt, besteht aus 128 Bit Adressen und kann damit etwa 340 Sextillionen Adressen verwalten. Dadurch muss nicht mehr mit öffentlichen und privaten Adressen gearbeitet werden, sondern jedes Gerät könnte seine eigene feste IP haben, wodurch DHCP Dienste im Grunde genommen überflüssig werden.</p>
<p>Eine IPv6 Adresse kann etwa wie folgt aussehen</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000;">2001</span>:0db8:85a3:08d3:<span style="color: #000000;">1319</span>:8a2e:0370:<span style="color: #000000;">7347</span>.</pre></td></tr></table></div>

<p>Ich mache mir jedoch ein bisschen Sorgen, wie man sich so eine IP merken soll. Denn wie oft kam es bei Arbeiten im Netzwerk vor, dass man kurz eine IP Adresse merken oder aufschreiben muss. Bei 32 Bit war das ja einfach, doch bei 128 Bit&#8230;?</p>
<p>Weiter frage ich mich, wie lange es dauern wird, bis auch der Bereich von IPv6 Adressen zu klein wird&#8230; Und was dann? Kommt dann IPv8 mit 1024 Bit und IP Adressen im 100 stelligen Bereich? Und wie sieht dann IPv10 erst aus?</p>
<p>Wo führt das nur hin&#8230;</p>
<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.encodingit.ch/2010/01/gedanken-zu-ip4-6/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Xymon konfiguration</title>
		<link>http://blog.encodingit.ch/2009/12/xymon-konfiguration/</link>
		<comments>http://blog.encodingit.ch/2009/12/xymon-konfiguration/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 14:25:39 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Xymon]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Überwachung]]></category>

		<guid isPermaLink="false">http://blog.encodingit.ch/?p=711</guid>
		<description><![CDATA[Vor einiger Zeit habe ich über die Installation von Xymon geschrieben. Heute will ich ein paar Worte zu der eigentlich sehr simplen Konfiguration verlieren.

Alle Einstellungen zu überwachenden Servern und Netzwerkkomponenten werden in der Datei /etc/hobbit/bb-hosts eingetragen.<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Vor einiger Zeit habe ich über die Installation von <a href="http://blog.encodingit.ch/2009/12/small-brother-im-eigenen-netwerk/"  target="_blank">Xymon</a> geschrieben. Heute will ich ein paar Worte zu der eigentlich sehr simplen Konfiguration verlieren.</p>
<p>Alle zu überwachenden Servern und Netzwerkkomponenten werden in der Datei /etc/hobbit/bb-hosts eingetragen.</p>
<p>Ein Eintrag ist dabei immer gleich aufgebaut:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="hobbit" style="font-family:monospace;">172.16.10.2		voodoo.hswn.dk		# ssh ntp dns bbd apache</pre></td></tr></table></div>

<p>Zuerst steht die IP, welche zum überwachen verwendet wird.<br />
Danach folgt der Name, unter welchem alle Stati auf der Seite schlussendlich aufgeführt werden.<br />
Am Schluss, entgegen jeder Logik, stehen auskommentiert die zu überwachenden Funktionen und Dienste.<br />
Im Falle unseres Beispieles sieht das wie folgt aus:</p>
<p><a href="http://blog.encodingit.ch/wp-content/uploads/2009/12/basic.png"  rel="lightbox[711]"><img class="alignnone size-full wp-image-712" title="basic" src="http://blog.encodingit.ch/wp-content/uploads/2009/12/basic.png" alt="" width="364" height="31" /></a></p>
<p>Nun kann man mit Xymon die gängigsten Funktionen und Services überwachen. Jeder Service, den man überwachen will, muss wie obig schon aufgeführt, nach der Raute eingetragen werden.</p>
<p>Die gebräuchlichsten Funktionen sind dabei die folgenden:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="hobbit" style="font-family:monospace;">ssh:		Überwacht den SSH Zugriff
ntp:		Überwacht das NTP (Network Time Protokoll)
dns:		Überwacht DNS Funktionen des Servers
bbd:		Überwacht den Xymon Daemon
apache:		Überwacht die Apacheserver-Funktionen
dialup:		Überwacht den Dialup Zugriff
noconn:		Deaktiviert die Überwachung per Ping
smtp:		Überwacht die SMTP Funktion eines Mailservers
pop3:		Überwacht die POP3 Funktion eines Mailservers
imap:		Überwacht die IMAP Funktion eines Mailservers
clamd:		Überwacht den ClamAV-Daemon
dnsreg:		Überwacht den DNS Eintrag auf dessen Gültigkeit
[URL]:		Überwacht den HTTP(S) Zugriff auf die angegebene URL</pre></td></tr></table></div>

<p>Alle bisherigen Einstellungen haben sich mit den Funktionen, welche man überwachen will beschäftigt.<br />
Besonders in geschäftlicher Umgebung, wo man sehr viele Server hat, ist es interessant, dass man auch den Look &#038; Feel des Webinterfaces mitbestimmen kann.</p>
<p>So kann man seine gesamte zu überwachenden Komponenten in Server und Services unterteilen:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="hobbit" style="font-family:monospace;">page servers Systems
172.16.10.2		voodoo.hswn.dk		# ssh ntp dns bbd apache
[weitere....]
page services Services
172.16.10.2		mail.hswn.dk		# smtp pop3 imap clamd
[weitere...]</pre></td></tr></table></div>

<p>Dies hat zur folge, dass man beim Aufrufen des Webinterfaces nicht von hunderten von Servern erschlagen wird, sondern das man zwei Punkte &#8216;Systems&#8217; und &#8216;Services&#8217; zur Auswahl hat:</p>
<p><a href="http://blog.encodingit.ch/wp-content/uploads/2009/12/pages.png"  rel="lightbox[711]"><img src="http://blog.encodingit.ch/wp-content/uploads/2009/12/pages.png" alt="" title="pages" width="259" height="31" class="alignnone size-full wp-image-716" /></a></p>
<p>Da die Seite Services wirklich nur für Services gedacht ist, fehlen da auch Überwachungspunkte wie CPU, Disk etc. Diese werden in der Kategorie Servers automatisch zugefügt, und überwachen z.B. die Auslastung der CPU oder freien Speicher der Festplatte.<br />
Dies ist nicht etwa ein Bug, sondern tun bei der Überwachung eines Service einfach nichts zur Sache und wurden absichtlich weggelassen.</p>
<p>Zur weiteren Strukturierung kann man nun auch noch Server und Services innerhalb einer Seite weiter zusammenfassen und gruppieren:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="hobbit" style="font-family:monospace;">group-compress &lt;font size=&quot;+1&quot;&gt;Mail&lt;/font&gt;
172.16.10.2		mail.hswn.dk		# smtp pop3 imap clamd
[weitere...]
group-compress &lt;font size=&quot;+1&quot;&gt;Web&lt;/font&gt;
172.16.10.2		www.hswn.dk		# http://www.hswn.dk/ apache
[weitere...]</pre></td></tr></table></div>

<p>Dies wiederum zeigt sich im Webinterface wiefolgt:</p>
<p><a href="http://blog.encodingit.ch/wp-content/uploads/2009/12/group1.png"  rel="lightbox[711]"><img src="http://blog.encodingit.ch/wp-content/uploads/2009/12/group1.png" alt="" title="group" width="500" height="241" class="alignnone size-full wp-image-721" /></a></p>
<p>So nun eine komplette Konfigurationsdatei kann etwa so aussehen:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
</pre></td><td class="code"><pre class="hobbit" style="font-family:monospace;"># Master configuration file for Hobbit
#
# This file defines several things:
#
# 1) By adding hosts to this file, you define hosts that are monitored by Hobbit
# 2) By adding &quot;page&quot;, &quot;subpage&quot;, &quot;group&quot; definitions, you define the layout
#    of the Hobbit webpages, and how hosts are divided among the various webpages 
#    that Hobbit generates.
# 3) Several other definitions can be done for each host, see the bb-hosts(5)
#    man-page.
#
# You need to define at least the Hobbit server itself here.
&nbsp;
0.0.0.0			.default.		# bbd
&nbsp;
page servers Systems
group-compress &lt;font size=&quot;+1&quot;&gt;Servers&lt;/font&gt;
172.16.10.2     	voodoo.hswn.dk		# ssh ntp dns bbd apache
&nbsp;
172.16.10.5		miro.hswn.dk		# ssh http://miro.hswn.dk/
&nbsp;
172.16.10.4		dali.hswn.dk		# ssh dialup
&nbsp;
group-compress &lt;font size=&quot;+1&quot;&gt;Test systems&lt;/font&gt;
0.0.0.0			osiris.hswn.dk		# dialup
0.0.0.0			localhost		# ssh
&nbsp;
page services Services
group-compress &lt;font size=&quot;+1&quot;&gt;Network&lt;/font&gt;
147.29.31.155		adsl.hswn.dk		# noconn
&nbsp;
group-compress &lt;font size=&quot;+1&quot;&gt;Mail&lt;/font&gt;
172.16.10.2     	mail.hswn.dk		# smtp pop3 imap clamd
&nbsp;
group-compress &lt;font size=&quot;+1&quot;&gt;Web&lt;/font&gt;
172.16.10.2     	www.hswn.dk		# http://www.hswn.dk/ apache
172.16.10.2     	webmail.hswn.dk		# https://webmail.hswn.dk/src/login.php
&nbsp;
group-compress &lt;font size=&quot;+1&quot;&gt;News&lt;/font&gt;
172.16.10.2     	news.hswn.dk		# nntp
&nbsp;
group &lt;font size=&quot;+1&quot;&gt;Domains&lt;/font&gt;
0.0.0.0			hswn.dk			# noconn dnsreg
0.0.0.0			storner.dk		# noconn dnsreg
0.0.0.0			storner.com		# noconn dnsreg</pre></td></tr></table></div>

<p>Wie das ganze nun schlussendlich aussieht, findet man auf der offiziellen Seite von Xymon.<br />
Auf dieser Seite findet man auch die Konfigurationsdatei, welche ich obig verwendet habe. Wer also nicht meine vereinfachte Version will, kann hier die Originale finden.</p>
<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.encodingit.ch/2009/12/xymon-konfiguration/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Small Brother im eigenen Netwerk</title>
		<link>http://blog.encodingit.ch/2009/12/small-brother-im-eigenen-netwerk/</link>
		<comments>http://blog.encodingit.ch/2009/12/small-brother-im-eigenen-netwerk/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 20:01:33 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Xymon]]></category>
		<category><![CDATA[Big Brother]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Ueberwachung]]></category>

		<guid isPermaLink="false">http://compr00t.co.funpic.de/?p=659</guid>
		<description><![CDATA[Wie sich aber die Services auch im Webfrontend anzeigen lassen, habe ich bis jetzt noch nicht herausgefunden.

Weiter gibt es noch die Möglichkeit, bei Fehlern Benachrichtigungen per Mail oder SMS zu versenden. Dazu kann man für jeden Service in der Datei /etc/hobbit/hobbit-alerts.cfg einen eigenen Verantwortlichen, die Alarmierungszeit, Mailadressen und vieles mehr definieren.

Danach zeigt einem das Webfrontend auf einen Blick für jeden Server genau an, welche Server, wo Probleme hat. Unterschieden wird dabei mit den Farben Rot, Violett, Gelb, Grün und Weiss den Zustand des Servers und diverse Symbole, welche angeben, ob ein Server erst seid kurzem oder schon länger Probleme hat.<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Ich habe vor einiger Zeit mal über die <a href="http://blog.encodingit.ch/2009/11/monitoring-mit-nagio/"  target="_blank">Konfiguration und Anwendung von Nagios</a> geschrieben. Hier will ich mich nun mit einem anderen, leichter einzurichtenden Programm zuwenden.</p>
<p>Nur leichter einzurichten bedeutet alles andere als schlechter! Wenn ich mich Entscheiden müsste zwischen Xymon (ehemals Hobbit) und Nagios, so würde ich für mich persönlich <a href="http://xymon.sourceforge.net/"  target="_blank">Xymon</a> nehmen, da mich Nagios mit seinen zahlreichen Funktionen direkt überfordert.</p>
<p>Xymon ist mit den Funktionen nicht ganz so umfänglich, deckt aber die wichtigsten ab. So lassen sich mit Xymon Serverkomponenten wie Harddisks, CPU, Memory, Prozesse, aber auch Dienste wie FTP, SSH, SMTP, POP und vieles mehr überwachen.</p>
<p>Doch wenn man so tief ins System eines Servers eingreifen will, dann braucht man meistens auch einen Agent, welcher die ganzen Daten ausliest.</p>
<p>Dieser Agent ist für Debian-basierte Systeme in den Paketquellen verfügbar und kann wie folgt installiert werden:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> xymon</pre></td></tr></table></div>

<p>Während der Installation wird man nach der IP des Datacollectors gefragt, welcher das Webfrontend und damit die ganzen Daten verwaltet.</p>
<p>Nun muss man zusätzlich auch noch Apache installieren, da, aus welchen Gründen auch immer, dieses Paket nicht als Abhängigkeit eingerichtet wurde:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>2
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> apache2</pre></td></tr></table></div>

<p>Jetzt gilt es noch die Daten aus /etc/hobbit/web über den Browser verfügbar zu machen. Dazu kann man einen Softlink von /var/www zum Ordner mit den Xymon-Webfrontend-Daten:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>3
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>hobbit<span style="color: #000000; font-weight: bold;">/</span>web <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>hobbit</pre></td></tr></table></div>

<p>Wenn man nun die IP des Datacollectors im Browser aufruft, so wird dieser bereits automatisch überwacht. Es müssen nun also noch weitere Server zugefügt werden.</p>
<p>Dazu editiert man die Datei /etc/hobbit/bb-host:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>4
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">vim</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>hobbit<span style="color: #000000; font-weight: bold;">/</span>bb-host</pre></td></tr></table></div>

<p>Bei mir sieht die Datei so aus:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Master configuration file for Hobbit</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># This file defines several things:</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># 1) By adding hosts to this file, you define hosts that are monitored by Hobbit</span>
<span style="color: #666666; font-style: italic;"># 2) By adding &quot;page&quot;, &quot;subpage&quot;, &quot;group&quot; definitions, you define the layout</span>
<span style="color: #666666; font-style: italic;">#    of the Hobbit webpages, and how hosts are divided among the various webpages</span>
<span style="color: #666666; font-style: italic;">#    that Hobbit generates.</span>
<span style="color: #666666; font-style: italic;"># 3) Several other definitions can be done for each host, see the bb-hosts(5)</span>
<span style="color: #666666; font-style: italic;">#    man-page.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># You need to define at least the Hobbit server itself here.</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#0.0.0.0    .default.    # NOPROPRED:+apt,+libs</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#group Servers</span>
127.0.0.1    unix
192.168.1.1    router
192.168.1.4    iLO
192.168.1.5    VMware Server
192.168.1.6    Webserver
192.168.1.7    SVN Server
192.168.1.8    Monitoring Server
192.168.1.9    Reverse Proxy
192.168.1.10    DNS Server
192.168.1.11    LTSP Server
&nbsp;
<span style="color: #666666; font-style: italic;">#group Dialup</span>
<span style="color: #666666; font-style: italic;">#0.0.0.0    notebook.bla.net # noconn dialup</span></pre></td></tr></table></div>

<p>Hier definiert man unter #group Servers zuerst die IP, dann den Namen für die Beschreibung.</p>
<p>In der Datei /etc/hobbit/bb-services kann man Services definieren wie SSH, FTP, SMTP und vieles mehr. Die da angegebenen Standards sind für mich total ausreichend. Besonders interessant für mich, ist die Möglichkeit den ClamAV Daemon zu überwachen.</p>
<p>Wie sich aber die Services auch im Webfrontend anzeigen lassen, habe ich bis jetzt noch nicht herausgefunden.</p>
<p>Weiter gibt es noch die Möglichkeit, bei Fehlern Benachrichtigungen per Mail oder SMS zu versenden. Dazu kann man für jeden Service in der Datei /etc/hobbit/hobbit-alerts.cfg einen eigenen Verantwortlichen, die Alarmierungszeit, Mailadressen und vieles mehr definieren.</p>
<p>Danach zeigt einem das Webfrontend auf einen Blick für jeden Server genau an, welche Server, wo Probleme hat. Unterschieden wird dabei mit den Farben Rot, Violett, Gelb, Grün und Weiss den Zustand des Servers und diverse Symbole, welche angeben, ob ein Server erst seid kurzem oder schon länger Probleme hat.</p>
<p>Dazu werden automatisch Graphen mit Trends und anderen Informationen generiert. Und zu guter Letzt kann man auch noch Reports von Services und Funktionen über bestimmte Zeiträume erstellen.</p>
<p>Nun gilt es noch herauszufinden, wie sich Services überwachen lassen. Wer mir dazu also weiterhelfen kann, vielen Dank <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.encodingit.ch/2009/12/small-brother-im-eigenen-netwerk/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>DNS Server Konfiguration</title>
		<link>http://blog.encodingit.ch/2009/11/dns-server-konfiguration/</link>
		<comments>http://blog.encodingit.ch/2009/11/dns-server-konfiguration/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 01:06:05 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Webmin]]></category>

		<guid isPermaLink="false">http://compr00t.co.funpic.de/?p=649</guid>
		<description><![CDATA[Für mich war das eine Premiere, da ich bisher nur unter Windows das vergnügen hatte, und da ist es wirklich keine grosse Sache.

Umso erstaunter war ich, wie kompliziert das eigentlich unter Linux ist...

Doch war ich irgendwie zu faul, alle Dateien einzeln zu editieren und konfigurieren, also habe ich auf Webmin zurückgegriffen.

Webmin erlaubt es, viele Einstellungen in Bereichen wie Netwerkverwaltung, Useradministration, Servereinstellungen und vieles mehr direkt über ein GUI im Browser zu konfigurieren.<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Damit ich mir für meine virtuellen Server nicht jedes mal die passende IP merken oder irgendwo nachsehen will, habe ich mir einen eigenen DNS Server im Netzwerk installiert.</p>
<p>Für mich war das eine Premiere, da ich bisher nur unter Windows das vergnügen hatte, und da ist es wirklich keine grosse Sache.</p>
<p>Umso erstaunter war ich, wie kompliziert das eigentlich unter Linux ist&#8230;</p>
<p>Doch war ich irgendwie zu faul (oder einfach vom WindowsGUI verwöhnt), alle Dateien einzeln zu editieren und konfigurieren, also habe ich auf <a href="http://www.webmin.com/"  target="_blank">Webmin</a> zurückgegriffen.</p>
<p><a target="_blank" href="http://www.webmin.com/screenshots/chapter30/figure4.png"  rel="lightbox[649]"><img class="alignnone" src="http://www.webmin.com/screenshots/chapter30/figure4.png" alt="" width="461" height="221" /></a></p>
<p>Webmin erlaubt es, viele Einstellungen in Bereichen wie Netzwerkverwaltung, Useradministration, Servereinstellungen und vieles mehr direkt über ein GUI im Browser zu konfigurieren.</p>
<p>Zuerst muss man sich also das aktuelle Paket von Sourceforge holen:</p>
<blockquote><p>wget http://downloads.sourceforge.net/project/webadmin/webmin/1.390/webmin_1.390_all.deb</p></blockquote>
<p>Danach kann man die Installation starten:</p>
<blockquote><p>sudo dpkg -i webmin_*</p></blockquote>
<p>Da aber noch einige Pakete fehlen, wird die Installation vorerst fehlschlagen. Also gilt es dies noch zu berichtigen:</p>
<blockquote><p>sudo apt-get install -f</p></blockquote>
<p>Und nun ist Webmin auch schon installiert unter unter https://127.0.0.1:10000 verfügbar.</p>
<p>Jetzt kann also die Installation losgehen. Dazu ruft man Webmin auf und loggt sich mit einem User ein, welcher sudo-Rechte besitzt.<br />
Dann wählt man unter &#8220;Server&#8221; den Punkt &#8220;BIND DNS Server&#8221;.</p>
<p>Nun muss man zuerst mal eine neue Zone erstellen. Hierfür wählt man den Punkt &#8220;Create master zone&#8221;. Will man, wie in meinem Fall Namen zu IPs auflösen, so muss man eine Forward Lookup Zone erstellen.</p>
<p>Unter &#8220;Domain name / Network&#8221; vergibt man den Namen für die Zone. Dieser wird auch gleich der Name der Top Level Domain sein (zB. lokal, ch oder com).<br />
Nun muss man noch unter &#8220;Email address&#8221; eine eMail-Adresse eingeben. Der Rest kann man auf den Standardeinstellungen belassen.</p>
<p>Jetzt kann man endlich die ersten Namen einer IP zuordnen. Dazu definiert man alle Namen und IPs unter dem Punkt &#8220;Address (0)&#8221;.</p>
<p>Wenn man will, kann man unter &#8220;Reverse Address (0)&#8221; nochmal die selbigen Informationen zuordnen.</p>
<p>Nachdem man seine Änderungen abgespeichert hat, kann man die Einstellungen testen.<br />
Dazu logge ich mich per SSH ein und führe eine Abfrage an den DNS Server aus:</p>
<blockquote><p>dig @127.0.0.1 name.domain</p></blockquote>
<p>Eine Antwort sollte etwa so aussehen:</p>
<blockquote><p>; &lt;&lt;&gt;&gt; DiG 9.4.2-P2 &lt;&lt;&gt;&gt; @127.0.0.1 name.domain<br />
; (1 server found)<br />
;; global options:  printcmd<br />
;; Got answer:<br />
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 18355<br />
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0</p>
<p>;; QUESTION SECTION:<br />
;name.domain.                     IN      A</p>
<p>;; ANSWER SECTION:<br />
name.domain.              38400   IN      A       192.168.0.1</p>
<p>;; AUTHORITY SECTION:<br />
domain.                  38400   IN      NS      SL004.</p>
<p>;; Query time: 1 msec<br />
;; SERVER: 127.0.0.1#53(127.0.0.1)<br />
;; WHEN: Sun Nov 29 01:52:00 2009<br />
;; MSG SIZE  rcvd: 62</p></blockquote>
<p>Nun muss man nur noch den einzelnen Hosts den DNS hinzufügen. Da bei mir alle Clients ihre IPs per DHCP beziehen, musste ich den DNS nur da eintragen, und abwarten.</p>
<p>Und von nun an, muss ich mir keine mühsamen IP-Adressen mehr merken <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Vielen Dank an Roman für die <a href="http://ubuntublog.ch/services/webmin-auf-ubuntu-804-server"  target="_blank">Tipps zu Webmin</a>.</p>
<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.encodingit.ch/2009/11/dns-server-konfiguration/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Linux Server absichern</title>
		<link>http://blog.encodingit.ch/2009/11/linux-server-absichern/</link>
		<comments>http://blog.encodingit.ch/2009/11/linux-server-absichern/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 23:46:11 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Hacker]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://compr00t.co.funpic.de/?p=579</guid>
		<description><![CDATA[Ich habe mich in letzter Zeit mal wieder mit dem Absichern meiner Ubuntu Server beschäftigt.

Dabei wollte ich vorallem den SSH-Zugang besser schützen, mindestens vor automatisierten Bruteforce-Attacken.

Dabei bieten sich mir diverse Möglichkeiten:

    * Keyfiles
    * PermitRootLogin
    * Portänderung
    * fail2ban
    * PortKnocking<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Ich habe mich in letzter Zeit mal wieder mit dem Absichern meiner Ubuntu Server beschäftigt.</p>
<p>Dabei wollte ich vorallem den SSH-Zugang besser schützen, mindestens vor automatisierten Bruteforce-Attacken.</p>
<p>Dabei bieten sich mir diverse Möglichkeiten:</p>
<ul>
<li>Keyfiles</li>
<li>PermitRootLogin</li>
<li>AllowUsers</li>
<li>Portänderung</li>
<li>fail2ban</li>
<li>PortKnocking</li>
<li>OTP</li>
</ul>
<p>Als erstes habe ich mal das einloggen vom User &#8220;root&#8221; verboten. Damit sind bereits 80% aller automatisierten Attacken erfolglos.</p>
<h3>PermitRootLogin</h3>
<p>Dazu setzt man unter</p>
<blockquote><p>/etc/ssh/sshd_config</p></blockquote>
<p>hinter dem Punkt PermitRootLogin ein</p>
<blockquote><p>no</p></blockquote>
<h3>AllowUsers</h3>
<p>Noch besser als das Login als root zu verbieten, ist es, nur bestimmte User zuzulassen.</p>
<p>Dazu muss man in der Datei</p>
<blockquote><p>/etc/ssh/sshd_config</p></blockquote>
<p>unter dem Punkt AllowUsers alle Benutzer eingeben, welche Zugriff haben dürfen:</p>
<blockquote><p>AllowUsers user1 user2 user3</p></blockquote>
<h3>Keyfiles</h3>
<p>Keyfiles sind auch noch eine gute Möglichkeit um automatisierte Angriffe abzublocken. Denn, wer die passenden Keyfiles nicht hat, kann sich auch mit dem richtigen Passwort nicht einloggen.</p>
<p>Doch für mich persönlich sind Keyfiles eher unpraktisch, da ich mich oft von verschiedenen Maschinen aus einloggen soll, und meistens da die Keyfiles dann fehlen würden.</p>
<h3>Portänderung</h3>
<p>Gegen automatisierte Angriffe kann auch eine Umstellung der Ports über welche SSH (22) kommuniziert, helfen.</p>
<p>Das Problem jedoch, mit einem kurzen Scan kann man aufdecken, auf welchem Port SSH nun wirklich läuft.</p>
<p>Ändern kann man den Port unter dem Punkt</p>
<blockquote><p>Port</p></blockquote>
<p>in der Konfig von SSH unter</p>
<blockquote><p>/etc/ssh/sshd_config</p></blockquote>
<h3>fail2ban</h3>
<p>Mittels dem Tool fail2ban kann man eine IP Adresse nach einer vordefinierten Anzahl fehlgeschlagener Logins automatisch sperren.</p>
<p>Dies ist besonders praktisch, da ich somit nicht nur ein Mittel gegen automatisierte sondern auch gegen jegliche andere SSH Attacken habe.</p>
<p>Und mitels fail2ban kann man nicht nur den Zugriff auf SSH, sondern auch noch für unzählige andere Dienste wie Appache, DNS, FTP und viele mehr.</p>
<p>fail2ban gibt es auf den Ubuntu Packetservern über</p>
<p>sudo apt-get install fail2ban</p>
<p>Nach der Installation heisst es erst mal Einstellungen bearbeiten. Die Konfig ist unter</p>
<blockquote><p>/etc/fail2ban/jail.conf</p></blockquote>
<p>abgelegt.</p>
<p>Um den SSH Zugriff überwachen zu lassen, gilt es folgenden Textschnippsel noch zu ergänzen:</p>
<blockquote><p>[ssh-iptables]<br />
enabled = true<br />
filter = sshd<br />
action = iptables[name=SSH, port=ssh, protocol=tcp]<br />
logpath = /var/log/auth.log<br />
maxretry = 3</p></blockquote>
<p>Damit wird jede IP-Adresse, welche sich 3mal mit falschem Passwort einloggen will, automatisch gebannt.</p>
<h3>Portknocking</h3>
<p>Eine weitere, sehr effektive Massnahme ist das sogenannte Portknocking. Das beschreibt ein Verfahren, bei welchem man zuerst mit dem geheimen Zeichen anklopfen muss, bevor man sich per SSH einloggen kann.</p>
<p>Wird das geheime Zeichen nicht vorweg gesendet, so erscheint der Port 22 nach aussen als geschlossen.</p>
<p>Realisieren lässt sich dies mittels knockd, welches wiederum in den Packetquellen verfügbar ist</p>
<blockquote><p>sudo apt-get install knockd</p></blockquote>
<p>Konfiguriert wird das Programm über eine zentrale Datei</p>
<blockquote><p>/etc/knockd.conf</p></blockquote>
<p>Um knocked nun auf den SSH Port vorzubereiten, muss man die Datei mit folgenden Eintrag ergänzen:</p>
<blockquote><p>[openSSH] sequence = 1234,1234,1234 seq_timeout = 5 command =<br />
/sbin/iptables -A INPUT -s %IP% -p tcp &#8211;dport 22 -j ACCEPT<br />
tcpflags = syn</p>
<p>[closeSSH]<br />
sequence = 1234,1234,1234<br />
seq_timeout = 5<br />
command = /sbin/iptables -D INPUT -s %IP% -p tcp &#8211;dport 22 -j DENY<br />
tcpflags = syn</p></blockquote>
<p>Will man sich nun per SSH einloggen, so muss man zuerst mittels</p>
<blockquote><p>knock <em>ip</em> 1234 1234 1234</p></blockquote>
<p>den Port freischalten. Nach vollbrachter Arbeit wird der Port über selbiges Kommando auch wieder geschlossen.</p>
<h3>OTP</h3>
<p>OTP ist ein Verfahren, mittels welchem für jedes Login ein neues Passwort generiert wird. Hier bedanke ich mich bei <a href="http://www.nodch.de/contact"  target="_blank">Benjamin </a>für den Gedankenanstoss und die <a href="http://www.nodch.de/howto-ubuntu-server-ssh-zugang-mit-otp-absichern"  target="_blank">ausführliche Anleitung</a>.</p>
<p>Er beschreibt dabei wie OTP in Kombination mit seinem Android Handy verweden kann. Doch auch iPhone-Benützern wie mir wird mit dem Tool &#8220;<a href="http://www.3gapps.de/otp-generator"  target="_blank">OTP Generator</a>&#8221; von Dragon Technology Ltd geholfen, welches für CHF 3.30 im Appstore verfügbar ist.</p>
<h3>Fazit</h3>
<p>Für mich ist fail2ban und PermitRootLogin am besten geeignet. Obwohl ich der Meinung bin, das Portknocking wohl das effektivste wäre, weiss ich noch nicht, ob ich mein &#8220;Geheimzeichen&#8221; auch von anderen Betriebssystemen aus versenden kann. Deshalb ist dieses Verfahren vorerst mal auf Eis gelegt.</p>
<p>OTP ist für mich schon fast wieder übertriebene Sicherheit, und der Aufwand, jedes mal ein neues Passwort zu generieren ist mir einfach zu gross.</p>
<p>Natürlich ist ein offener SSH Port immer ein Sicherheitsrisiko, aber mit den obig aufgezeigten Möglichkeiten, sollte man 95% aller Attacken abwehren können.</p>
<p>Und sonst gilt halt immer noch: Wählt ein sicheres Passwort <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em>[Quellen: <a href="http://4t2.li/blog/"  target="_blank">4t2</a>, Horst und <a href="http://www.freiesmagazin.de/magazin"  target="_blank">FreiesMagazin</a>]</em></p>
<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.encodingit.ch/2009/11/linux-server-absichern/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Reverse Proxy als Vermittler</title>
		<link>http://blog.encodingit.ch/2009/10/reverse-proxy-als-vermittler/</link>
		<comments>http://blog.encodingit.ch/2009/10/reverse-proxy-als-vermittler/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 22:25:57 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://compr00t.co.funpic.de/?p=529</guid>
		<description><![CDATA[Wie schon früher berichtet laufen seit neustem einige Anwendungen auf meinem Server zu Hause. Das Problem dabei ist nur, dass mein Server hinter einem Router hängt, wodurch ich nur eine öffentliche IP erhalte.<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Wie schon früher berichtet laufen seit neustem einige Anwendungen auf meinen Servern zu Hause. Das Problem dabei ist nur, dass mein Server hinter einem Router hängt, wodurch ich nur eine öffentliche IP erhalte.</p>
<p>Um auch einzelne Server innerhalb meines Netzwerkes anzusprechen, so habe ich dafür ein Portforwarding eingerichtet. Doch was, wenn ich nun zwei Webserver im Netzwerk habe. Wie kann ich beide ansprechen? Ich kann den Port 80 ja nicht auf mehrere Server weiterleiten.</p>
<p>Die Lösung heisst Reverse Proxy. Dabei kann ich die Anfrage vom Router, über den Proxy auf den passenden Server weiterleiten.</p>
<p>Somit kann ich also als Beispiel einen Webserver und eine Groupware beide auf Port 80 betreiben. Von aussen angesprochen werden Sie dann mittels <em>http://ip.com/webserver/</em> oder <em>http://ip.com/groupware/.</em> Der Proxy entscheidet und leitet auf den entsprechenden Server weiter.</p>
<p>Die Installation ist auch ganz einfach <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Alles was man tun muss, ist ein Paket aus den Paketquellen zu installieren</p>
<blockquote><p>sudo apt-get install libapache2-mod-proxy-html</p></blockquote>
<p>Danach muss man noch die folgenden drei Module aktivieren</p>
<blockquote><p>sudo a2enmod proxy<br />
sudo a2enmod proxy_html<br />
sudo a2enmod proxy_http</p></blockquote>
<p>und den Webserver neu zustarten.</p>
<blockquote><p>sudo /etc/init.d/apache2 force-reload</p></blockquote>
<p>Nun kann man mit der Konfiguration beginnen. Ein Beispiel kann in etwa so aussehen:</p>
<blockquote><p>&lt;VirtualHost *&gt;<br />
&#8230;<br />
ProxyRequests Off</p>
<p>Order deny,allow<br />
Allow from all<br />
ProxyPass /webserver/ http://192.168.1.2:80/<br />
ProxyPassReverse /webserver/ http://192.168.1.2:80/</p>
<p>ProxyPass /groupware/ http://192.168.1.3:80/<br />
ProxyPassReverse /groupware/ http://192.168.1.3:80/<br />
&#8230;<br />
&lt;/VirtualHost&gt;</p></blockquote>
<p>Nun gilt es einfach alle Server einzutragen und dann den Webserver nochmals neu zustarten. Nun trägt man ein Portforwarding im Router ein und kann somit beide Server auf Port 80 ansprechen.</p>
<p>Vielen Dank an das <a target="_blank" href="http://wiki.ubuntuusers.de/Apache/modproxyhtml"  target="_self">Ubuntuusers-Wiki</a> <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.encodingit.ch/2009/10/reverse-proxy-als-vermittler/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

