<?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/category/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>Lizenz Server für abgeschottete Netzwerke</title>
		<link>http://blog.encodingit.ch/2012/01/lizenz-server-fur-abgeschottete-netzwerke/</link>
		<comments>http://blog.encodingit.ch/2012/01/lizenz-server-fur-abgeschottete-netzwerke/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 06:00:44 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[KMS]]></category>
		<category><![CDATA[Vista]]></category>

		<guid isPermaLink="false">http://blog.encodingit.ch/?p=3001</guid>
		<description><![CDATA[Ein Lizenzserver ist unter Windows eine ganz einfache Sache. Unter Windows 2008 sogar noch einfacher als unter 2003 und trotzdem kann er viel Arbeit abnehmen. So hilft er zum Beispiel wenn man aus Gründen, welche auch ich nicht verstehe, noch Vista einsetzt, und zwar in einer komplett abgeschotteten Umgebung.
Dies würde heissen, da die Maschinen selbst kein Internet haben, dass jede Maschine per Telefon aktiviert werden müsste. Dies braucht nicht nur Zeit, sondern auch Nerven, da das Aktivieren via Telefon alles andere als Produktiv ist!
Das könnte dich auch interessieren:<ol>
<li><a href='http://blog.encodingit.ch/2011/11/windows-session-credentials-cannot-be-used-to-log-into-this-server/' rel='bookmark' title='Windows session credentials cannot be used to log into this server'>Windows session credentials cannot be used to log into this server</a> <small>Ist der ESX-Server ans AD angebunden, so liegt es ja...</small></li>
<li><a href='http://blog.encodingit.ch/2011/12/syslog-server-fur-esxi/' rel='bookmark' title='Syslog Server für ESXi'>Syslog Server für ESXi</a> <small>Nach dem ich entdeckt hatte, dass der ESX so intelligent...</small></li>
</ol><img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Ein Lizenzserver ist unter Windows eine ganz einfache Sache. Unter Windows 2008 sogar noch einfacher als unter 2003 und trotzdem kann er viel Arbeit abnehmen. So hilft er zum Beispiel wenn man aus Gründen, welche auch ich nicht verstehe, noch Vista einsetzt, und zwar in einer komplett abgeschotteten Umgebung.<br />
Dies würde heissen, da die Maschinen selbst kein Internet haben, dass jede Maschine per Telefon aktiviert werden müsste. Dies braucht nicht nur Zeit, sondern auch Nerven, da das Aktivieren via Telefon alles andere als Produktiv ist!</p>
<p>Also bietet sich ein Lizenzserver an. Dieser wird mit Internetverbindung hochgezogen, KMS aktiviert und von Microsoft validiert und dann in die geschützte Umgebung verschoben. Die Vista Maschinen aktivieren ihren Schlüssel von nun an nur noch über den Lizenzserver. So braucht keine der Maschinen, weder Client noch Server im laufenden Betrieb je wieder eine Internetverbindung.</p>
<p>Installiert ist das ganz einfach. Unter Windows 2003 lädt man sich den <a href="http://www.microsoft.com/download/en/details.aspx?id=4766"  target="_blank">Key Management Service 1.1 für Server 2003</a> passend zur Architektur herunter und installiert diesen.<br />
Danach wird ein Volumekey von Microsoft benötigt für Windows 2003 oder Windows 2008 mit der Option Vista als KMS zu aktivieren. Ist auch dieser aufgetrieben, so kann  über das Kommando slmgr die ganze Installation durchgeführt werden. Zuerst wird der Key eingepflegt:</p>
<pre class="brush: bash; title: ; notranslate">
slmgr /ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
</pre>
<p>Und dann noch bei Microsoft validiert:</p>
<pre class="brush: bash; title: ; notranslate">
slmgr /ato
</pre>
<p>Sind beide Vorgänge erfolgreich, so kann die Maschine in die geschützte Umgebung verschoben werden. Idealerweise läuft auf der selben Maschine auch gleich noch ein AD / DNS, dann werden auch gleich noch die passenden DNS-Einträge generiert.</p>
<p>Auf allen Vista Maschinen kann nun der folgende Key eingetragen werden:</p>
<blockquote><p>
Windows Vista Business &#8211; YFKBB-PQJJV-G996G-VWGXY-2V3X8<br />
Windows Vista Business N &#8211; HMBQG-8H2RH-C77VX-27R82-VMQBT<br />
Windows Vista Enterprise &#8211; VKK3X-68KWM-X2YGT-QR4M6-4BWMV<br />
Windows Vista Enterprise N &#8211; VTC42-BM838-43QHV-84HX6-XJXKV
</p></blockquote>
<p>Dies sind nur Standardkeys, welche dem Lizenzserver zur Erkennung dienen.</p>
<p>Auf dem Lizenzserver wiederrum kann man nun mit slmgr wiederrum sehen, wie viel Requests man schon bekommen hat:</p>
<pre class="brush: bash; title: ; notranslate">
slmgr /dli
</pre>
<p>Sobald der Count die Zahl 25 erreicht hat, also sobald 25 Maschinen sich aktivieren wollen, werden die Maschinen validiert. Vorher, und fragt mich jetzt ja nicht nach dem Sinn dahinter, gibt der Lizenzserver immer einen Fehler zurück. Wer also weniger als 25 Maschinen hat, der muss noch ein paar Virtuelle Maschinen oder ähnliches dazu aktivieren.</p>
<br /><p>Das könnte dich auch interessieren:<ol>
<li><a href='http://blog.encodingit.ch/2011/11/windows-session-credentials-cannot-be-used-to-log-into-this-server/' rel='bookmark' title='Windows session credentials cannot be used to log into this server'>Windows session credentials cannot be used to log into this server</a> <small>Ist der ESX-Server ans AD angebunden, so liegt es ja...</small></li>
<li><a href='http://blog.encodingit.ch/2011/12/syslog-server-fur-esxi/' rel='bookmark' title='Syslog Server für ESXi'>Syslog Server für ESXi</a> <small>Nach dem ich entdeckt hatte, dass der ESX so intelligent...</small></li>
</ol></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/2012/01/lizenz-server-fur-abgeschottete-netzwerke/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>host_name ändern in Nagios: Bug?</title>
		<link>http://blog.encodingit.ch/2011/12/host_name-andern-in-nagios-bug/</link>
		<comments>http://blog.encodingit.ch/2011/12/host_name-andern-in-nagios-bug/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 07:00:48 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Nagios]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://blog.encodingit.ch/?p=2867</guid>
		<description><![CDATA[In Nagios ist es nicht so einfach, wenn ein Server umbenannt wird...
Ein Neuling in Nagios wird intuitiv in die Konfigurationsdatei XYZ.cfg gehen und darin den neuen Namen unter "host_name" eintragen. Dann noch ein Reload des Daemons und... nichts hat sich geändert! Noch immer erscheint der alte Name in der Webseite.
Das könnte dich auch interessieren:<ol>
<li><a href='http://blog.encodingit.ch/2011/08/unbekannte-systeme-in-nagios/' rel='bookmark' title='Unbekannte Systeme in Nagios'>Unbekannte Systeme in Nagios</a> <small>Die Nagios Status Map ist ja eine ganz feine Sache,...</small></li>
<li><a href='http://blog.encodingit.ch/2011/08/notification-von-nagios-ans-iphone/' rel='bookmark' title='Notification von Nagios ans iPhone'>Notification von Nagios ans iPhone</a> <small>Auf der Suche nach einer Lösung, wie ich die Notifications...</small></li>
<li><a href='http://blog.encodingit.ch/2011/09/windows-updates-prufen-mit-nagios/' rel='bookmark' title='Windows Updates prüfen mit Nagios'>Windows Updates prüfen mit Nagios</a> <small>Um unserer Server optimal überwachen zu können, habe ich eine...</small></li>
<li><a href='http://blog.encodingit.ch/2011/08/nagios-als-inventory-losung/' rel='bookmark' title='Nagios als Inventory-Lösung'>Nagios als Inventory-Lösung</a> <small>Heute bin ich über ein interessantes Script gestossen, welches aus...</small></li>
<li><a href='http://blog.encodingit.ch/2011/09/nrpe-module-installieren/' rel='bookmark' title='NRPE Module installieren'>NRPE Module installieren</a> <small>Aktuell arbeite ich an einer Lösung, um mittels Nagios zu...</small></li>
</ol><img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>In Nagios ist es nicht so einfach, wenn ein Server umbenannt wird&#8230;<br />
Ein Neuling in Nagios wird intuitiv in die Konfigurationsdatei XYZ.cfg gehen und darin den neuen Namen unter &#8220;host_name&#8221; eintragen. Dann noch ein Reload des Daemons und&#8230; nichts hat sich geändert! Noch immer erscheint der alte Name in der Webseite.<br />
Nochmals ein Blick in die Konfigurationsdatei; da ist alles richtig eingetragen. Die Seite wird nochmals neu geladen und weil immer noch der alte Name da steht, beginnt man an der eigenen Sehkraft zu zweifeln!</p>
<p>Die alteingesessenen Nagios-Admins kennen das Problem: Es ist keines, es ist ein Feature &#8211; so habe ich mich von der Community belehren lassen!</p>
<p>Es hängt zusammen mit einer Statusdatei, welche Nagios anlegt, damit nach einem Neustart des Daemons nicht immer alle Checks ohne Daten dastehen und erst alles wieder aufgebaut werden muss. Deshalb wird darin der letzte Zustand gespeichert und dann auch abgerufen.<br />
Wieso dabei auch der Hostname gespeichert und aus dieser Datei anstelle der Konfigurationsdatei ausgelesen wird, kann ich mir leider nicht erklären. Aber eben: Das ist ein Feature, kein Bug!</p>
<p>Die Lösung des Problems liegt darin, dass der Name nicht nur in der offiziellen Konfigurationsdatei, sondern auch in der Statusdatei unter <strong>var/retention.dat</strong> angepasst wird. Bevor das geschieht, muss aber der Nagios-Daemon gestoppt werden. </p>
<p>Also (der Pfad der Nagios-Installation bitte anpassen):</p>
<pre class="brush: bash; title: ; notranslate">
/etc/init.d/nagios stop
vi /usr/local/nagios/var/retention.dat
/etc/init.d/nagios start
</pre>
<p>Verzweifelt nicht an euer Sehkraft, es ist wirklich so <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<br /><p>Das könnte dich auch interessieren:<ol>
<li><a href='http://blog.encodingit.ch/2011/08/unbekannte-systeme-in-nagios/' rel='bookmark' title='Unbekannte Systeme in Nagios'>Unbekannte Systeme in Nagios</a> <small>Die Nagios Status Map ist ja eine ganz feine Sache,...</small></li>
<li><a href='http://blog.encodingit.ch/2011/08/notification-von-nagios-ans-iphone/' rel='bookmark' title='Notification von Nagios ans iPhone'>Notification von Nagios ans iPhone</a> <small>Auf der Suche nach einer Lösung, wie ich die Notifications...</small></li>
<li><a href='http://blog.encodingit.ch/2011/09/windows-updates-prufen-mit-nagios/' rel='bookmark' title='Windows Updates prüfen mit Nagios'>Windows Updates prüfen mit Nagios</a> <small>Um unserer Server optimal überwachen zu können, habe ich eine...</small></li>
<li><a href='http://blog.encodingit.ch/2011/08/nagios-als-inventory-losung/' rel='bookmark' title='Nagios als Inventory-Lösung'>Nagios als Inventory-Lösung</a> <small>Heute bin ich über ein interessantes Script gestossen, welches aus...</small></li>
<li><a href='http://blog.encodingit.ch/2011/09/nrpe-module-installieren/' rel='bookmark' title='NRPE Module installieren'>NRPE Module installieren</a> <small>Aktuell arbeite ich an einer Lösung, um mittels Nagios zu...</small></li>
</ol></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/12/host_name-andern-in-nagios-bug/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Ich weiss, was du dir runterlädst!</title>
		<link>http://blog.encodingit.ch/2011/12/ich-weiss-was-du-dir-runterladst/</link>
		<comments>http://blog.encodingit.ch/2011/12/ich-weiss-was-du-dir-runterladst/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 15:11:37 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Torrent]]></category>

		<guid isPermaLink="false">http://blog.encodingit.ch/?p=2858</guid>
		<description><![CDATA[Ja, weiss ich wirklich. Naja, wenn ich deine IP habe - dann schon...<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Ja, weiss ich wirklich. Naja, wenn ich deine IP habe &#8211; dann schon&#8230;</p>
<p>Heute habe ich eine interessante Seite entdeckt, die nennt sich <a href="http://youhavedownloaded.com"  target="_blank">youhavedownloaded.com</a>. Dies ist eine Suchmaschine für eine Datenbank, welche sich an öffentliche Torrent Tracker anhängt und jeden Zugriff mit IP und Dateiname protokolliert.<br />
Und die Datenbank kann sich echt sehen lassen:</p>
<blockquote><p>
Users in database: 52,902,000<br />
Torrents: 113,200<br />
Files: 1,955,000<br />
Files size: (106.07 TB)
</p></blockquote>
<p>Die Seite ist darauf ausgerichtet, um zu sehen, ob die eigenen Downloads protokolliert wurden, doch viel interessanter finde ich es, das ganze mal in der Firma laufen zu lassen.<br />
Da kannst du live mitverfolgen, was so alles heruntergeladen wird. <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
Für Private ist es eher langweilig, wegen der dynamischen IPs, welche die meisten Provider vergeben!</p>
<p>Und ja, ich weiss! Torrents gibt es nicht nur für illegale Downloads, aber die Statistiken von youhavedownloaded.com sprechen auch hier Bände:</p>
<blockquote><p>
<strong>Top 5 themes</strong><br />
Music<br />
Movies<br />
TV-shows<br />
Games<br />
Applications</p>
<p><strong>Top 5 regions</strong><br />
China<br />
United States<br />
Spain<br />
United Kingdom<br />
Taiwan
</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/12/ich-weiss-was-du-dir-runterladst/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH von ESXi absichern</title>
		<link>http://blog.encodingit.ch/2011/12/ssh-von-esxi-absichern/</link>
		<comments>http://blog.encodingit.ch/2011/12/ssh-von-esxi-absichern/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 07:30:18 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[ESX]]></category>
		<category><![CDATA[ESXi]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[Syslog]]></category>

		<guid isPermaLink="false">http://blog.encodingit.ch/?p=2830</guid>
		<description><![CDATA[Vor kurzem habe ich ja bereits über Syslog geschrieben. Jeder der schon mal einen Server in den weiten des Internets betrieben hat (damit meine ich nicht zu Hause im eigenen Netzwerk), der weiss, wie schnell es geht, bis die ersten Bots und Kiddies mit endlosen Versuchen probieren, das SSH-Passwort zu knacken.
Das könnte dich auch interessieren:<ol>
<li><a href='http://blog.encodingit.ch/2011/12/syslog-server-fur-esxi/' rel='bookmark' title='Syslog Server für ESXi'>Syslog Server für ESXi</a> <small>Nach dem ich entdeckt hatte, dass der ESX so intelligent...</small></li>
<li><a href='http://blog.encodingit.ch/2011/11/esxi-sichern-auf-ftp/' rel='bookmark' title='ESXi sichern auf FTP'>ESXi sichern auf FTP</a> <small>Vor einiger Zeit hatte ich die Aufgabe ein Backup-Konzept für...</small></li>
<li><a href='http://blog.encodingit.ch/2011/09/vmware-image-fur-esxi-aufbereiten/' rel='bookmark' title='Vmware Image für ESXi aufbereiten'>Vmware Image für ESXi aufbereiten</a> <small>Für eine Analyse gab es diese Woche eine Installation von...</small></li>
<li><a href='http://blog.encodingit.ch/2011/04/dns-320-mit-fun_plug-zu-ssh/' rel='bookmark' title='DNS-320 mit fun_plug zu SSH'>DNS-320 mit fun_plug zu SSH</a> <small>Ganz cool an meinem NAS DNS-320 ist die Funktion des...</small></li>
<li><a href='http://blog.encodingit.ch/2011/08/nat-konfigurieren-unter-esxi/' rel='bookmark' title='NAT konfigurieren unter ESX(i)'>NAT konfigurieren unter ESX(i)</a> <small>NAT ist so eine Sache. Unter Vmware Workstation sehr einfach...</small></li>
</ol><img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Vor kurzem habe ich ja bereits über Syslog geschrieben. Jeder der schon mal einen Server in den weiten des Internets betrieben hat (damit meine ich nicht zu Hause im eigenen Netzwerk), der weiss, wie schnell es geht, bis die ersten Bots und Kiddies mit endlosen Versuchen probieren, das SSH-Passwort zu knacken.<br />
Für Linux-Distributionen wie Ubuntu, Debian, RedHat oder was auch immer gibt es unzählige Tools und Applikationen, welche helfen entweder den SSH-Zugriff zu verstecken, oder aber zu verteidigen.</p>
<p>Beides gibt es leider nicht bei meinem ESXi Server. Noch nicht mal eine anständige iptable oder hosts.deny sind vorhanden, geschweige  denn von einer Firewall, wie es bei ESX Standard ist.</p>
<p>Um jedoch mal zu sehen, wie viele Personen versuchen, mein SSH zu knacken, habe ich ein einfaches kleines Script für Nagios geschrieben.</p>
<p>Ich weiss es kann noch viel optimiert werden dabei, doch es erfüllt seinen Zweck:</p>
<pre class="brush: bash; title: ; notranslate">
#!/bin/bash

# ####################################################################
# Check Syslog /var/log/SPLVS002.log for Brute Force Attacks via SSH
# by Patrick Schmid
# Version 1.0
######################################################################

export STATE_OK=0
export STATE_WARNING=1

time=`date +%H.%M.%S |cut -d'.' -f1`
time=`echo $time|sed 's/^0*//'`
time2=$(( $time - 1))
time3=$(( $time - 2))

if [ $time -lt 10 ]; then
        time=0$time
fi

if [ $time2 -lt 10 ]; then
        time2=0$time2
fi

if [ $time3 -lt 10 ]; then
        time3=0$time3
fi

compare=`tail -300 /var/log/SPLVS002.log |grep &quot;from&quot; |grep &quot;root&quot; |grep &quot;attempt&quot; | cut -d' ' -f3`
compare=`echo $compare | cut -d' ' -f1`

if [ $compare -lt 10  ]; then
        attackers=`tail -300 /var/log/SPLVS002.log |grep &quot;from&quot; |grep &quot;root&quot; |grep &quot;attempt&quot; | cut -d' ' -f4,14 |cut -d':' -f1,2,3 |sed -e 's/://' | tee -a |sed -e 's/://' |tee -a |grep &quot;^$time\|^$time2\|^$time3&quot; |cut -d' ' -f2 |sort |uniq`
        computers=`tail -300 /var/log/SPLVS002.log |grep &quot;from&quot; |grep &quot;root&quot; |grep &quot;attempt&quot; | cut -d' ' -f4,14 |cut -d':' -f1,2,3 |sed -e 's/://' | tee -a |sed -e 's/://' |tee -a |grep &quot;^$time\|^$time2\|^$time3&quot; |cut -d' ' -f2 |sort |uniq |wc -l`
        attemps=`tail -300 /var/log/SPLVS002.log |grep &quot;from&quot; |grep &quot;root&quot; |grep &quot;attempt&quot; | cut -d' ' -f4,14 |cut -d':' -f1,2,3 |sed -e 's/://' | tee -a |sed -e 's/://' |tee -a |grep &quot;^$time\|^$time2\|^$time3&quot; |cut -d' ' -f2 |sort |wc -l`
else
        attackers=`tail -300 /var/log/SPLVS002.log |grep &quot;from&quot; |grep &quot;root&quot; |grep &quot;attempt&quot; | cut -d' ' -f3,13 |cut -d':' -f1,2,3 |sed -e 's/://' | tee -a |sed -e 's/://' |tee -a |grep &quot;^$time\|^$time2\|^$time3&quot; |cut -d' ' -f2 |sort |uniq`
        computers=`tail -300 /var/log/SPLVS002.log |grep &quot;from&quot; |grep &quot;root&quot; |grep &quot;attempt&quot; | cut -d' ' -f3,13 |cut -d':' -f1,2,3 |sed -e 's/://' | tee -a |sed -e 's/://' |tee -a |grep &quot;^$time\|^$time2\|^$time3&quot; |cut -d' ' -f2 |sort |uniq |wc -l`
        attemps=`tail -300 /var/log/SPLVS002.log |grep &quot;from&quot; |grep &quot;root&quot; |grep &quot;attempt&quot; | cut -d' ' -f3,13 |cut -d':' -f1,2,3 |sed -e 's/://' | tee -a |sed -e 's/://' |tee -a |grep &quot;^$time\|^$time2\|^$time3&quot; |cut -d' ' -f2 |sort |wc -l`
fi

[ &quot;$attackers&quot; ] &amp;&amp; echo -e &quot;$attemps attemps from $computers attackers\n$attackers&quot;
[ &quot;$attackers&quot; ] || echo &quot;No Attack running&quot;

[ &quot;$attackers&quot; ] &amp;&amp; exit $STATE_WARNING
[ &quot;$attackers&quot; ] || exit $STATE_OK</pre>
<p>Und schon sieht man in Nagios selbst, was so abgeht:</p>
<p><span id="more-2830"></span></p>
<p><a href="http://blog.encodingit.ch/wp-content/uploads/2011/11/bruteforce1.png"  rel="lightbox[2830]"><img class="size-medium wp-image-2765 alignnone" title="Nagios Brute Force" src="http://blog.encodingit.ch/wp-content/uploads/2011/11/bruteforce1.png" alt="" width="500" /></a></p>
<p>So dann weiter im Konzept! Es gibt zwar keine Möglichkeit, Angreifer aussperren oder ähnliches, jedoch aber kann man verhindern, dass das Passwort erraten werden kann, indem man das Login mit einem zusätzlichen Zertifikat schützt. Wie das geht, lest ihr in den folgenden Zeilen!</p>
<p>Zuerst wird ein Key generiert, mit ssh-keygen.<br />
Nun kann der Public-Key kopiert werden, denn dieser muss auf den ESX wie folgt eingefügt werden:</p>
<pre class="brush: bash; title: ; notranslate">
mkdir /.ssh
touch /.ssh/authorized_keys
chmod 0600 -R /.ssh
echo &quot;ssh-rsa KEY_HIER_EINFÜGEN&quot; &gt;&gt; /.ssh/authorized_keys
</pre>
<p>Nun kann man das Login schon mal prüfen. Hier sollte man bereits mit dem Key einloggen können.</p>
<p>Jetzt wird das ganze noch abgesichert, damit es auch einen Reboot übersteht. Einfach den obigen Part in die Datei /etc/rc.local einfügen und abspeichern.<br />
Und zu guter Letzt wird noch das Login ohne Zertifikat deaktiviert. Dazu wird in der Datei /etc/inetd.conf den beiden Punkten &#8220;ssh&#8221; der Parameter -s angefügt:</p>
<pre class="brush: bash; title: ; notranslate">
ssh      stream   tcp   nowait   root   /sbin/dropbearmulti   dropbear ++min=0,swap,group=shell -s -i -K60
ssh      stream   tcp6  nowait   root   /sbin/dropbearmulti   dropbear ++min=0,swap,group=shell -s -i -K60
</pre>
<p>Von nun an ist ein Login nur noch mit Zertifikat möglich, wodurch auch die lästigen Bots ausgebremst werden.</p>
<br /><p>Das könnte dich auch interessieren:<ol>
<li><a href='http://blog.encodingit.ch/2011/12/syslog-server-fur-esxi/' rel='bookmark' title='Syslog Server für ESXi'>Syslog Server für ESXi</a> <small>Nach dem ich entdeckt hatte, dass der ESX so intelligent...</small></li>
<li><a href='http://blog.encodingit.ch/2011/11/esxi-sichern-auf-ftp/' rel='bookmark' title='ESXi sichern auf FTP'>ESXi sichern auf FTP</a> <small>Vor einiger Zeit hatte ich die Aufgabe ein Backup-Konzept für...</small></li>
<li><a href='http://blog.encodingit.ch/2011/09/vmware-image-fur-esxi-aufbereiten/' rel='bookmark' title='Vmware Image für ESXi aufbereiten'>Vmware Image für ESXi aufbereiten</a> <small>Für eine Analyse gab es diese Woche eine Installation von...</small></li>
<li><a href='http://blog.encodingit.ch/2011/04/dns-320-mit-fun_plug-zu-ssh/' rel='bookmark' title='DNS-320 mit fun_plug zu SSH'>DNS-320 mit fun_plug zu SSH</a> <small>Ganz cool an meinem NAS DNS-320 ist die Funktion des...</small></li>
<li><a href='http://blog.encodingit.ch/2011/08/nat-konfigurieren-unter-esxi/' rel='bookmark' title='NAT konfigurieren unter ESX(i)'>NAT konfigurieren unter ESX(i)</a> <small>NAT ist so eine Sache. Unter Vmware Workstation sehr einfach...</small></li>
</ol></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/12/ssh-von-esxi-absichern/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Syslog Server für ESXi</title>
		<link>http://blog.encodingit.ch/2011/12/syslog-server-fur-esxi/</link>
		<comments>http://blog.encodingit.ch/2011/12/syslog-server-fur-esxi/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 14:30:10 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[ESX]]></category>
		<category><![CDATA[ESXi]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[Syslog]]></category>

		<guid isPermaLink="false">http://blog.encodingit.ch/?p=2823</guid>
		<description><![CDATA[Nach dem ich entdeckt hatte, dass der ESX so intelligent ist und seine Logs standardmässig auf einer RAM-Disk speichert, musste natürlich eine andere Lösung her. Kann ja nicht sein, dass die Logs nach einem Ausfall einfach nicht mehr vorhanden sind.
Somit habe ich mich für eine zentrale Logspeicherung mit Syslog entschieden.
Das könnte dich auch interessieren:<ol>
<li><a href='http://blog.encodingit.ch/2011/11/esxi-sichern-auf-ftp/' rel='bookmark' title='ESXi sichern auf FTP'>ESXi sichern auf FTP</a> <small>Vor einiger Zeit hatte ich die Aufgabe ein Backup-Konzept für...</small></li>
<li><a href='http://blog.encodingit.ch/2011/09/vmware-image-fur-esxi-aufbereiten/' rel='bookmark' title='Vmware Image für ESXi aufbereiten'>Vmware Image für ESXi aufbereiten</a> <small>Für eine Analyse gab es diese Woche eine Installation von...</small></li>
<li><a href='http://blog.encodingit.ch/2011/11/windows-session-credentials-cannot-be-used-to-log-into-this-server/' rel='bookmark' title='Windows session credentials cannot be used to log into this server'>Windows session credentials cannot be used to log into this server</a> <small>Ist der ESX-Server ans AD angebunden, so liegt es ja...</small></li>
<li><a href='http://blog.encodingit.ch/2011/04/dns-320-mit-fun_plug-zu-ssh/' rel='bookmark' title='DNS-320 mit fun_plug zu SSH'>DNS-320 mit fun_plug zu SSH</a> <small>Ganz cool an meinem NAS DNS-320 ist die Funktion des...</small></li>
<li><a href='http://blog.encodingit.ch/2011/08/nat-konfigurieren-unter-esxi/' rel='bookmark' title='NAT konfigurieren unter ESX(i)'>NAT konfigurieren unter ESX(i)</a> <small>NAT ist so eine Sache. Unter Vmware Workstation sehr einfach...</small></li>
</ol><img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Nach dem ich entdeckt hatte, dass der ESX so intelligent ist und seine Logs standardmässig auf einer RAM-Disk speichert, musste natürlich eine andere Lösung her. Kann ja nicht sein, dass die Logs nach einem Ausfall einfach nicht mehr vorhanden sind.<br />
Somit habe ich mich für eine zentrale Logspeicherung mit Syslog entschieden.</p>
<p>Da ich sowas noch nie eingerichtet hatte, war ich mir nicht ganz sicher, was auf mich zu kommen würde. Nun aber kann ich sagen, schreckt nicht davor zurück! Das Einrichten geht schnell und einfach und der Gewinn daraus ist enorm.</p>
<p>Auf meinem Ubuntu Server habe ich mich für syslog-ng entschieden, welches problemlos über die Paketquellen installiert werden kann:</p>
<pre class="brush: bash; title: ; notranslate">
apt-get install syslog-ng
</pre>
<p>Nun muss die Konfiguration unter /etc/syslog-ng/syslog-ng.conf angepasst werden.<br />
Eingefügt habe ich die folgenden Punkte für jeweils einen ESX und einen normalen Ubuntu-Server:</p>
<pre class="brush: bash; title: ; notranslate">
source s_udp
{
        udp(port(514));
};

destination d_server1 {
        file(&quot;/var/log/server1.log&quot;);
};

filter f_server1 {
        host(&quot;192.168.1.45&quot;);
};

log {
        source(s_udp);
        filter(f_server1);
        destination(d_server1);
};

destination d_server2 {
        file (&quot;/var/log/server2.log&quot;);
};

filter f_server2 {
        host(&quot;192.168.1.23&quot;);
};

log {
        source(s_udp);
        filter(f_server2);
        destination(d_server2);
};
</pre>
<p>Somit sei es den beiden Hosts mit der Adresse 192.168.1.23 und 192.168.1.45 über den Port UDP/514 erlaubt, Daten an den Syslog-Server zu senden, welche jeweils unter /var/log/server1.log und server2.log abgelegt werden.</p>
<p><span id="more-2823"></span></p>
<p>Noch neustarten und gut ist:</p>
<pre class="brush: bash; title: ; notranslate">
/etc/init.d/syslog-ng restart
</pre>
<p>Nun geht es weiter auf den zu überwachenden Servern!<br />
Hier fügt man folgende Zeile in die Konfiguration unter /etc/syslog.conf ein:</p>
<pre class="brush: bash; title: ; notranslate">
*.* @192.168.1.25
</pre>
<p>192.168.1.25 ist dabei natürlich die IP des Syslog-Servers. Aktuell wird hier alles geloggt, was so auf der Maschine abgeht. Wer das ganze noch genauer spezifizieren will, der findet entsprechende Parameter bei Google.<br />
Auch hier ist noch ein Neustart nötig und schon sind die entsprechenden Infos auf dem Syslog-Server ersichtlich:</p>
<pre class="brush: bash; title: ; notranslate">
/etc/init.d/sysklogd restart
</pre>
<p>Auf dem ESX Server kann der Syslog-Server über den vSpehre-Client gesetzt werden. Einfach unter &#8220;Configuration&#8221; > &#8220;Advanced Settings&#8221; > &#8220;Syslog&#8221; > &#8220;remote&#8221; IP und Port eintragen.</p>
<p>Und nun dürft ihr auch schon all die Kiddies und Bots bewundern, welche versuchen euer SSH-Passwort zu knacken <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<pre class="brush: bash; title: ; notranslate">
Nov 30 12:17:17 server1 sshd[11775]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:19 server1 sshd[11775]: Failed password for root from 180.227.218.245 port 34035 ssh2
Nov 30 12:17:22 server1 sshd[11777]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:23 server1 sshd[11777]: Failed password for root from 180.227.218.245 port 34311 ssh2
Nov 30 12:17:26 server1 sshd[11779]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:28 server1 sshd[11779]: Failed password for root from 180.227.218.245 port 34525 ssh2
Nov 30 12:17:30 server1 sshd[11784]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:33 server1 sshd[11784]: Failed password for root from 180.227.218.245 port 34770 ssh2
Nov 30 12:17:35 server1 sshd[11795]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:37 server1 sshd[11795]: Failed password for root from 180.227.218.245 port 35037 ssh2
Nov 30 12:17:39 server1 sshd[11800]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:42 server1 sshd[11800]: Failed password for root from 180.227.218.245 port 35313 ssh2
Nov 30 12:17:44 server1 sshd[11805]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:47 server1 sshd[11805]: Failed password for root from 180.227.218.245 port 35591 ssh2
Nov 30 12:17:49 server1 sshd[11807]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:51 server1 sshd[11807]: Failed password for root from 180.227.218.245 port 35809 ssh2
Nov 30 12:17:54 server1 sshd[11842]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:17:56 server1 sshd[11842]: Failed password for root from 180.227.218.245 port 36091 ssh2
Nov 30 12:17:58 server1 sshd[11848]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
Nov 30 12:18:00 server1 sshd[11848]: Failed password for root from 180.227.218.245 port 36361 ssh2
Nov 30 12:18:02 server1 sshd[11850]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=180.227.218.245  user=root
</pre>
<p>Wer auch dem Abhelfen will, der soll sich mal das Tool denyhosts ansehen! Ansonsten ein sicheres Passwort, Zertifikate oder was ihr gerade lustig seid. <a href="http://bit.ly/sAZlMw"  target="_blank">Ideen gibts genug</a>!</p>
<br /><p>Das könnte dich auch interessieren:<ol>
<li><a href='http://blog.encodingit.ch/2011/11/esxi-sichern-auf-ftp/' rel='bookmark' title='ESXi sichern auf FTP'>ESXi sichern auf FTP</a> <small>Vor einiger Zeit hatte ich die Aufgabe ein Backup-Konzept für...</small></li>
<li><a href='http://blog.encodingit.ch/2011/09/vmware-image-fur-esxi-aufbereiten/' rel='bookmark' title='Vmware Image für ESXi aufbereiten'>Vmware Image für ESXi aufbereiten</a> <small>Für eine Analyse gab es diese Woche eine Installation von...</small></li>
<li><a href='http://blog.encodingit.ch/2011/11/windows-session-credentials-cannot-be-used-to-log-into-this-server/' rel='bookmark' title='Windows session credentials cannot be used to log into this server'>Windows session credentials cannot be used to log into this server</a> <small>Ist der ESX-Server ans AD angebunden, so liegt es ja...</small></li>
<li><a href='http://blog.encodingit.ch/2011/04/dns-320-mit-fun_plug-zu-ssh/' rel='bookmark' title='DNS-320 mit fun_plug zu SSH'>DNS-320 mit fun_plug zu SSH</a> <small>Ganz cool an meinem NAS DNS-320 ist die Funktion des...</small></li>
<li><a href='http://blog.encodingit.ch/2011/08/nat-konfigurieren-unter-esxi/' rel='bookmark' title='NAT konfigurieren unter ESX(i)'>NAT konfigurieren unter ESX(i)</a> <small>NAT ist so eine Sache. Unter Vmware Workstation sehr einfach...</small></li>
</ol></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/12/syslog-server-fur-esxi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vmware Image für ESXi aufbereiten</title>
		<link>http://blog.encodingit.ch/2011/09/vmware-image-fur-esxi-aufbereiten/</link>
		<comments>http://blog.encodingit.ch/2011/09/vmware-image-fur-esxi-aufbereiten/#comments</comments>
		<pubDate>Mon, 05 Sep 2011 13:36:20 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[ESX]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://blog.encodingit.ch/?p=2658</guid>
		<description><![CDATA[Für eine Analyse gab es diese Woche eine Installation von einem Kunden, welche für weitere Arbeiten in unsere ESX Umgebung eingespielt werden musste.
Noch unwissend, da ich eine solche Arbeit noch nie zuvor ausführen musste, dachte ich mir, ganz so kompliziert kann das ganze doch nicht sein, vmdk ist ja vmdk... Doch schön wärs!<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Für eine Analyse gab es diese Woche eine Installation von einem Kunden, welche für weitere Arbeiten in unsere ESX Umgebung eingespielt werden musste.<br />
Noch unwissend, da ich eine solche Arbeit noch nie zuvor ausführen musste, dachte ich mir, ganz so kompliziert kann das ganze doch nicht sein, vmdk ist ja vmdk&#8230; Doch schön wärs!</p>
<p>Importieren ging gut und schnell, beim ersten Starten dann das ernüchternde Ergebnis:</p>
<p><a href="http://blog.encodingit.ch/wp-content/uploads/2011/09/Untitled.png"  rel="lightbox[2658]"><img src="http://blog.encodingit.ch/wp-content/uploads/2011/09/Untitled.png" alt="" title="Untitled" width="451" height="311" class="alignnone size-full wp-image-2668" /></a></p>
<p><em>Unable to create virtual SCSI device for scsi0:0, &#8216;/vmfs/volumes/datastore1/test/old.vmdk&#8217; Failed to open disk scsi0:0: Unsupported or invalid disk type 7. Make sure that the disk has been imported. </em></p>
<p>Die Fehlermeldung produziert zwar viel Text, sagt aber nicht wirklich etwas aus&#8230; Ein einfaches &#8220;Falsche Vmware Version des vmdk&#8221; wäre weit aufschlussreicher gewesen.<br />
Wie auch immer schlussendlich aber, konnte ich dank der 7 im Namen, welche sehr wahrscheinlich auf die <em>Virtual Maschine Version: 7</em> verweist, den Fehler auf eine veraltete Version eingrenzen, worauf auch die Lösung sehr schnell gefunden war:</p>
<pre class="brush: bash; title: ; notranslate">
~ # vmkfstools -d thin -i &quot;/vmfs/volumes/datastore1/test/old.vmdk&quot; &quot;/vmfs/volumes/datastore1/test/new.vmdk&quot;
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/datastore1/test/old.vmdk'...
Clone: 100% done.
~ #
</pre>
<p>Und seither läuft die Maschine wunderbar!</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/09/vmware-image-fur-esxi-aufbereiten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NAT konfigurieren unter ESX(i)</title>
		<link>http://blog.encodingit.ch/2011/08/nat-konfigurieren-unter-esxi/</link>
		<comments>http://blog.encodingit.ch/2011/08/nat-konfigurieren-unter-esxi/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 12:15:15 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[ESXi]]></category>
		<category><![CDATA[pfSense]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://blog.encodingit.ch/?p=2599</guid>
		<description><![CDATA[NAT ist so eine Sache. Unter Vmware Workstation sehr einfach und sauber gelöst, unter ESX(i) leider gänzlich unbekannt. Eigentlich ist es auf einem Server ja auch gar nicht erwünscht, da jeder Server sowieso seine eigene, fixe IP bekommt, jedoch aber ist bei mir nur der undenkbare Fall eingetreten, dass ich zu Testzwecken eben doch NAT gebrauchen könnte.
Das könnte dich auch interessieren:<ol>
<li><a href='http://blog.encodingit.ch/2011/02/installation-von-moodle-unter-debian/' rel='bookmark' title='Installation von Moodle unter Debian'>Installation von Moodle unter Debian</a> <small>Moodle ist eine Lernplattform auf Basis von Opensource, welche bereits...</small></li>
</ol><img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>NAT ist so eine Sache. Unter Vmware Workstation sehr einfach und sauber gelöst, unter ESX(i) leider gänzlich unbekannt. Eigentlich ist es auf einem Server ja auch gar nicht erwünscht, da jeder Server sowieso seine eigene, fixe IP bekommt, jedoch aber ist bei mir nur der undenkbare Fall eingetreten, dass ich zu Testzwecken eben doch NAT gebrauchen könnte.</p>
<p>Also gilt es, das manuell einzurichten, was Vmware Workstation mir sonst abnimmt: Mit einem weiteren virtuellen Switch und einer Installation von pfSense.</p>
<p>Rein logisch sollte das so funktionieren: Der Client bezieht von pfSense eine interne IP, da er am selben Switch hängt, wie der DHCP. Ein Paket geht nun vom Client über den Switch zum LAN-Interface von pfSense und dann über das WAN-Interface auf den öffentlichen Switch ins Internet. Ganz einfach oder?</p>
<p><a href="http://blog.encodingit.ch/wp-content/uploads/2011/08/esxi_nat.png"  rel="lightbox[2599]"><img class="alignnone size-large wp-image-2604" title="esxi_nat" src="http://blog.encodingit.ch/wp-content/uploads/2011/08/esxi_nat-1024x629.png" alt="" width="655" height="402" /></a></p>
<p>Als erstes wird der virtuelle Switch zugefügt. Jedoch wird dieser nicht an ein virtuelles Interface gebunden, schliesslich soll da ja nichts nach draussen gehen.<br />
Nun wir eine VM erstellt mit zwei Netzwerkkarten, eine ans &#8220;VM Network&#8221;, welches über das Netzwerk erreichbar ist, und eine an das eben erstellte Netzwerk, nennen wir es &#8220;NAT Network&#8221;. Darauf wird nun pfSense installiert. Die Konfiguration ist gänzlich normal, es muss nur darauf geachtet werden, dass das WAN Interface der Karte mit Anbindung an das &#8220;VM Network&#8221; und das LAN Interface der Karte mit Anbindung an das &#8220;NAT Network&#8221; entspricht.</p>
<p>In ESX(i) würde das nun etwa so aussehen:</p>
<p><a href="http://blog.encodingit.ch/wp-content/uploads/2011/08/network.png"  rel="lightbox[2599]"><img class="alignnone size-medium wp-image-2600" title="network" src="http://blog.encodingit.ch/wp-content/uploads/2011/08/network-300x298.png" alt="" width="300" height="298" /></a></p>
<p>Nun kann eine neue Maschine einfach dem &#8220;NAT Network&#8221; zugefügt werden, und bezieht via DHCP eine IP Adresse! So schwer ist das ja gar nicht <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br /><p>Das könnte dich auch interessieren:<ol>
<li><a href='http://blog.encodingit.ch/2011/02/installation-von-moodle-unter-debian/' rel='bookmark' title='Installation von Moodle unter Debian'>Installation von Moodle unter Debian</a> <small>Moodle ist eine Lernplattform auf Basis von Opensource, welche bereits...</small></li>
</ol></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/08/nat-konfigurieren-unter-esxi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Die Updates im Griff mit MBSA</title>
		<link>http://blog.encodingit.ch/2011/08/die-updates-im-griff-mit-mbsa/</link>
		<comments>http://blog.encodingit.ch/2011/08/die-updates-im-griff-mit-mbsa/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 16:00:38 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[MBSA]]></category>
		<category><![CDATA[Patchmanagement]]></category>

		<guid isPermaLink="false">http://blog.encodingit.ch/?p=2563</guid>
		<description><![CDATA[Vor einiger Zeit mal hatte ich ein Stück Software von Microsoft verwendet, welches mir erlaubt, mit wenigen Klicks herauszufinden, welche Updates auf einem System installiert sind und welche noch nachinstalliert werden sollten. Klar Windows-Update kann das auch, jedoch gibt mir die Software neben den Namen auch gleich einen Link zur Microsoft-Seite, wo ich das entsprechende [...]<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 mal hatte ich ein Stück Software von Microsoft verwendet, welches mir erlaubt, mit wenigen Klicks herauszufinden, welche Updates auf einem System installiert sind und welche noch nachinstalliert werden sollten. Klar Windows-Update kann das auch, jedoch gibt mir die Software neben den Namen auch gleich einen Link zur Microsoft-Seite, wo ich das entsprechende Update herunterladen kann.<br />
Heute, auf der Suche nach einem Tool, welches mir anzeigt, welche Patches und Updates ich auf meinen Servern noch installieren muss, bin ich wieder über das altbekannte Tool <a href="http://technet.microsoft.com/en-us/security/cc184923"  target="_blank">Baseline Security Analyzer</a> von Microsoft gestolpert.</p>
<p><a href="http://blog.encodingit.ch/wp-content/uploads/2011/08/mbsa.png"  rel="lightbox[2563]"><img src="http://blog.encodingit.ch/wp-content/uploads/2011/08/mbsa-300x265.png" alt="" title="mbsa" width="300" height="265" class="alignnone size-medium wp-image-2564" /></a></p>
<p>Das Tool ermöglicht es mir, auf einfache und bequeme Art und Weise eine Maschine (auch remote) mit einer von Microsoft gepflegten Datenbank mit allen Updates querzuvergleichen. Nach dem Vergleich erhalte ich eine Liste, mit allen Updates die mir noch fehlen. Als Bonus prüft es auch noch weitere, mögliche Sicherheitslücken, wie Passwörter ohne Ablaufdatum u.ä.:</p>
<p><a href="http://blog.encodingit.ch/wp-content/uploads/2011/08/report.png"  rel="lightbox[2563]"><img src="http://blog.encodingit.ch/wp-content/uploads/2011/08/report-232x300.png" alt="" title="report" width="232" height="300" class="alignnone size-medium wp-image-2565" /></a></p>
<p><span id="more-2563"></span></p>
<p>Doch beim Versuch meine Server zu prüfen habe ich den Fehler erhalten, dass eine Prüfung nicht möglich sei, weil die Windows Firewall blocken würde. Doch ganz ausschalten war für mich auch nicht wirklich eine Option, weshalb ich mich auf die Suche nach den verwendeten Ports gemacht habe. Fündig wurde ich schlussendlich bei Microsoft Technet:</p>
<p>TCP 135<br />
TCP 139<br />
TCP 445<br />
UDP 137<br />
UDP 138</p>
<p>Also habe ich bei der Windows-Firewall auf den Servern eine Ausnahme zugefügt:</p>
<p><a href="http://blog.encodingit.ch/wp-content/uploads/2011/08/port.png"  rel="lightbox[2563]"><img src="http://blog.encodingit.ch/wp-content/uploads/2011/08/port-300x201.png" alt="" title="port" width="300" height="201" class="alignnone size-medium wp-image-2567" /></a>  <a href="http://blog.encodingit.ch/wp-content/uploads/2011/08/enterports.png"  rel="lightbox[2563]"><img src="http://blog.encodingit.ch/wp-content/uploads/2011/08/enterports-300x201.png" alt="" title="enterports" width="300" height="201" class="alignnone size-medium wp-image-2568" /></a>  <a href="http://blog.encodingit.ch/wp-content/uploads/2011/08/allowconnections.png"  rel="lightbox[2563]"><img src="http://blog.encodingit.ch/wp-content/uploads/2011/08/allowconnections-300x201.png" alt="" title="allowconnections" width="300" height="201" class="alignnone size-medium wp-image-2569" /></a>  <a href="http://blog.encodingit.ch/wp-content/uploads/2011/08/domain.png"  rel="lightbox[2563]"><img src="http://blog.encodingit.ch/wp-content/uploads/2011/08/domain-300x201.png" alt="" title="domain" width="300" height="201" class="alignnone size-medium wp-image-2570" /></a>  <a href="http://blog.encodingit.ch/wp-content/uploads/2011/08/desc.png"  rel="lightbox[2563]"><img src="http://blog.encodingit.ch/wp-content/uploads/2011/08/desc-300x201.png" alt="" title="desc" width="300" height="201" class="alignnone size-medium wp-image-2571" /></a></p>
<p>Das selbe natürlich nochmals für UDP und schon können die Server geprüft werden <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/2011/08/die-updates-im-griff-mit-mbsa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cobbler mit openSUSE</title>
		<link>http://blog.encodingit.ch/2011/06/cobbler-mit-opensuse/</link>
		<comments>http://blog.encodingit.ch/2011/06/cobbler-mit-opensuse/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 16:50:48 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[Suse]]></category>
		<category><![CDATA[Cobbler]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[PXE]]></category>

		<guid isPermaLink="false">http://blog.encodingit.ch/?p=2423</guid>
		<description><![CDATA[Für eine Testumgebung musste ich heute 30 neue Maschinen installieren. Und da ich zu faul war, alles von Hand zu installieren, musste eine andere Lösung her.
Und da ich Cobbler, ein System aus dem Hause von Red Hat, bereits kenne, war dies mein erster Gedanke - auch wenn es an Vergewaltigung grenzt!
Das könnte dich auch interessieren:<ol>
<li><a href='http://blog.encodingit.ch/2011/05/opensuse-mit-asp-net-unterstutzung/' rel='bookmark' title='OpenSUSE mit ASP.NET-Unterstützung'>OpenSUSE mit ASP.NET-Unterstützung</a> <small>Für einen Kunden habe ich letzthin ein OpenSUSE installiert. Neben...</small></li>
<li><a href='http://blog.encodingit.ch/2011/03/dynamic-host-configuration-protocol/' rel='bookmark' title='Dynamic Host Configuration Protocol'>Dynamic Host Configuration Protocol</a> <small>Ein anderer Bestandteil von LPIC 201 ist DHCP. Doch bevor...</small></li>
</ol><img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Für eine Testumgebung musste ich heute 30 neue Maschinen installieren. Und da ich zu faul war, alles von Hand zu installieren, musste eine andere Lösung her.<br />
Da ich Cobbler, ein System aus dem Hause Red Hat, bereits kenne, war dies mein erster Gedanke &#8211; auch wenn es an Vergewaltigung grenzt, schliesslich will ich ja openSUSE 11.4 installieren! <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Also habe ich ein System von Hand aufgesetzt und darauf Cobbler samt Webinterface und TFTP installiert:</p>
<pre class="brush: bash; title: ; notranslate">
zypper ar http://download.opensuse.org/distribution/11.4/repo/oss/ oss
zypper ar http://download.opensuse.org/update/11.4/ updates
zypper ar http://download.opensuse.org/repositories/systemsmanagement/openSUSE_11.4/ cobbler
zypper ref -s
zypper install apache2-mod_python
zypper install cobbler cobbler-web atftp dhcp-server
</pre>
<p>Da ich während dem Installieren nicht ungebetene Besucher in meinem System will, aktiviere ich die Authentifizierung für das Webinterface:</p>
<pre class="brush: bash; title: ; notranslate">
sed -i 's/module = authn_denyall/module = authn_configfile/' /etc/cobbler/modules.conf
</pre>
<p>Dann muss ich noch die passende IP einfügen:</p>
<pre class="brush: bash; title: ; notranslate">
IP=&quot;192.168.1.10&quot;
sed -i &quot;s/^server: 127.0.0.1/server: $IP/&quot; /etc/cobbler/settings
sed -i &quot;s/^next_server: 127.0.0.1/next_server: $IP/&quot; /etc/cobbler/settings
</pre>
<p>Da meine Maschinen auch gleich via Netzwerk booten sollen, muss ich den DHCP noch an Cobbler übergeben:</p>
<pre class="brush: bash; title: ; notranslate">
sed -i 's/^manage_dhcp: 0/manage_dhcp: 1/' /etc/cobbler/settings
</pre>
<p>Nun darf die dhcpd.conf-Datei nicht mehr direkt bearbeitet werden. Dazu gibt es nun das Template unter /etc/cobbler/dhcpd.template:</p>
<pre class="brush: bash; title: ; notranslate">
# ******************************************************************
# Cobbler managed dhcpd.conf file
#
# generated from cobbler dhcp.conf template ($date)
# Do NOT make changes to /etc/dhcpd.conf. Instead, make your changes
# in /etc/cobbler/dhcp.template, as /etc/dhcpd.conf will be
# overwritten.
#
# ******************************************************************

ddns-update-style interim;

allow booting;
allow bootp;

ignore client-updates;
set vendorclass = option vendor-class-identifier;

subnet 192.168.1.0 netmask 255.255.255.0 {
     option routers             192.168.1.1;
     option domain-name-servers 192.168.1.9;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.1.150 192.168.1.254;
     filename                   &quot;pxelinux.0&quot;;
     default-lease-time         21600;
     max-lease-time             43200;
     next-server                $next_server;
}

#for dhcp_tag in $dhcp_tags.keys():
    ## group could be subnet if your dhcp tags line up with your subnets
    ## or really any valid dhcpd.conf construct ... if you only use the
    ## default dhcp tag in cobbler, the group block can be deleted for a
    ## flat configuration
# group for Cobbler DHCP tag: $dhcp_tag
group {
        #for mac in $dhcp_tags[$dhcp_tag].keys():
            #set iface = $dhcp_tags[$dhcp_tag][$mac]
    host $iface.name {
        hardware ethernet $mac;
        #if $iface.ip_address:
        fixed-address $iface.ip_address;
        #end if
        #if $iface.hostname:
        option host-name &quot;$iface.hostname&quot;;
        #end if
        #if $iface.subnet:
        option subnet-mask $iface.subnet;
        #end if
        #if $iface.gateway:
        option routers $iface.gateway;
        #end if
        filename &quot;$iface.filename&quot;;
        ## Cobbler defaults to $next_server, but some users
        ## may like to use $iface.system.server for proxied setups
        next-server $next_server;
        ## next-server $iface.next_server;
    }
        #end for
}
#end for
</pre>
<p><span id="more-2423"></span></p>
<p>Und damit die Maschinen auch nicht ewig neustarten, wird noch eine letzte Anpassung durchgeführt:</p>
<pre class="brush: bash; title: ; notranslate">
sed -i 's/^pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settings
</pre>
<p>Nach dem neustarten der Services und einer letzten Einstellung ist die Installation schon abgeschlossen:</p>
<pre class="brush: bash; title: ; notranslate">
insserv apache2
insserv cobblerd
insserv dhcpd
rcapache2 restart
rccobblerd restart
rcatftpd start
insserv atftpd
sed -i 's/^DHCPD_INTERFACE=&quot;&quot;/DHCPD_INTERFACE=&quot;eth0&quot;/' /etc/sysconfig/dhcpd
cobbler get-loaders
cobbler sync
rm -f /etc/dhcpd.conf
ln -s /etc/dhcp/dhcpd.conf /etc/dhcpd.conf
rcdhcpd restart
rccobblerd restart
cobbler sync
</pre>
<p>Einloggen kann ich mich nun unter http://192.168.1.10/cobbler_web mit dem Benutzername &#8220;cobbler&#8221; und dem Passwort &#8220;cobbler&#8221;.</p>
<p>Nun muss ich openSUSE zu Cobbler zufügen. Dazu lade ich zuerst das Image herunter und mounte es unter /mnt:</p>
<pre class="brush: bash; title: ; notranslate">
wget http://mirror.switch.ch/ftp/mirror/opensuse/distribution/11.4/iso/openSUSE-11.4-DVD-x86_64.iso
mount -o loop -t iso9660 openSUSE-11.4-DVD-x86_64.iso /mnt
</pre>
<p>Dann kann ich das Image hinzufügen im GUI über den Punkt &#8220;Import DVD&#8221; und unter &#8220;Profile&#8221; ein neues Profil anlegen:</p>
<p><a href="http://blog.encodingit.ch/wp-content/uploads/2011/06/profile_cobbler.png"  rel="lightbox[2423]"><img src="http://blog.encodingit.ch/wp-content/uploads/2011/06/profile_cobbler-300x167.png" alt="" title="profile_cobbler" width="300" height="167" class="alignnone size-medium wp-image-2432" /></a></p>
<p>Doch bevor das geht, muss ich eine Kickstart-Datei erstellen. Diese wird unter /var/lib/cobbler/kickstart angelegt. Eine solche Datei kann mit autoyast2 generiert werden. Am Schluss würde alles dann etwa so aussehen:</p>
<pre class="brush: bash; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;!DOCTYPE profile&gt;
&lt;profile xmlns=&quot;http://www.suse.com/1.0/yast2ns&quot; xmlns:config=&quot;http://www.suse.com/1.0/configns&quot;&gt;
  &lt;firewall&gt;
    &lt;enable_firewall config:type=&quot;boolean&quot;&gt;false&lt;/enable_firewall&gt;
    &lt;start_firewall config:type=&quot;boolean&quot;&gt;false&lt;/start_firewall&gt;
  &lt;/firewall&gt;
  &lt;general&gt;
    &lt;ask-list config:type=&quot;list&quot;/&gt;
    &lt;mode&gt;
      &lt;confirm config:type=&quot;boolean&quot;&gt;false&lt;/confirm&gt;
      &lt;final_reboot config:type=&quot;boolean&quot;&gt;true&lt;/final_reboot&gt;
    &lt;/mode&gt;
    &lt;mouse&gt;
      &lt;id&gt;none&lt;/id&gt;
    &lt;/mouse&gt;
    &lt;proposals config:type=&quot;list&quot;/&gt;
    &lt;signature-handling&gt;
      &lt;accept_file_without_checksum config:type=&quot;boolean&quot;&gt;true&lt;/accept_file_without_checksum&gt;
      &lt;accept_non_trusted_gpg_key config:type=&quot;boolean&quot;&gt;true&lt;/accept_non_trusted_gpg_key&gt;
      &lt;accept_unknown_gpg_key config:type=&quot;boolean&quot;&gt;true&lt;/accept_unknown_gpg_key&gt;
      &lt;accept_unsigned_file config:type=&quot;boolean&quot;&gt;true&lt;/accept_unsigned_file&gt;
      &lt;accept_verification_failed config:type=&quot;boolean&quot;&gt;true&lt;/accept_verification_failed&gt;
      &lt;import_gpg_key config:type=&quot;boolean&quot;&gt;true&lt;/import_gpg_key&gt;
    &lt;/signature-handling&gt;
  &lt;/general&gt;
 &lt;networking&gt;
    &lt;keep_install_network config:type=&quot;boolean&quot;&gt;true&lt;/keep_install_network&gt;
      &lt;dns&gt;
        &lt;dhcp_hostname config:type=&quot;boolean&quot;&gt;true&lt;/dhcp_hostname&gt;
        &lt;dhcp_resolv config:type=&quot;boolean&quot;&gt;true&lt;/dhcp_resolv&gt;
        &lt;hostname&gt;$hostname&lt;/hostname&gt;
      &lt;/dns&gt;
  &lt;/networking&gt;
 &lt;partitioning config:type=&quot;list&quot;&gt;
        $SNIPPET('snippets_sles/partitioning_default_lvm_sles11')
  &lt;/partitioning&gt;
  &lt;software&gt;
        $SNIPPET('snippets_sles/packages_os11')
  &lt;/software&gt;
  &lt;timezone&gt;
    &lt;hwclock&gt;UTC&lt;/hwclock&gt;
    &lt;timezone&gt;Europe/Zurich&lt;/timezone&gt;
  &lt;/timezone&gt;
  &lt;users config:type=&quot;list&quot;&gt;
    &lt;user&gt;
      &lt;encrypted config:type=&quot;boolean&quot;&gt;true&lt;/encrypted&gt;
      &lt;fullname&gt;root&lt;/fullname&gt;
      &lt;gid&gt;0&lt;/gid&gt;
      &lt;home&gt;/root&lt;/home&gt;
      &lt;password_settings&gt;
        &lt;expire&gt;&lt;/expire&gt;
        &lt;flag&gt;&lt;/flag&gt;
        &lt;inact&gt;&lt;/inact&gt;
        &lt;max&gt;&lt;/max&gt;
        &lt;min&gt;&lt;/min&gt;
        &lt;warn&gt;&lt;/warn&gt;
      &lt;/password_settings&gt;
      &lt;shell&gt;/bin/bash&lt;/shell&gt;
      &lt;uid&gt;0&lt;/uid&gt;
      &lt;user_password&gt;$rootpw&lt;/user_password&gt;
      &lt;username&gt;root&lt;/username&gt;
    &lt;/user&gt;
  &lt;/users&gt;
  &lt;report&gt;
    &lt;errors&gt;
      &lt;log config:type=&quot;boolean&quot;&gt;true&lt;/log&gt;
      &lt;show config:type=&quot;boolean&quot;&gt;true&lt;/show&gt;
      &lt;timeout config:type=&quot;integer&quot;&gt;0&lt;/timeout&gt;
    &lt;/errors&gt;
    &lt;messages&gt;
      &lt;log config:type=&quot;boolean&quot;&gt;true&lt;/log&gt;
      &lt;show config:type=&quot;boolean&quot;&gt;true&lt;/show&gt;
      &lt;timeout config:type=&quot;integer&quot;&gt;0&lt;/timeout&gt;
    &lt;/messages&gt;
    &lt;warnings&gt;
      &lt;log config:type=&quot;boolean&quot;&gt;true&lt;/log&gt;
      &lt;show config:type=&quot;boolean&quot;&gt;true&lt;/show&gt;
      &lt;timeout config:type=&quot;integer&quot;&gt;0&lt;/timeout&gt;
    &lt;/warnings&gt;
    &lt;yesno_messages&gt;
      &lt;log config:type=&quot;boolean&quot;&gt;true&lt;/log&gt;
      &lt;show config:type=&quot;boolean&quot;&gt;true&lt;/show&gt;
      &lt;timeout config:type=&quot;integer&quot;&gt;0&lt;/timeout&gt;
    &lt;/yesno_messages&gt;
  &lt;/report&gt;
  &lt;runlevel&gt;
    &lt;default&gt;5&lt;/default&gt;
      &lt;service&gt;
        &lt;service_name&gt;sshd&lt;/service_name&gt;
        &lt;service_start&gt;3 5&lt;/service_start&gt;
        &lt;service_status&gt;enable&lt;/service_status&gt;
      &lt;/service&gt;
  &lt;/runlevel&gt;
  &lt;scripts&gt;
    &lt;post-scripts config:type=&quot;list&quot;&gt;
      &lt;script&gt;
        &lt;debug config:type=&quot;boolean&quot;&gt;false&lt;/debug&gt;
        &lt;feedback config:type=&quot;boolean&quot;&gt;false&lt;/feedback&gt;
        &lt;feedback_type&gt;&lt;/feedback_type&gt;
        &lt;filename&gt;post_install&lt;/filename&gt;
        &lt;interpreter&gt;shell&lt;/interpreter&gt;
        &lt;location&gt;&lt;![CDATA[]]&gt;&lt;/location&gt;
        &lt;network_needed config:type=&quot;boolean&quot;&gt;true&lt;/network_needed&gt;
        &lt;notification&gt;Bitte warten ...&lt;/notification&gt;
        &lt;source&gt;&lt;![CDATA[/etc/init.d/sshd restart
echo 'search encodingit.ch' &gt;&gt; /etc/resolv.conf
chkconfig sshd on
zypper update -y
zypper dist-upgrade -y
cd /root
mkdir --mode=700 .ssh
cat &gt;&gt; .ssh/authorized_keys &lt;&lt; &quot;PUBLIC_KEY&quot;
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/tGYAdCxqFs8xuryisenGmk4ChEutd3Xi7WfMZsafMyGrvtBBFWUInKeF7G3GE85AxP4G4wOdn2Au3k23jSpfvbP5O/NIEMNizlzMFChu7NDC57NwMm/n+/Y6HMgHZs+LVavKrVP9MUMfif3+odOUYVxK+8BwP8So1K21UJcIgYhd48Fqw9aBYd+jXvg/QFAnXGCIARNsn51kkWYci9LuoApVg0ktJjnHIvxgs75hZsmiXH/VqU/MCv90oe0OBN1C4vABN5XIPjzOZ0HX8MQBITAdujjWqdqzictkz5vk6O0QWDVxzsxz4wgJgnF7fEGxd7t/8mInzEqMbJe4C/iJ root@cobbler
PUBLIC_KEY
chmod 600 .ssh/authorized_keys]]&gt;&lt;/source&gt;
      &lt;/script&gt;
    &lt;/post-scripts&gt;
  &lt;/scripts&gt;
&lt;/profile&gt;
</pre>
<p>ACHTUNG: Wer wie ich kein DNS im Netzwerk hat, der muss unter dem Punkt &#8220;Distro&#8221; bei &#8220;Kernel Options&#8221; den Hostnamen von Cobbler durch die IP ersetzen, damit alles klappt.</p>
<p>Damit auch alles problemlos durchläuft, müssen noch ein paar Snippets eingefügt werden unter /var/lib/cobbler/snippets/snippets_sles. So partitioning_default_lvm_sles11:</p>
<pre class="brush: bash; title: ; notranslate">
# requires: ksmeta Swap : (optional) containing the size of swap in megabytes
    &lt;drive&gt;
      &lt;initialize config:type=&quot;boolean&quot;&gt;true&lt;/initialize&gt;
      &lt;partitions config:type=&quot;list&quot;&gt;
        &lt;partition&gt;
          &lt;create config:type=&quot;boolean&quot;&gt;true&lt;/create&gt;
          &lt;crypt_fs config:type=&quot;boolean&quot;&gt;false&lt;/crypt_fs&gt;
          &lt;filesystem config:type=&quot;symbol&quot;&gt;ext3&lt;/filesystem&gt;
          &lt;format config:type=&quot;boolean&quot;&gt;true&lt;/format&gt;
          &lt;loop_fs config:type=&quot;boolean&quot;&gt;false&lt;/loop_fs&gt;
          &lt;mount&gt;/boot&lt;/mount&gt;
          &lt;mountby config:type=&quot;symbol&quot;&gt;device&lt;/mountby&gt;
          &lt;partition_id config:type=&quot;integer&quot;&gt;131&lt;/partition_id&gt;
          &lt;partition_nr config:type=&quot;integer&quot;&gt;1&lt;/partition_nr&gt;
          &lt;resize config:type=&quot;boolean&quot;&gt;false&lt;/resize&gt;
          &lt;size&gt;500M&lt;/size&gt;
        &lt;/partition&gt;
        &lt;partition&gt;
          &lt;create config:type=&quot;boolean&quot;&gt;true&lt;/create&gt;
          &lt;lvm_group&gt;vg00&lt;/lvm_group&gt;
          &lt;mountby config:type=&quot;symbol&quot;&gt;device&lt;/mountby&gt;
          &lt;partition_id config:type=&quot;integer&quot;&gt;142&lt;/partition_id&gt;
          &lt;partition_nr config:type=&quot;integer&quot;&gt;2&lt;/partition_nr&gt;
          &lt;resize config:type=&quot;boolean&quot;&gt;false&lt;/resize&gt;
          &lt;size&gt;max&lt;/size&gt;
        &lt;/partition&gt;
      &lt;/partitions&gt;
      &lt;pesize&gt;&lt;/pesize&gt;
      &lt;type config:type=&quot;symbol&quot;&gt;CT_DISK&lt;/type&gt;
      &lt;use&gt;all&lt;/use&gt;
    &lt;/drive&gt;
    &lt;drive&gt;
      &lt;device&gt;/dev/vg00&lt;/device&gt;
      &lt;initialize config:type=&quot;boolean&quot;&gt;true&lt;/initialize&gt;
      &lt;partitions config:type=&quot;list&quot;&gt;
        &lt;partition&gt;
          &lt;create config:type=&quot;boolean&quot;&gt;true&lt;/create&gt;
          &lt;crypt_fs config:type=&quot;boolean&quot;&gt;false&lt;/crypt_fs&gt;
          &lt;filesystem config:type=&quot;symbol&quot;&gt;swap&lt;/filesystem&gt;
          &lt;format config:type=&quot;boolean&quot;&gt;true&lt;/format&gt;
          &lt;loop_fs config:type=&quot;boolean&quot;&gt;false&lt;/loop_fs&gt;
          &lt;lv_name&gt;lv_swap&lt;/lv_name&gt;
          &lt;mount&gt;swap&lt;/mount&gt;
          &lt;mountby config:type=&quot;symbol&quot;&gt;device&lt;/mountby&gt;
          &lt;partition_id config:type=&quot;integer&quot;&gt;130&lt;/partition_id&gt;
          &lt;resize config:type=&quot;boolean&quot;&gt;false&lt;/resize&gt;
#if $getVar(&quot;Swap&quot;,&quot;&quot;) != &quot;&quot;
          &lt;size&gt;${Swap}M&lt;/size&gt;
#else
          &lt;size&gt;2048M&lt;/size&gt;
#end if
        &lt;/partition&gt;
        &lt;partition&gt;
          &lt;create config:type=&quot;boolean&quot;&gt;true&lt;/create&gt;
          &lt;crypt_fs config:type=&quot;boolean&quot;&gt;false&lt;/crypt_fs&gt;
          &lt;filesystem config:type=&quot;symbol&quot;&gt;ext3&lt;/filesystem&gt;
          &lt;format config:type=&quot;boolean&quot;&gt;true&lt;/format&gt;
          &lt;loop_fs config:type=&quot;boolean&quot;&gt;false&lt;/loop_fs&gt;
          &lt;lv_name&gt;lv_root&lt;/lv_name&gt;
          &lt;mount&gt;/&lt;/mount&gt;
          &lt;mountby config:type=&quot;symbol&quot;&gt;device&lt;/mountby&gt;
          &lt;partition_id config:type=&quot;integer&quot;&gt;131&lt;/partition_id&gt;
          &lt;resize config:type=&quot;boolean&quot;&gt;false&lt;/resize&gt;
          &lt;size&gt;max&lt;/size&gt;
        &lt;/partition&gt;
      &lt;/partitions&gt;
      &lt;pesize&gt;4M&lt;/pesize&gt;
      &lt;type config:type=&quot;symbol&quot;&gt;CT_LVM&lt;/type&gt;
      &lt;use&gt;all&lt;/use&gt;
    &lt;/drive&gt;
</pre>
<p>Und auch noch packages_os11:</p>
<pre class="brush: bash; title: ; notranslate">
&lt;patterns config:type=&quot;list&quot;&gt;
      &lt;pattern&gt;base&lt;/pattern&gt;
      &lt;pattern&gt;apparmor&lt;/pattern&gt;
      &lt;pattern&gt;gnome&lt;/pattern&gt;
      &lt;pattern&gt;file_server&lt;/pattern&gt;
      &lt;pattern&gt;x11&lt;/pattern&gt;
    &lt;/patterns&gt;
    &lt;packages  config:type=&quot;list&quot;&gt;
      &lt;package&gt;nss_ldap&lt;/package&gt;
      &lt;package&gt;pam_ldap&lt;/package&gt;
## required for kdump
      &lt;package&gt;kexec-tools&lt;/package&gt;
      &lt;package&gt;kdump&lt;/package&gt;
    &lt;/packages&gt;
</pre>
<p>Nun kann ich alle Systeme erfassen und zufügen. Da dies mehrere sind, habe ich das ganze über die Konsole gemacht:</p>
<pre class="brush: bash; title: ; notranslate">
hostname=Node1
mac=00:14:4F:20:03:08
ip=192.168.1.21
cobbler system edit --name=$hostname --hostname=$hostname.encodingit.ch --netboot-enable=true --dhcp-tag=$hostname --dns-name=$hostname --ip-address=$ip --mac-address=$mac
</pre>
<p>Zum Glück starten alle Maschinen direkt ab Netzwerk, wodurch ich die Maschinen nur via iLO neustarten musste. Dazu wiederrum habe ich das folgende Script mit expect geschrieben, wo ich nur noch den Hostnamen oder die IP vom iLO übergeben muss:</p>
<pre class="brush: bash; title: ; notranslate">
#!/usr/bin/expect
#
# Version 1.0
# by Patrick Schmid
#
spawn ssh root@[lindex $argv 0]

expect &quot;Password:&quot; {send &quot;password\r&quot;}

expect &quot;&gt; &quot; {send &quot;reset /SYS -script\r&quot;}

expect {
        &quot;Performing&quot; {puts stdout &quot;\nDone&quot;}
  default {puts stdout &quot;\nError&quot;}
}
</pre>
<p>Doch vorher noch das System synchronisieren:</p>
<pre class="brush: bash; title: ; notranslate">
cobbler sync
</pre>
<p>Nach etwa 20 Minuten sind alle Systeme installiert und konfiguriert. Voilà <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Vielen Dank an <a target="_blank" href="http://www.swissunixsupport.com/" >Gavin</a> und <a target="_blank" href="http://ugansert.blogspot.com/2011/04/cobbler-on-opensuse.html" >Uwe</a> für die Hilfe!</p>
<br /><p>Das könnte dich auch interessieren:<ol>
<li><a href='http://blog.encodingit.ch/2011/05/opensuse-mit-asp-net-unterstutzung/' rel='bookmark' title='OpenSUSE mit ASP.NET-Unterstützung'>OpenSUSE mit ASP.NET-Unterstützung</a> <small>Für einen Kunden habe ich letzthin ein OpenSUSE installiert. Neben...</small></li>
<li><a href='http://blog.encodingit.ch/2011/03/dynamic-host-configuration-protocol/' rel='bookmark' title='Dynamic Host Configuration Protocol'>Dynamic Host Configuration Protocol</a> <small>Ein anderer Bestandteil von LPIC 201 ist DHCP. Doch bevor...</small></li>
</ol></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/06/cobbler-mit-opensuse/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mehr Sicherheit durch mod_security</title>
		<link>http://blog.encodingit.ch/2011/05/mehr-sicherheit-durch-mod_security/</link>
		<comments>http://blog.encodingit.ch/2011/05/mehr-sicherheit-durch-mod_security/#comments</comments>
		<pubDate>Wed, 18 May 2011 08:06:29 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://blog.encodingit.ch/?p=2187</guid>
		<description><![CDATA[Mod_Security ist eine Software Firewall, welche kontrolliert, welche Eingaben auf einem Apache gemacht und was für Daten übermittelt werden. Diese werden dann mit einer Handvoll Regeln verglichen, wodurch schädliche Abfragen erkannt und geblockt werden.
Das könnte dich auch interessieren:<ol>
<li><a href='http://blog.encodingit.ch/2011/03/mehr-sicherheit-durch-openvpn/' rel='bookmark' title='Mehr Sicherheit durch OpenVPN'>Mehr Sicherheit durch OpenVPN</a> <small>Sicherheit wird ein immer wichtigeres Thema in der IT. Klar...</small></li>
<li><a href='http://blog.encodingit.ch/2011/05/opensuse-mit-asp-net-unterstutzung/' rel='bookmark' title='OpenSUSE mit ASP.NET-Unterstützung'>OpenSUSE mit ASP.NET-Unterstützung</a> <small>Für einen Kunden habe ich letzthin ein OpenSUSE installiert. Neben...</small></li>
</ol><img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Mod_Security ist eine Software Firewall, welche kontrolliert, welche Eingaben auf einem Apache gemacht und was für Daten übermittelt werden. Diese werden dann mit einer Handvoll Regeln verglichen, wodurch schädliche Abfragen erkannt und geblockt werden.</p>
<p>Unter Debian und Ubuntu heisst das benötigte Paket libapache-mod-security:</p>
<pre class="brush: bash; title: ; notranslate">
apt-get install libapache-mod-security -y
</pre>
<p>Nach dem Installieren aus den Paketquellen wird eine Datei unter /etc/apache2/conf.d/modsecurity2.conf angelegt und mit folgendem Inhalt ergänzt:</p>
<pre class="brush: bash; title: ; notranslate">
&lt;ifmodule mod_security2.c&gt;
Include conf.d/modsecurity/*.conf
&lt;/ifmodule&gt;
</pre>
<p>Danach werden die nötigen Ordner erstellt und verlinkt:</p>
<pre class="brush: bash; title: ; notranslate">
sudo mkdir /var/log/apache2/mod_security
sudo ln -s /var/log/apache2/mod_security/ /etc/apache2/logs
</pre>
<p>Und die aktuellsten Regeln heruntergeladen:</p>
<pre class="brush: bash; title: ; notranslate">
sudo mkdir /etc/apache2/conf.d/modsecurity
cd /etc/apache2/conf.d/modsecurity
sudo wget http://www.modsecurity.org/download/modsecurity-core-rules_2.5-1.6.1.tar.gz
sudo tar xzvf modsecurity-core-rules_2.5-1.6.1.tar.gz
rm -f CHANGELOG LICENSE README modsecurity-core-rules_2.5-1.6.1.tar.gz
</pre>
<p>Nun noch das Modul aktivieren und Apache neustarten:</p>
<pre class="brush: bash; title: ; notranslate">
sudo a2enmod mod-security
sudo /etc/init.d/apache2 restart
</pre>
<p>Und von nun an wird der Apache durch Mod_Security geschützt.<br />
Prüfen kann man das ganz einfach! Es muss eine Datei erstellt werden, mit folgendem Inhalt:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?
        $secret_file = $_GET['secret_file'];
        include ($secret_file);
?&gt;
</pre>
<p>Nun ruft man die Datei auf unter http://localhost/index.php?secret_file=/etc/passwd. Erhält man anstelle der /etc/passwd Datei die folgende Ausgabe, so arbeitet mod_security richtig:</p>
<pre class="brush: plain; title: ; notranslate">
Method Not Implemented
GET to /index.php not supported.
</pre>
<p>Doch Vorsicht: mod_security ist nicht überall geeignet. So hat zum Beispiel auch mein Hoster das eingesetzt, und musste es für meinen Blog deaktivieren, dass ich all die Code-Schnipsel posten kann <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Wer von euch hatte denn schon mal wirkliche Angriffe auf seinem Webserver? Konntet ihr standhalten oder seid ihr eingebrochen? Und in welcher Art lief der Angriff ab?</p>
<br /><p>Das könnte dich auch interessieren:<ol>
<li><a href='http://blog.encodingit.ch/2011/03/mehr-sicherheit-durch-openvpn/' rel='bookmark' title='Mehr Sicherheit durch OpenVPN'>Mehr Sicherheit durch OpenVPN</a> <small>Sicherheit wird ein immer wichtigeres Thema in der IT. Klar...</small></li>
<li><a href='http://blog.encodingit.ch/2011/05/opensuse-mit-asp-net-unterstutzung/' rel='bookmark' title='OpenSUSE mit ASP.NET-Unterstützung'>OpenSUSE mit ASP.NET-Unterstützung</a> <small>Für einen Kunden habe ich letzthin ein OpenSUSE installiert. Neben...</small></li>
</ol></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/05/mehr-sicherheit-durch-mod_security/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

