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

<channel>
	<title>Planet Ubuntu &#8211; root1024</title>
	<atom:link href="http://blog.root1024.ch/tag/planet-ubuntu/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.root1024.ch</link>
	<description>Beiträge aus meinem Alltag als Informatiker</description>
	<lastBuildDate>Sat, 23 Jan 2016 13:19:25 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.2.5</generator>
	<item>
		<title>Langsames SSH Login</title>
		<link>http://blog.root1024.ch/betriebssystem/linux/langsames-ssh-login/</link>
				<comments>http://blog.root1024.ch/betriebssystem/linux/langsames-ssh-login/#comments</comments>
				<pubDate>Thu, 15 Mar 2012 20:03:11 +0000</pubDate>
		<dc:creator><![CDATA[Silvan]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet Debian]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://blog.root1024.ch/?p=3532</guid>
				<description><![CDATA[Seit kurzer Zeit dauert das Login per SSH auf einen Server länger als normal. Nachdem ich den Benutzernamen eingegeben habe, dauert es ca. 10s, bis ich das Passwort eingeben kann. Das liegt daran, weil der SSH Server einen Reverse Lookup auf die IP probiert. Da dieser Reverse Lookup für meine dynamische IP nicht funktioniert, muss [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>Seit kurzer Zeit dauert das Login per SSH auf einen Server länger als normal. Nachdem ich den Benutzernamen eingegeben habe, dauert es ca. 10s, bis ich das Passwort eingeben kann. Das liegt daran, weil der SSH Server einen Reverse Lookup auf die IP probiert. Da dieser Reverse Lookup für meine dynamische IP nicht funktioniert, muss ich beim Einloggen immer auf das Timout warten. Dies kann man sehr einfach deaktivieren in der Datei /etc/ssh/sshd_config mit dem Parameter:</p>
<pre><code>UseDNS no</code></pre>
<p>Danach macht der SSH Server den Reverse Lookup nicht mehr und das Einloggen geht schneller.<br />
Update: Ich habe festgestellt dass DNS mit Iptables nicht erlaubt war, darum war das Login langsamer. Also besser nochmals die Konfiguration prüfen bevor man etwas an der Konfiguration ändert ;-).</p>
]]></content:encoded>
							<wfw:commentRss>http://blog.root1024.ch/betriebssystem/linux/langsames-ssh-login/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
							</item>
		<item>
		<title>Proxy mit Filter und Virenschutz über SSL-Explorer</title>
		<link>http://blog.root1024.ch/security/proxy-mit-filter-und-virenschutz-uber-ssl-explorer/</link>
				<comments>http://blog.root1024.ch/security/proxy-mit-filter-und-virenschutz-uber-ssl-explorer/#comments</comments>
				<pubDate>Mon, 27 Feb 2012 07:07:19 +0000</pubDate>
		<dc:creator><![CDATA[Silvan]]></dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Planet Debian]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[Proxy]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://blog.root1024.ch/?p=3524</guid>
				<description><![CDATA[Das Ziel ist ein Proxy, welcher unerwünschte Inhalte herausfiltert und den Verkehr auf Viren untersucht. Damit der Proxy auch vom Web erreichbar ist, setze ich den SSL-Explorer ein. Schlussendlich durchläuft der Verkehr diese Punkte: Computer &#8211;&#62; SSL-Explorer &#8211;&#62; Squid3 &#8211;&#62; Privoxy (unerwünschte Inhalte filtern) &#8211;&#62; Havp (Virenschutz) &#8211;&#62; Internet. Die Installation ist sehr einfach und [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>Das Ziel ist ein Proxy, welcher unerwünschte Inhalte herausfiltert und den Verkehr auf Viren untersucht. Damit der Proxy auch vom Web erreichbar ist, setze ich den SSL-Explorer ein.</p>
<p>Schlussendlich durchläuft der Verkehr diese Punkte: Computer &#8211;&gt; SSL-Explorer &#8211;&gt; Squid3 &#8211;&gt; Privoxy (unerwünschte Inhalte filtern) &#8211;&gt; Havp (Virenschutz) &#8211;&gt; Internet.</p>
<p>Die Installation ist sehr einfach und die Befehle können 1:1 in die Konsole kopiert werden. Das Tutorial wurde auf einem Debian x86 Squeeze erstellt.<span id="more-3524"></span></p>
<p><strong>Java installieren</strong></p>
<pre><code>echo 'deb http://ftp.ch.debian.org/debian/ squeeze main non-free contrib' &gt;&gt; /etc/apt/sources.list 
aptitude update 
aptitude install ant build-essential zip unzip sun-java6-bin sun-java6-jre -y</code></pre>
<p>Debian konfigurieren, damit das installierte Java verwendet wird</p>
<pre><code>update-alternatives --config java 
update-alternatives --config javac</code></pre>
<p><strong>SSL-Explorer installieren</strong><br />
SSL-Explorer herunterladen und entpacken</p>
<pre><code>wget http://downloads.sourceforge.net/project/sslexplorer/SSL-Explorer%201.0/1.0.0_RC17/sslexplorer-1.0.0_RC17-src.zip?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fsslexplorer%2F&amp;ts=1329904674&amp;use_mirror=switch
unzip sslexplorer-1.0.0_RC17-src.zip*
mv sslexplorer-1.0.0_RC17 sslexplorer</code></pre>
<p>Ordner erstellen und Datei kopieren (ansonsten schlägt die Installation fehl)</p>
<pre><code>mkdir /usr/lib/jvm/java-6-sun-1.6.0.26/lib/ 
cp sslexplorer/sslexplorer/lib/tools.jar /usr/lib/jvm/java-6-sun-1.6.0.26/lib/</code></pre>
<p>SSL-Explorer installieren</p>
<pre><code>ant install</code></pre>
<p>Wenn diese Zeilen erscheinen, die Addresse öffnen, den SSL-Explorer konfigurieren und die Installation abschliessen.</p>
<pre><code>install:
     [java] Starting installation wizard.....Point your browser to http://192.168.2.20:28080.
     [java]
     [java] Press CTRL+C or use the 'Shutdown' option from the web interface to leave the installation wizard.
     [java] .</code></pre>
<p>SSL-Explorer als Service installieren</p>
<pre><code>ant install-service
chmod 700 /opt/sslexplorer/sslexplorer/install/platforms/linux/sslexplorer
chmod 700 /opt/sslexplorer/sslexplorer/install/platforms/linux/x86/wrapper
/etc/init.d/sslexplorer start</code></pre>
<p><strong>Proxies und Virenschutz installieren</strong></p>
<pre><code>aptitude install squid3 privoxy libclamav-dev clamav clamav-freshclam -y 
cd /opt wget http://archive.ubuntu.com/ubuntu/pool/universe/h/havp/havp_0.92a-2_i386.deb 
dpkg -i havp_0.92a-2_i386.deb</code></pre>
<p><strong>Squid konfigurieren</strong><br />
Squid übergibt den Verkehr nur an Privoxy (127.0.0.1:8118)</p>
<pre><code>echo 'cache_peer 127.0.0.1 parent 8118 0 no-query no-digest no-netdb-exchange default' &gt;&gt; /etc/squid3/squid.conf 
echo 'never_direct allow all' &gt;&gt; /etc/squid3/squid.conf</code></pre>
<p>Squid kann nur von localhost benutzt werden</p>
<pre><code>sed -i 's/http_port 3128/http_port localhost:3128/g' /etc/squid3/squid.conf
/etc/init.d/squid3 restart</code></pre>
<p><strong>Privoxy konfigurieren</strong><br />
Privoxy übergibt den Verkehr an Havp</p>
<pre><code>echo 'forward / 127.0.0.1:3129' &gt;&gt; /etc/privoxy/config
/etc/init.d/privoxy restart</code></pre>
<p><strong>Havp konfigurieren</strong><br />
Havp kann nur von localhost benutzt werden</p>
<pre><code>sed -i 's/# BIND_ADDRESS 127.0.0.1/BIND_ADDRESS 127.0.0.1/g' /etc/havp/havp.config</code></pre>
<p>Den Port von 8080 auf 3129 umstellen</p>
<pre><code>sed -i 's/# PORT 8080/PORT 3129/g' /etc/havp/havp.config
/etc/init.d/havp stop
/etc/init.d/havp start</code></pre>
<p><strong>Den Tunnel im SSL-Explorer konfigurieren</strong><br />
&#8222;SSL Tunnels&#8220; &#8211;&gt; &#8222;Create Tunnel&#8220;.<br />
Bei &#8222;Name:&#8220; und &#8222;Description:&#8220; Proxy eintragen.<br />
&#8222;Source Interface&#8220; 127.0.0.1<br />
&#8222;Source Port&#8220; 3128<br />
&#8222;Destination Host&#8220; localhost<br />
&#8222;Destination Port&#8220; 3128<br />
Den Tunnel starten und beim Browser den Proxy localhost:3128 einrichten.</p>
<p>Fertig ist der eigene Proxy mit Filter und Virenschutz über SSL-Explorer.</p>
<p><strong>Weitere Schritte</strong><br />
Dies ist nur die Grundkonfiguration, damit der Proxy läuft. Folgende Schritte könnten zum Beispiel noch vorgenommen werden:</p>
<ul>
<li>Proxy im internen Netzwerk verfügbar machen, damit im internen Netzwerk nicht der SSL-Explorer für den Proxy benutzt werden muss</li>
<li>Regeln erstellen, wer den Proxy benutzen darf</li>
<li>Filter Regeln in Privoxy ergänzen</li>
<li>Squid konfigurieren, dass weitere Dienste wie FTP oder SMTP den Proxy nutzen können</li>
<li>Havp Webseite anpassen, wenn ein Virus gefunden wird</li>
<li>Vieles mehr!</li>
</ul>
<p><strong>Schlusswort</strong><br />
Falls die Anleitung bei einem Schritt nicht / nicht mehr funktioniert, einfach einen Kommentar schreiben, ich werde die Anleitung ergänzen.<br />
Die Anleitung darf nicht dazu benutzt werden, Firewalls von Unternehmen zu umgehen.<br />
Danke an Stefan vom <a href="http://blog.murawski.ch/" title="IT Blögg">IT Blögg</a>. Mit seinem alten Beitrag konnte ich die Grundkonfiguration erstellen. Er hat den alten Beitrag überarbeitet und einen <a href="http://blog.murawski.ch/2012/02/ssl-web-proxy/" title="SSL-Web-Proxy">Neuen</a> veröffentlicht.</p>
]]></content:encoded>
							<wfw:commentRss>http://blog.root1024.ch/security/proxy-mit-filter-und-virenschutz-uber-ssl-explorer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
							</item>
		<item>
		<title>Eigenen Debian Spiegelserver (Mirror) einrichten</title>
		<link>http://blog.root1024.ch/betriebssystem/linux/eigenen-debian-spiegelserver-mirror-einrichten/</link>
				<comments>http://blog.root1024.ch/betriebssystem/linux/eigenen-debian-spiegelserver-mirror-einrichten/#comments</comments>
				<pubDate>Wed, 24 Aug 2011 18:47:39 +0000</pubDate>
		<dc:creator><![CDATA[Silvan]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[aptitude]]></category>
		<category><![CDATA[Planet Debian]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://blog.root1024.ch/?p=3301</guid>
				<description><![CDATA[Da ich später mit FAI (fully automated installation) Server automatisch mit Debian installieren möchte, benötige ich einen eigenen lokalen Spiegelserver (Mirror). Zudem muss dann nicht jeder Server Packete und Updates aus dem Internet herunterladen, sonderen kann diese vom lokalen Spiegelserver (Mirror) beziehen. Ein lokaler Spiegelserver (Mirror) ist relativ schnell und einfach mit apt-mirror eingerichtet. Als [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>Da ich später mit FAI (fully automated installation) Server automatisch mit Debian installieren möchte, benötige ich einen eigenen lokalen Spiegelserver (Mirror). Zudem muss dann nicht jeder Server Packete und Updates aus dem Internet herunterladen, sonderen kann diese vom lokalen Spiegelserver (Mirror) beziehen. Ein lokaler Spiegelserver (Mirror) ist relativ schnell und einfach mit apt-mirror eingerichtet.<span id="more-3301"></span></p>
<p>Als erstes wird apt-mirror installiert</p>
<pre><code>aptitude install apt-mirror</code></pre>
<p>Die benötigten Ordner werden erstellt, sofern man nicht die Standardordner in der Konfigurationsdatei /etc/apt/mirror.list verwenden möchte</p>
<pre><code>mkdir /media/data11/mirror
mkdir /media/data11/mirror/mirror
mkdir /media/data11/mirror/skel
mkdir /media/data11/mirror/var
chown -R apt-mirror:apt-mirror /media/data11/mirror</code></pre>
<p>Danach wird die Konfigurationsdatei /etc/apt/mirror.list angepasst. Ich benötige nur Debian 64 Bit</p>
<pre><code>############# config ##################
#
set base_path    /media/data11/mirror
#
set mirror_path  $base_path/mirror
set skel_path    $base_path/skel
set var_path     $base_path/var
set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############

# deb http://ftp.us.debian.org/debian unstable main contrib non-free
# deb-src http://ftp.us.debian.org/debian unstable main contrib non-free

# mirror additional architectures
#deb-alpha http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-amd64 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-armel http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-hppa http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-i386 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-ia64 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-m68k http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-mips http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-mipsel http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-powerpc http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-s390 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-sparc http://ftp.us.debian.org/debian unstable main contrib non-free

deb-amd64 http://ftp.ch.debian.org/debian squeeze main
deb-src http://ftp.ch.debian.org/debian squeeze main

deb-amd64 http://ftp.ch.debian.org/debian/ squeeze-updates main
deb-src http://ftp.ch.debian.org/debian/ squeeze-updates main

deb-amd64 http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

clean http://ftp.ch.debian.org/debian squeeze main
clean http://ftp.ch.debian.org/debian/ squeeze-updates main
clean http://security.debian.org/ squeeze/updates main
</running></code></pre>
<p>Nun wechselt man zum Benutzer apt-mirror und erstellt den Mirror. Der Mirror wurde bei mir ca. 61GB gross.</p>
<pre><code>su apt-mirror
apt-mirror</code></pre>
<p>Ist der Mirror erstellt, muss er noch mit einem Webserver verfügbar gemacht werden</p>
<pre><code>aptitude install apache2</code></pre>
<p>Danach müssen die Dateien noch verlinkt werden, damit sie über den Webserver erreichbar sind</p>
<pre><code>ln -s /media/data11/mirror/mirror/ftp.ch.debian.org/debian /var/www/debian
ln -s /media/data11/mirror/mirror/security.debian.org/ /var/www/security</code></pre>
<p>Ein Cronjob wurde bei der Installation von apt-mirror schon automatisch angelegt, der Kommentar muss aber noch entfernt werden</p>
<pre><code>root@server:/$ cat /etc/cron.d/apt-mirror
#
# Regular cron jobs for the apt-mirror package
#
0 4    * * *   apt-mirror      /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log</code></pre>
<p>Der lokale Spiegelserver (Mirror) ist jetzt erreichbar unter http://IP/. Wer möchte kann natürlich noch einen DNS Eintrag für diese IP erstellen.</p>
<p>Damit die Server den lokalen Spiegelserver (Mirror) benutzen, muss noch die Datei /etc/apt/sources.list bei den Servern angepasst werden. Diese könnte zum Beispiel so aussehen</p>
<pre><code>root@server:~# cat /etc/apt/sources.list
#deb cdrom:[Debian GNU/Linux 6.0.2.1 _Squeeze_ - Official amd64 NETINST Binary-1 20110628-12:58]/ squeeze main

deb http://IP/debian/ squeeze main
deb-src http://IP/debian/ squeeze main

deb http://IP/security/ squeeze/updates main
deb-src http://mirror.voser.local/security squeeze/updates main

deb http://IP/debian/ squeeze-updates main
deb-src http://IP/debian/ squeeze-updates main</code></pre>
<p>Der lokale Spiegelserver (Mirror) kann jetzt ebenfalls für die Netinstallation von Debian verwendet werden.</p>
<p>Natürlich kann auch mit anderen Tools ein Spiegelserver (Mirror) erstellt werden: <a href="https://help.ubuntu.com/community/Debmirror" title="Debmirror">Debmirror</a> (Ubuntu, funktioniert natürlich auch für Debian wenn man die Sourcen anpasst), <a href="http://www.debian.org/mirror/ftpmirror.de.html" title="Offizielle Anleitung von Debian">Offizielle Anleitung von Debian</a>. Hier noch eine einfache Anleitung auch mit apt-mirror für Ubuntu: <a href="http://wiki.ubuntuusers.de/apt-mirror" title="apt-mirror">Apt-mirror</a>.</p>
<p>Ich habe mich für apt-mirror entschieden, weil die Einrichtung wirklich sehr einfach und schnell ist. Es spielt nicht so eine wichtige Rolle, welches Tool ihr für den Spiegelserver (Mirro) verwendet, denn schlussendlich laden alle Tools die Packete von den Packetservern herunter ;-).</p>
]]></content:encoded>
							<wfw:commentRss>http://blog.root1024.ch/betriebssystem/linux/eigenen-debian-spiegelserver-mirror-einrichten/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
							</item>
		<item>
		<title>Switch MAC flooding (fluten)</title>
		<link>http://blog.root1024.ch/betriebssystem/linux/switch-mac-flooding-fluten/</link>
				<comments>http://blog.root1024.ch/betriebssystem/linux/switch-mac-flooding-fluten/#comments</comments>
				<pubDate>Fri, 15 Apr 2011 23:24:44 +0000</pubDate>
		<dc:creator><![CDATA[Silvan]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Attack and Defense]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Planet Debian]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>

		<guid isPermaLink="false">http://blog.root1024.ch/?p=3143</guid>
				<description><![CDATA[So nach langer Zeit komme ich endlich wieder dazu, einen Blogbeitrag zu schreiben. Im Moment stehe ich im Abschluss der Informatiklehre und muss darum Prioritäten setzten ;-). Heute habe ich eine interessante Unterhalten mit jemandem gehabt. Dabei sind wir schnell vom Broadcast auf die MAC-Adresstabelle eines Switches und davon auf MAC flooding gekommen. Damit man [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>So nach langer Zeit komme ich endlich wieder dazu, einen Blogbeitrag zu schreiben. Im Moment stehe ich im Abschluss der Informatiklehre und muss darum Prioritäten setzten ;-).</p>
<p>Heute habe ich eine interessante Unterhalten mit jemandem gehabt. Dabei sind wir schnell vom <a title="Broadcast" href="http://de.wikipedia.org/wiki/Broadcast">Broadcast</a> auf die MAC-Adresstabelle eines Switches und davon auf MAC flooding gekommen. Damit man das Ganze versteht hole ich ein wenig aus.<span id="more-3143"></span></p>
<h3>Funktionsweise eines Hubs</h3>
<p>Wir nehmen an, dass 4 Computer und 1 Webserver an einem <a title="Hub" href="http://www.netzwerke.com/Netzwerk-Hub.htm">Hub</a> angeschlossen sind. Ein Computer greifft nun auf den Webserver zu. Der Hub erhält vom Computer ein Packet, in welchem die MAC-Adresse des Webservers steht. Da der Hub aber keine MAC-Adresstabelle führt, sendet er das Packet aus allen Ports raus. Mit einem Netzwerksniffer, wie zum Beispiel Wireshark, kann somit der Netzwerktraffic von allen 4 Computern inkl. dem Webserver gesnifft werden. Hubs werden heute nur noch selten eingesetzt, da sie unnötig Netzwerktraffic verursachen, sich angeschlossene Geräte die Bandbreite teilen müssen und sie einfach veraltet sind.</p>
<h3>Funktionsweise eines Switches</h3>
<p>Wir nehmen an, dass 4 Computer und 1 Webserver an einem <a title="Switch" href="http://www.netzwerke.com/Netzwerk-Switch.htm">Switch</a> angeschlossen sind. Ein Computer greifft nun auf den Webserver zu. Der Switch erhält vom Computer ein Packet, in welchem die MAC-Adresse des Webservers steht. Da er den Webserver noch nicht kennt, sendet er das Packet aus allen Ports raus. Der Webserver meldet sich beim Switch, hey das Packet ist für mich, ich habe diese MAC-Adresse. Jetzt kommt der Unterschied zum Hub. Der Switch trägt jetzt die MAC-Adresse des Webserver und den Port in einer MAC-Adresstabelle ein. Kommt wieder ein Packet, in welchem die MAC-Adresse des Webserver steht, weiss der Switch aus welchem Port er das Packet senden muss. Er sendet das Packet nur noch aus dem richtigen Port und nicht mehr aus allen Ports raus. Somit kann der Netzwerktraffic nicht mehr von einem Gerät, dass am Hub angeschlossen ist, gesnifft werden.</p>
<h3>Den Switch zu einem Hub machen</h3>
<p>Der Speicherplatz des Switches für die MAC-Adresstabelle ist beschränkt. Ist der Speicher voll, werden die ältesten Einträge gelöscht und die Neuen werden eingetragen. Dabei muss ein Packet wieder mindestens einmal aus allen Ports versendet werden, damit der Switch wieder die Zuordung von MAC-Adresse zu Port hat. Flutet man den Switch mit unsinnigen MAC-Adressen, ist die MAC-Adresstabelle ständig voll und Packete müssen wieder an alle im Netzwerk versendet werden, weil die Zuordung von MAC-Adresse zu Port fehlt. Der Switch wird zu einem Hub. Wie bei einem Hub kann der ganze Netzwerkverkehr gesnifft werden.</p>
<h3>Praxis</h3>
<p id="watch-headline-title">Tja, da das Gesetz in der Schweiz ebenfalls enger wurde werde ich mich hüten, hier eine Schritt für Schritt Anleitung zu erstellen. Schade, hätte ich gerne gezeigt ^^. Wie man aber einen Switch oder ein LAN mit MAC-Adressen fluten kann findet man sehr schnell im Internet und wie man Packete snifft wissen die meisten Leser dieses Blogs ebenfalls ;-). Hier gibt es ein gutes Video, das zeigt, wie bei einem CISCO Switch ein Angriff abgewehrt werden kann: <a title="Cisco Layer 3 Switch MAC Flood Attack" href="http://www.youtube.com/watch?v=jxNRxB9yN9k">Cisco Layer 3 Switch MAC Flood Attack</a>.</p>
<h3>Vorteile und Nachteile des Angriffs</h3>
<p>Vorteile</p>
<ul>
<li>Sehr einfach umzusetzen</li>
<li>Funktioniert in einfachen Netzwerken wie zum Beispiel Heimnetzwerk</li>
<li>Für Lernzweck geeignet</li>
</ul>
<p>Nachteile</p>
<ul>
<li>Erzeugt starke Last im Netzwerk</li>
<li>Angriff wird sehr einfach entdeckt</li>
<li>Teurere Switches haben einen grösseren Speicher für die MAC-Adresstabelle</li>
<li>Teurere Switches haben diverse Sicherheitsmechanismen um den Angriff abzuwehren</li>
</ul>
<h3>Fazit</h3>
<p>Dieser Angriff ist sehr einfach umzusetzen, kann dementsprechend auch sehr einfach erkannt und abgewehrt werden. Flutet man einen Switch mit MAC-Adressen wird dies als Angriff gewertet, also auf keine Fall in einem fremden Netzwerk, sondern nur im eigenen Netzwerk testen.</p>
<p>Ich gehe nach dem Motto, Angriff ist die beste Verteidigung. Nur wenn man Angriffe kennt, kann man diese auch abwehren ;-).</p>
]]></content:encoded>
							<wfw:commentRss>http://blog.root1024.ch/betriebssystem/linux/switch-mac-flooding-fluten/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
							</item>
		<item>
		<title>Upgrade von Debian 5 (Lenny) auf Debian 6 (Squeeze)</title>
		<link>http://blog.root1024.ch/betriebssystem/linux/debian-linux-betriebssystem/upgrade-von-debian-5-lenny-auf-debian-6-squeeze/</link>
				<comments>http://blog.root1024.ch/betriebssystem/linux/debian-linux-betriebssystem/upgrade-von-debian-5-lenny-auf-debian-6-squeeze/#comments</comments>
				<pubDate>Sun, 20 Feb 2011 14:00:56 +0000</pubDate>
		<dc:creator><![CDATA[Silvan]]></dc:creator>
				<category><![CDATA[Citrix XenServer]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Planet Debian]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Upgrade]]></category>

		<guid isPermaLink="false">http://blog.root1024.ch/?p=3066</guid>
				<description><![CDATA[Debian 6.0.0 wurde am 6. Februar 2011 veröffentlicht und mit Citrix XenServer Featurepack 1, welcher im Januar erschienen ist, wird Debian 6 (Squeeze) unterstützt. Nach dem Upgrade meines Citrix XenServers auf Citrix XenServer 5.6 Featurepack 1 sind jetzt die VMs mit dem Upgrade von Debian 5 (Lenny) auf Debian 6 (Squeeze) dran. Ich fragte mich, [&#8230;]]]></description>
								<content:encoded><![CDATA[<p><a href="http://www.debian.org/distrib/" target="_blank">Debian 6.0.0</a> wurde am 6. Februar 2011 veröffentlicht und mit Citrix XenServer Featurepack 1, welcher im Januar erschienen ist, wird Debian 6 (Squeeze) unterstützt. Nach dem <a href="http://blog.root1024.ch/virtualisierung/citrix-xenserver/nach-update-auf-xenserver-5-6-1-fp1-kein-netzwerk-mehr/">Upgrade meines Citrix XenServers auf Citrix XenServer 5.6 Featurepack 1</a> sind jetzt die VMs mit dem Upgrade von Debian 5 (Lenny) auf Debian 6 (Squeeze) dran.</p>
<p>Ich fragte mich, wie upgrade ich mein Debian 5 (Lenny) denn eigentlich richtig auf Debian 6 (Squeeze)? Ich wurde schnell fündig. Debian stellt eine sehr deteillierte Anleitung für das Upgrade zur Verfügung:? <a href="http://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.de.html" target="_blank">Upgrade von Debian 5.0 (Lenny)</a>. Der Beitrag orientiert sich darum an dieser Anleitung.<span id="more-3066"></span></p>
<p>Der folgende Beitrag ist nicht die perfekte Anleitung wie man Debian 5 (Lenny) auf Debian 6 (Squeeze) upgraded, denn jedes System ist anders und es können beim Upgrade je nachdem unterschiedliche Probleme entstehen. Um das Ganze zu vereinheitlichen habe ich Debian 5 (Lenny) frisch auf meinem Citrix XenServer installiert und upgrade es in diesem Beitrag auf Debian 6 (Squeeze). Das Upgrade funktioniert bei einem 0815 System nach diesem Beitrag.</p>
<p>In der Anleitung von Debian wird zum Upgrade apt-get anstatt aptitude empfohlen.</p>
<h2>Inhalt</h2>
<p><a href="#Vorarbeiten">Vorarbeiten</a><br />
<a href="#Systemstatus">Systemstatus prüfen</a><br />
<a href="#Aufzeichnung">Aufzeichnung starten</a><br />
<a href="#Quellen">Quellen anpassen</a><br />
<a href="#Minimal">Minimales System Upgrade</a><br />
<a href="#Upgrade">Upgrade des Systems</a><br />
<a href="#Aufraeumen">System aufräumen</a><br />
<a href="#Schlusswort">Schlusswort</a></p>
<h2><a id="Vorarbeiten" name="Vorarbeiten"></a>Vorarbeiten</h2>
<p>Vom System sollte unbedingt ein Backup erstellt werden. Dabei habe ich einfach die Verzeichnisse /etc, /var, /root, /home und die Datenpartitionen gesichert. Bei einer Neuinstallation könnte ich so das System wieder zum Laufen bekommen.</p>
<p>Das Paket splashy macht Probleme beim Upgrade und sollte darum vor dem Upgrade entfernt werden mit</p>
<pre><code>apt-get purge splashy</code></pre>
<h2><a id="Systemstatus" name="Systemstatus"></a>Systemstatus prüfen</h2>
<p>Das System sollte vor dem Upgrade auf dem aktuellsten Stand sein. Also noch kurz Debian 5 (Lenny) aktualisieren</p>
<pre><code>apt-get update apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.</code></pre>
<p>Prüfen, ob fehlerhaft installierte Packete vorhanden sind</p>
<pre><code>dpkg --audit</code></pre>
<p>Prüfen, ob es Packete gibt die auf hold gesetzt sind. Diese sollten vor dem Upgrade entfernt werden.</p>
<pre><code>dpkg --get-selections | grep hold</code></pre>
<h2><a id="Aufzeichnung" name="Aufzeichnung"></a>Aufzeichnung starten</h2>
<p>Vor dem Upgrade kann man mit</p>
<pre>~/upgrade-squeeze.time -a ~/upgrade-squeeze.script</pre>
<p>jede Ausgabe auf der Konsole in eine Datei umleiten. Dies hilft später bei der Fehleranalyse und das komplette Upgrade ist an jeder Stelle nachvollziehbar.</p>
<h2><a id="Quellen" name="Quellen"></a>Quellen anpassen</h2>
<p>In der Datei /etc/apt/sources.list müssen die alten Quellen auskommentiert und die neuen Quellen hinzugefügt werden. Die alte /etc/apt/sources.list sieht so aus:</p>
<pre><code># deb http://ftp.ch.debian.org/debian/ lenny main deb http://ftp.ch.debian.org/debian/ lenny main deb-src http://ftp.ch.debian.org/debian/ lenny main deb http://security.debian.org/ lenny/updates main deb-src http://security.debian.org/ lenny/updates main deb http://volatile.debian.org/debian-volatile lenny/volatile main deb-src http://volatile.debian.org/debian-volatile lenny/volatile main</code></pre>
<p>Die neue /etc/apt/sources.list sieht so aus:</p>
<pre><code># deb http://ftp.ch.debian.org/debian/ lenny main # deb http://ftp.ch.debian.org/debian/ lenny main # deb-src http://ftp.ch.debian.org/debian/ lenny main # deb http://security.debian.org/ lenny/updates main # deb-src http://security.debian.org/ lenny/updates main # deb http://volatile.debian.org/debian-volatile lenny/volatile main # deb-src http://volatile.debian.org/debian-volatile lenny/volatile main deb http://ftp.ch.debian.org/debian/ squeeze main deb-src http://ftp.ch.debian.org/debian/ squeeze main deb http://security.debian.org/ squeeze/updates main deb-src http://security.debian.org/ squeeze/updates main</code></pre>
<p>Debian 6 (Squeeze) ist auf http://volatile.debian.org/debian-volatile/dists/ nicht vorhanden, wesshalb ich diese Quelle auch auskommentiert habe.</p>
<p>Die Liste der neuen Packete aktualisieren</p>
<pre><code>apt-get update Get:1 http://ftp.ch.debian.org squeeze Release.gpg [1671B] Ign http://ftp.ch.debian.org squeeze/main Translation-en_US Get:2 http://ftp.ch.debian.org squeeze Release [69.3kB] Get:3 http://security.debian.org squeeze/updates Release.gpg [835B] Ign http://security.debian.org squeeze/updates/main Translation-en_US Get:4 http://security.debian.org squeeze/updates Release [38.4kB] Get:5 http://ftp.ch.debian.org squeeze/main Packages [8631kB] Get:6 http://security.debian.org squeeze/updates/main Packages [26.2kB] Get:7 http://security.debian.org squeeze/updates/main Sources [8049B] Get:8 http://ftp.ch.debian.org squeeze/main Sources [4822kB] Fetched 13.6MB in 5s (2389kB/s) Reading package lists... Done</code></pre>
<p>Wenn alle Quellen schön durchlaufen sind die Quellen ok. Erscheint bei einer Quelle ein Fehler muss diese Quelle noch korrigiert werden.</p>
<p>Prüfen, ob genügend Speicherplatz für das Upgrade zur Verfügung steht</p>
<pre><code>apt-get -o APT::Get::Trivial-Only=true dist-upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages will be REMOVED: ... The following NEW packages will be installed: ... 207 upgraded, 64 newly installed, 2 to remove and 0 not upgraded. Need to get 139MB of archives. After this operation, <strong>168MB</strong> of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation.</code></pre>
<h2><a id="Minimal" name="Minimal"></a>Minimales System Upgrade</h2>
<p>Das minimale System Upgrade durchführen</p>
<pre><code>apt-get upgrade</code></pre>
<p>Den aktuellen Kernel ausgeben</p>
<pre><code>uname -r 2.6.26-2-686-bigmem</code></pre>
<p>Den neuen Kernel suchen</p>
<pre><code>apt-cache search linux-image-2.6 linux-headers-2.6.32-5-486 - Header files for Linux 2.6.32-5-486 linux-headers-2.6.32-5-686-bigmem - Header files for Linux 2.6.32-5-686-bigmem linux-headers-2.6.32-5-686 - Header files for Linux 2.6.32-5-686 linux-headers-2.6.32-5-amd64 - Header files for Linux 2.6.32-5-amd64 linux-headers-2.6.32-5-openvz-686 - Header files for Linux 2.6.32-5-openvz-686 linux-headers-2.6.32-5-vserver-686-bigmem - Header files for Linux 2.6.32-5-vserver-686-bigmem linux-headers-2.6.32-5-vserver-686 - Header files for Linux 2.6.32-5-vserver-686 linux-headers-2.6.32-5-xen-686 - Header files for Linux 2.6.32-5-xen-686 linux-image-2.6.32-5-486 - Linux 2.6.32 for old PCs linux-image-2.6.32-5-686-bigmem-dbg - Debugging infos for Linux 2.6.32-5-686-bigmem <strong>linux-image-2.6.32-5-686-bigmem - Linux 2.6.32 for PCs with 4GB+ RAM</strong> linux-image-2.6.32-5-686 - Linux 2.6.32 for modern PCs linux-image-2.6.32-5-amd64 - Linux 2.6.32 for 64-bit PCs linux-image-2.6.32-5-openvz-686-dbg - Debugging infos for Linux 2.6.32-5-openvz-686 linux-image-2.6.32-5-openvz-686 - Linux 2.6.32 for modern PCs, OpenVZ support linux-image-2.6.32-5-vserver-686-bigmem-dbg - Debugging infos for Linux 2.6.32-5-vserver-686-bigmem linux-image-2.6.32-5-vserver-686-bigmem - Linux 2.6.32 for PCs with 4GB+ RAM, Linux-VServer support linux-image-2.6.32-5-vserver-686 - Linux 2.6.32 for modern PCs, Linux-VServer support linux-image-2.6.32-5-xen-686-dbg - Debugging infos for Linux 2.6.32-5-xen-686 linux-image-2.6.32-5-xen-686 - Linux 2.6.32 for modern PCs, Xen dom0 support linux-image-2.6-486 - Linux 2.6 for old PCs (meta-package) linux-image-2.6-686-bigmem - Linux 2.6 for PCs with 4GB+ RAM (meta-package) linux-image-2.6-686 - Linux 2.6 for modern PCs (meta-package) linux-image-2.6-amd64 - Linux 2.6 for 64-bit PCs (meta-package) linux-image-2.6-openvz-686 - Linux 2.6 for modern PCs (meta-package), OpenVZ support linux-image-2.6-vserver-686-bigmem - Linux 2.6 for PCs with 4GB+ RAM (meta-package), Linux-VServer support linux-image-2.6-vserver-686 - Linux 2.6 for modern PCs (meta-package), Linux-VServer support linux-image-2.6-xen-686 - Linux 2.6 for modern PCs (meta-package), Xen dom0 support linux-image-2.6.26-2-686-bigmem - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4</code></pre>
<p>Neuen Kernel installieren</p>
<pre><code>apt-get install linux-image-2.6.32-5-686-bigmem</code></pre>
<p>Das neue udev Packet installieren</p>
<pre><code>apt-get install udev</code></pre>
<p>Das System muss jetzt neugestartet werden. Nach einem Reboot ist der neue Kernel installiert</p>
<pre><code>uname -r 2.6.32-5-686-bigmem</code></pre>
<h2><a id="Upgrade" name="Upgrade"></a>Upgrade des Systems</h2>
<p>Das vollständige System Upgrade durchführen</p>
<pre><code>apt-get dist-upgrade</code></pre>
<p>Grub 2 in den MBR installieren</p>
<pre><code>upgrade-from-grub-legacy rm -f /boot/grub/menu.lst*</code></pre>
<p>Führt man diese beiden Befehl nicht aus, befindet sich meines Wissens immer noch Grub 1 im MBR und das System kann nicht mehr booten. Dies führt im Citrix XenServer zu dieser Fehlermeldung</p>
<pre><code>Using to parse /grub/menu.lst - Traceback (most recent call last): - File "/usr/bin/pygrub", line 746, in ? - raise RuntimeError, "Unable to find partition containing kernel" - RuntimeError: Unable to find partition containing kernel</code></pre>
<h2><a id="Aufraeumen" name="Aufräumen"></a>System aufräumen</h2>
<p>Nicht mehr benötigte Packete entfernen</p>
<pre><code>apt-get autoremove Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: libbind9-50 libisccc50 libisccfg50 liblwres50 x11-common 0 upgraded, 0 newly installed, 5 to remove and 0 not upgraded. After this operation, 1,069 kB disk space will be freed. Do you want to continue [Y/n]? Y</code></pre>
<h2><a id="Schlusswort" name="Schlusswort"></a>Schlusswort</h2>
<p>Das Upgrade war erfolgreich und meine VMs sind jetzt auf Debian 6 (Squeeze) aktualisiert. Wenn ihr 100% sicher gehen wollt, dass nichts schief geht, lest euch die Anleitung von Debian durch: <a href="http://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.de.html" target="_blank">Upgrade von Debian 5.0 (Lenny).</a></p>
<p>Habt ihr das Upgrade auf Debian 6 (Squeeze) schon gewagt?</p>
]]></content:encoded>
							<wfw:commentRss>http://blog.root1024.ch/betriebssystem/linux/debian-linux-betriebssystem/upgrade-von-debian-5-lenny-auf-debian-6-squeeze/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
							</item>
		<item>
		<title>Subversion (SVN) einrichten von A bis Z</title>
		<link>http://blog.root1024.ch/netzwerk/subversion-svn-einrichten-von-a-bis-z/</link>
				<comments>http://blog.root1024.ch/netzwerk/subversion-svn-einrichten-von-a-bis-z/#comments</comments>
				<pubDate>Thu, 20 Jan 2011 21:24:11 +0000</pubDate>
		<dc:creator><![CDATA[Silvan]]></dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Planet Debian]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://blog.root1024.ch/?p=2825</guid>
				<description><![CDATA[In diesem Beitrag schreibe ich darüber, wie man Subversion (SVN) von A bis Z auf seinem Server einrichtet. Das Tutorial geht quasi von Nichts bis zum ersten externen Subversion (SVN) Checkout. Zudem wird auch Dropbox in den Beitrag miteinbezogen. Der Beitrag kann 1:1 ausprobiert werden. Inhalt Was ist Subversion (SVN)? Eigener Subversion (SVN) Server vs. [&#8230;]]]></description>
								<content:encoded><![CDATA[<div id="attachment_3001" style="width: 310px" class="wp-caption alignleft"><a href="http://blog.root1024.ch/wp-content/uploads/2011/01/subversion_logo.png"><img aria-describedby="caption-attachment-3001" class="size-medium wp-image-3001 " title="Subversion Logo" src="http://blog.root1024.ch/wp-content/uploads/2011/01/subversion_logo-300x41.png" alt="Subversion Logo" width="300" height="41" srcset="http://blog.root1024.ch/wp-content/uploads/2011/01/subversion_logo-300x41.png 300w, http://blog.root1024.ch/wp-content/uploads/2011/01/subversion_logo.png 468w" sizes="(max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-3001" class="wp-caption-text">Subversion Logo</p></div>
<p>In diesem Beitrag schreibe ich darüber, wie man Subversion (SVN) von A bis Z auf seinem Server einrichtet. Das Tutorial geht quasi von Nichts bis zum ersten externen Subversion (SVN) Checkout.  Zudem wird auch Dropbox in den Beitrag miteinbezogen. Der Beitrag kann 1:1 ausprobiert werden.</p>
<h3>Inhalt</h3>
<p><a href="#SVN">Was ist Subversion (SVN)?</a><br />
<a href="#Dropbox">Eigener Subversion (SVN) Server vs. Dropbox</a><br />
<a href="#Umgebung">Die Umgebung</a><br />
<a href="#Server">Die Konfiguration des Subversion (SVN) Servers</a><br />
<a href="#Repository">Erstes Repository anlegen</a><br />
<a href="#Zugang">Die Konfiguration des externen Zugangs</a><br />
<a href="#Client">Die Konfiguration des Clients</a><br />
<a href="#Checkout">Der erste externe Checkout</a><br />
<a href="#Kombination">Subversion (SVN) kombiniert mit Dropbox</a><br />
<a href="#Schlusswort">Schlusswort</a><br />
<a href="#Quellen">Quellen</a></p>
<h3><a id="SVN" name="SVN"></a>Was ist Subversion (SVN)?</h3>
<p><a title="Subversion (SVN)" href="http://subversion.tigris.org/" target="_blank">Subversion (SVN)</a> ist ein <a title="Versionsverwaltungssystem" href="http://de.wikipedia.org/wiki/Versionsverwaltung" target="_blank">Versionsverwaltungssystem</a> für Dateien und Ordner. Für jede Änderung an einer Datei oder an einem Ordner gibt es eine neue Version. Ältere Versionen von Dateien und Ordner können wenn nötig wiederhergestellt werden.</p>
<p>Ich habe mir aus folgenden Gründen einen Subversion (SVN) Server konfiguriert</p>
<ul>
<li>Daten sind über HTTPS von praktisch überall erreichbar</li>
<li>Daten müssen nicht mehr mit USB von PC zu PC kopiert werden weil sie zentral auf dem Server liegen</li>
<li>Versionsverwaltungssystem. Schluss mit &#8222;Ach, auf welchem PC liegt nun die aktuellste Version der Datei?&#8220;</li>
<li>Backup. Auf jedem Client liegt quasi ein Backup der Daten</li>
</ul>
<h3><a id="Dropbox" name="Dropbox"></a>Eigener Subversion (SVN) Server vs. Dropbox</h3>
<p>Über die Pros und Contras gibt es sicher unterschiedliche Ansichten. Ich freue mich auf die Diskussion in den Kommentaren ;-).</p>
<p><strong>Dropbox Pro</strong></p>
<ul>
<li>Benötigt keinen eigenen Server</li>
<li>Wahrscheinlich höhere Verfügbarkeit als eigener Server</li>
<li>Dateien und Ordner werden ohne weiteres Skrippten automatisch synchronisiert</li>
<li>Sehr einfache Bedienung für einen Benutzer</li>
</ul>
<p><strong>Dropbox Contra</strong></p>
<ul>
<li>Speicherplatz nur 2GB (bis zu 10GB gratis)</li>
<li>Daten sind extern gehostet</li>
<li>Versionen älter 30 Tage können nicht mehr wiederhergestellt werden</li>
</ul>
<p><strong>Eigener Subversion (SVN) Server Pro</strong></p>
<ul>
<li>Mehr Speicherplatz (hängt natürlich vom Server ab)</li>
<li>Daten sind nicht extern gehostet</li>
<li>Keine Zeitlimitierung der Versionen</li>
<li>Man kann selbst ausprobieren und konfigurieren (grösserer Lerneffekt)</li>
<li>Grösserer Funktionsumfang als Dropbox (erweiterbar)</li>
</ul>
<p><strong>Eigener Subversion (SVN) Server Contra</strong></p>
<ul>
<li>Ein eigener Server wird benötigt der 24h * 7d läuft</li>
<li>Ausfälle sind wahrscheinlicher</li>
<li>Ein gewisses Know How muss vorhanden sein</li>
</ul>
<p>Zusammenfassend hat der eigene Subversion (SVN) Server mehr Ressourcen und <a title="Dropbox" href="http://db.tt/Zv1Ifje" target="_blank">Dropbox</a> dafür eine höhere Verfügbarkeit, jedoch sind die Daten mit Dropbox extern gehostet. Mit Subversion (SVN) und Dropbox in Kombination kann man das Maximum erreichen.</p>
<h3><a id="Umgebung" name="Umgebung"></a>Umgebung</h3>
<p>Dies ist die Umgebung in diesem Beitrag. Eure Umgebung muss nicht exakt die gleiche  sein. Bei Unsicherheiten fragt einfach in den Kommentaren oder schreibt mir.</p>
<p><strong>Externer Zugang</strong></p>
<ul>
<li>DynDNS Adresse wie zum Beispiel root1024.dyndns.info</li>
</ul>
<p><strong>Router</strong></p>
<ul>
<li>pfSense</li>
<li>DNS Forwarding konfigurierbar</li>
<li>DynDNS konfigurierbar</li>
</ul>
<p><strong>Server</strong></p>
<ul>
<li>Aktuelles Debian</li>
<li>Apache Webserver</li>
<li>Subversion</li>
</ul>
<p><strong>Client</strong></p>
<ul>
<li>Windows 7</li>
<li>Tortoise SVN Client</li>
</ul>
<h3><a id="Server" name="Server"></a>Die Konfiguration des Subversion (SVN) Servers</h3>
<p><strong>Apache / Subversion installieren und für die Adresse konfigurieren</strong><br />
Apache / Subversion installieren</p>
<pre>aptitude install subversion apache2 libapache2-svn</pre>
<p>Neue Seite von der Default Seite kopieren</p>
<pre>cp /etc/apache2/sites-available/default /etc/apache2/sites-available/root1024.dyndns.info</pre>
<p>Verzeichnis für die neue Seite erstellen</p>
<pre>mkdir /var/www/root1024.dyndns.info
touch /var/www/root1024.dyndns.info/index.html
chown -R www-data:www-data /var/www/root1024.dyndns.info/</pre>
<p>In /etc/apache2/sites-available/root1024.dyndns.info werden die Werte ServerName und DocumentRoot angepasst</p>
<pre>ServerName root1024.dyndns.info # Deine Adresse
DocumentRoot /var/www/root1024.dyndns.info/ # Pfad zum Verzeichnis der Seite</pre>
<p>Die Seite aktivieren</p>
<pre>a2ensite /etc/apache2/sites-available/root1024.dyndns.info</pre>
<p>und apache neustarten</p>
<pre>/etc/init.d/apache2 restart</pre>
<p>Nachdem wir im DNS Server einen Eintrag von root1024.dyndns.info &#8211;&gt; SVN Server IP eingerichtet haben, ist die Webseite jetzt über http://root1024.dyndns.info erreichbar.<br />
<strong>Apache um SSL erweitern</strong><br />
Das SSl Modul von Apache aktivieren</p>
<pre>a2enmod ssl</pre>
<p>Neue Seite von der SSL-Default Seite kopieren</p>
<pre>cp /etc/apache2/sites-available/default-ssl /etc/apache2/sites-available/root1024.dyndns.info-ssl</pre>
<p>Das SSL Zertifikat erstellen</p>
<pre>mkdir /etc/apache2/ssl
openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem
ln -sf /etc/apache2/ssl/apache.pem /etc/apache2/ssl/`/usr/bin/openssl x509 -noout -hash &lt; /etc/apache2/ssl/apache.pem`.0
chmod 600 /etc/apache2/ssl/apache.pem</pre>
<p>In /etc/apache2/sites-available/root1024.dyndns.info-ssl werden die Werte ServerName, DocumentRoot und SSLCertificateFile angepasst. Die Zeile SSLCertificateKeyFile wird auskommentiert oder entfernt.</p>
<pre>ServerName root1024.dyndns.info
DocumentRoot /var/www/root1024.dyndns.info
SSLCertificateFile    /etc/apache2/ssl/apache.pem
#       SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key</pre>
<p>Ohne Kommentare sieht die Datei so aus</p>
<pre>&lt;IfModule mod_ssl.c&gt;
&lt;VirtualHost _default_:443&gt;
        ServerAdmin webmaster@localhost
        ServerName root1024.dyndns.info
        DocumentRoot /var/www/root1024.dyndns.info/
        &lt;Directory /&gt;
                Options FollowSymLinks
                AllowOverride None
        &lt;/Directory&gt;
        &lt;Directory /var/www/root1024.dyndns.info/&gt;
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        &lt;/Directory&gt;

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        &lt;Directory "/usr/lib/cgi-bin"&gt;
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        &lt;/Directory&gt;

        ErrorLog /var/log/apache2/error.log

        LogLevel warn

        CustomLog /var/log/apache2/ssl_access.log combined

        Alias /doc/ "/usr/share/doc/"
        &lt;Directory "/usr/share/doc/"&gt;
                Options Indexes MultiViews FollowSymLinks
                AllowOverride None
                Order deny,allow
                Deny from all
                Allow from 127.0.0.0/255.0.0.0 ::1/128
        &lt;/Directory&gt;

        SSLEngine on

        SSLCertificateFile    /etc/apache2/ssl/apache.pem

        &lt;FilesMatch "\.(cgi|shtml|phtml|php)$"&gt;
                SSLOptions +StdEnvVars
        &lt;/FilesMatch&gt;
        &lt;Directory /usr/lib/cgi-bin&gt;
                SSLOptions +StdEnvVars
        &lt;/Directory&gt;

        BrowserMatch ".*MSIE.*" \
                nokeepalive ssl-unclean-shutdown \
                downgrade-1.0 force-response-1.0
&lt;/VirtualHost&gt;
&lt;/IfModule&gt;</pre>
<p>Die Seite aktivieren</p>
<pre>a2ensite /etc/apache2/sites-available/root1024.dyndns.info-ssl</pre>
<p>und apache neustarten</p>
<pre>/etc/init.d/apache2 restart</pre>
<p>Die Webseite ist jetzt unter https://root1024.dyndns.info erreichbar.</p>
<h3><a id="Repository" name="Zugang"></a>Erstes Repository anlegen</h3>
<p>Ein neues Repository wird mit</p>
<pre>mkdir -p /var/local/subversion/projekt
chown -R www-data:www-data /var/local/subversion/projekt
svnadmin create --fs-type fsfs /var/local/subversion/projekt
</pre>
<p>angelegt. In den Dateien /etc/apache2/sites-available/root1024.dyndns.info und /etc/apache2/sites-available/root1024.dyndns.info-ssl muss noch der Block</p>
<pre>&lt;Location /projekt&gt; # Teil der URL https://root1024.dyndns.info/projekt
	DAV svn
	AuthType Basic # oder Digest
	AuthName "Projekt" # Bereichsname bei der Authentifizierung
	AuthUserFile /etc/apache2/subversion.passwd # Pfad zur Datei mit Benutzern und Passwörtern
	SVNPath /var/local/subversion/projekt # Pfad zum Repository
	Require valid-user # Nur gültige Benutzer haben Zugriff auf das Repository
&lt;/Location&gt;</pre>
<p>hinzugefügt werden. Der erste Benutzer für Subversion (SVN) wird mit</p>
<pre>htpasswd -c /etc/apache2/subversion.passwd Benutzer</pre>
<p>erstellt. Jeder weitere Benutzer mit</p>
<pre>htpasswd /etc/apache2/subversion.passwd Benutzer</pre>
<p><a title="IT Blögg" href="http://blog.murawski.ch" target="_blank">Stefan</a> hat mich noch auf AuthType Digest hingewiesen. Mit dieser Einstellung wird bei der Authentifizierung über HTTP das Passwort nicht im Klartext, sondern verschlüsselt gesendet. So kann das Passwort nicht gesnifft werden. Die übertragenen Daten sind jedoch immer noch unverschlüsselt, weshalb man SSL (HTTPS) nutzen sollte! Mit SSL (HTTPS) werden die Authentifizierung und die übertragenen Daten verschlüsselt, somit reicht wenn über SSL (HTTPS) AuthType Basic.</p>
<h3><a id="Zugang" name="Zugang"></a>Die Konfiguration des externen Zugangs</h3>
<p><strong>DynDNS</strong></p>
<p>Um den Router aus dem Internet zu erreichen verwendet ihr entweder direkt eure öffentliche IP oder ihr richtet bei DynDNS einen Account und eine Adresse ein. Zweites ist empfohlen, wenn ihr eine dynamische öffentliche IP habt. Der Router leitet später die richtigen Anfragen an den Subversion (SVN) Server weiter.</p>
<p>Nachdem ihr einen Account bei <a title="DynDNS" href="http://www.dyndns.com/" target="_blank">DynDNS</a> erstellt und eine Adresse (Hostname) eingerichtet habt, ist euer Router über die Adresse erreichbar. Dies kann einfach mit nslookup geprüft werden.</p>
<pre>nslookup root1024.dyndns.info
Server:  Router
Address:  192.168.0.1

Nicht autorisierende Antwort:
Name:    root1024.dyndns.info
Address:  88.198.47.75</pre>
<p>Falls die öffentliche IP wechselt muss der Router DynDNS die neue öffentliche IP mitteilen. Dies muss noch am Router konfiguriert werden. Bei <a title="pfSense" href="http://www.pfsense.org/" target="_blank">pfSense</a> befindet sich die Konfiguration unter &#8222;Services &#8211;&gt; Dynamic DNS&#8220;. Auf dieser Seite den Bereich &#8222;Dynamic DNS client&#8220; aktivieren und die Daten ausfüllen mit Adresse (Hostname) wie zum Beispiel root1024.dyndns.info, User und Passwort.</p>
<p>Nun könnt ihr euren Router vom Internet her über die Adresse (Hostname) immer erreichen, auch wenn die öffentliche IP wechselt.</p>
<p><strong>Firewall Regel</strong></p>
<p>Damit der Router alle Anfragen auf Port 443 an den Subversion (SVN) Server weitergibt, muss im Router noch eine Firewall Regel konfiguriert werden. In pfSense geschieht dies unter &#8222;Firewall &#8211;&gt; NAT&#8220;. In pfSense kann die NAT Regel wie folgt konfiguriert werden:</p>
<div id="attachment_2882" style="width: 310px" class="wp-caption alignnone"><a href="http://blog.root1024.ch/wp-content/uploads/2010/12/firewallrule.png"><img aria-describedby="caption-attachment-2882" class="size-medium wp-image-2882 " title="Firewall Regel" src="http://blog.root1024.ch/wp-content/uploads/2010/12/firewallrule-300x221.png" alt="Firewall Regel" width="300" height="221" srcset="http://blog.root1024.ch/wp-content/uploads/2010/12/firewallrule-300x221.png 300w, http://blog.root1024.ch/wp-content/uploads/2010/12/firewallrule.png 764w" sizes="(max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-2882" class="wp-caption-text">Firewall Regel</p></div>
<p><strong>DNS Forwarding</strong></p>
<p>Mit einem älteren Router habe ich das Problem gehabt, dass die Anfrage an die Adresse zum Provider ging und vom Provider an meinen Subversion (SVN) Server. Die Geschwindigkeit war aus unerklärlichen Gründen kleiner als 1KB/s. Der Router hat nicht gemerkt, dass die Adresse auf eine IP im internen Netzwerk zeigt. Solltet ihr ähnliche Probleme haben, leitet die Adresse wie zum Beispiel root1024.dyndns.info an eurem DNS Server gleich an die IP des Subversion (SVN) Servers weiter.</p>
<p>Jetzt ist der Subversion (SVN) Server vom Internet via HTTPS (Port 443) und vom internen Netzwerk via HTTPS (Port 443) und HTTP (Port 80) über die Adresse verfügbar.</p>
<h3><a id="Client" name="Client"></a>Die Konfiguration des Clients</h3>
<p>Auf dem Windows Client muss nur ein SVN Client wie zum Beispiel <a title="TortoiseSVN" href="http://tortoisesvn.tigris.org/" target="_blank">TortoiseSVN</a> (<a title="download 32 Bit" href="http://downloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.6.12.20536-win32-svn-1.6.15.msi?download" target="_self">download 32 Bit</a> | <a title="download 64 Bit" href="http://downloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.6.12.20536-x64-svn-1.6.15.msi?download" target="_self">download 64 Bit</a>) installiert werden. Die Installation von TortoiseSVN benötigt einen Neustart des Computers.</p>
<h3><a id="Checkout" name="Checkout"></a>Der erste externe Checkout</h3>
<p>Das Repository sollte von extern über einen Browser erreichbar sein. Funktioniert dies ist der erste externe Checkout mit TortoiseSVN schnell erledigt.</p>
<div id="attachment_2986" style="width: 310px" class="wp-caption alignnone"><a href="http://blog.root1024.ch/wp-content/uploads/2011/01/checkout_dialog.gif"><img aria-describedby="caption-attachment-2986" class="size-medium wp-image-2986" title="Checkout" src="http://blog.root1024.ch/wp-content/uploads/2011/01/checkout_dialog-300x232.gif" alt="Checkout" width="300" height="232" srcset="http://blog.root1024.ch/wp-content/uploads/2011/01/checkout_dialog-300x232.gif 300w, http://blog.root1024.ch/wp-content/uploads/2011/01/checkout_dialog.gif 468w" sizes="(max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-2986" class="wp-caption-text">Checkout</p></div>
<h3><a id="Kombination" name="Kombination"></a>Subversion (SVN) kombiniert mit Dropbox</h3>
<p>Die SVN Daten können in Dropbox ausgelagert werden für den Fall, dass der eigene Subversion (SVN) Server einmal nicht erreichbar sein sollte. Die Daten können einfach mit rsync oder robocopy synchronisiert werden. Die .svn Ordner können in cmd einfach mit</p>
<pre>FOR /F "delims=" %var IN ('dir C:\Users\Benutzer\Desktop\projekt /b /s /a:H .svn') DO rmdir /S /Q %a</pre>
<p>und unter Linux mit</p>
<pre>find /tmp/projekt/ -name .svn -exec rm -r {} \;</pre>
<p>gelöscht werden.</p>
<h3><a id="Schlusswort" name="Schlusswort"></a>Schlusswort</h3>
<p>Alles in Allem bin ich mit meinem privaten Subversion (SVN) Server, den ich schon seit ca. 2 Jahren nutze, sehr zufrieden. Ich hoffe der Beitrag hilft euch weiter bei der Installation und Konfiguration von einem Subversion (SVN) Server. Ich muss noch betonen, dass man mit einem eigenen Subversion (SVN) Server sehr viel mehr Möglichkeiten hat als in diesem Beitrag aufgezeigt werden.</p>
<p>Bei Fragen einfach einen Kommentar schreiben oder das Kontaktformular benutzen. Freue mich wie immer über Kritik und Lob.</p>
<h3><a id="Quellen" name="Quellen"></a>Quellen</h3>
<p><a title="Ubuntuusers Subversion" href="https://wiki.ubuntuusers.de/Archiv/Subversion/" target="_blank">Ubuntuusers Subversion</a></p>
<p><a title="Ubuntuusers Apache SSL" href="http://wiki.ubuntuusers.de/Apache/SSL" target="_blank">Ubuntuusers Apache SSL</a></p>
]]></content:encoded>
							<wfw:commentRss>http://blog.root1024.ch/netzwerk/subversion-svn-einrichten-von-a-bis-z/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
							</item>
		<item>
		<title>8 Fragen an Blogs aus dem ubuntuusers.de-Planet</title>
		<link>http://blog.root1024.ch/allgemein/8-fragen-an-blogs-aus-dem-ubuntuusers-de-planet/</link>
				<comments>http://blog.root1024.ch/allgemein/8-fragen-an-blogs-aus-dem-ubuntuusers-de-planet/#comments</comments>
				<pubDate>Fri, 17 Dec 2010 16:18:54 +0000</pubDate>
		<dc:creator><![CDATA[Silvan]]></dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Blogparade]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>

		<guid isPermaLink="false">http://blog.root1024.ch/?p=2898</guid>
				<description><![CDATA[Heute bin ich im ubuntuusers.de-Planet auf die Blogparade von picomol.de aufmerksam geworden. Dies ist mein erster Beitrag im Planet (juhu ich wurde aufgenommen :D) und mit der Teilnahme an der Blogparade möchte ich euch gleich mich und meinen Informatikblog root1024 ein wenig vorstellen. Wie lange bloggst du schon und seit wann bist du im uu.de-Planeten [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>Heute bin ich im <a href="http://planet.ubuntuusers.de/" target="_blank">ubuntuusers.de-Planet</a> auf die Blogparade von <a href="http://picomol.de/2010/12/17/blogparade-fragen-an-alle-ubuntuusers-de-planeten-blogger/" target="_blank">picomol.de</a> aufmerksam geworden. Dies ist mein erster Beitrag im <a href="http://planet.ubuntuusers.de/" target="_blank">Planet</a> (juhu ich wurde aufgenommen :D) und mit der Teilnahme an der Blogparade möchte ich euch gleich mich und meinen Informatikblog <a href="http://blog.root1024.ch" target="_blank">root1024</a> ein wenig vorstellen.</p>
<h3>Wie lange bloggst du schon und seit wann bist du im uu.de-Planeten aktiv?</h3>
<p>Den Blog gibt es seit dem Januar 2009. Bald ist der Blog also 2 Jahre alte. Im <a href="http://planet.ubuntuusers.de/" target="_blank">uu.de-Planeten</a> bin ich aktiv seit heute :D.  <a href="http://www.ubuntuusers.de" target="_blank">Ubuntuusers.de</a> kenne ich jedoch schon seit dem Juni 2008.</p>
<p>Während meiner Informatiklehre musste ich mich mit Linux befassen. Nachdem ich <a href="http://www.ubuntu.com/" target="_blank">Ubuntu</a> das erste Mal auf meinem Laptop installiert hatte gab es natürlich das eine oder andere Problem und ich war auf das <a href="http://forum.ubuntuusers.de/" target="_blank">Forum</a> von ubuntuusers.de gestossen. Während dem Linuxunterricht konnte ich mich immer mehr mit Linux anfreunden und habe darum die Prüfungen <a href="http://blog.root1024.ch/betriebssystem/linux/lpi-101-bestanden/" target="_blank">LPI101</a> und <a href="http://blog.root1024.ch/betriebssystem/linux/zertifizierung-junior-level-linux-professional-lpic-1-bestanden/" target="_blank">LPI102</a> absolviert. Auch heute habe ich noch Freude an Linux weshalb zu Hause ein <a href="http://www.citrix.com/English/ps2/products/product.asp?contentID=683148" target="_blank">Citrix XenServer</a> mit mehreren <a href="http://www.debian.org/" target="_blank">Debians</a> läuft.</p>
<h3>Warum betreibst du einen Blog?</h3>
<p>Anfangs dokumentierte ich Probleme und deren Lösungen über Informatikthemen im Blog. Ich konnte oft auf Beiträge im Blog zurückgreiffen, wenn ich etwas erneut einrichten musste. Ebenfalls wollte ich die Lösungen und Anleitungen niemandem vorenthalten und publizierte diese darum im Blog.</p>
<p>Bald habe ich mehr Spass am Schreiben und Teilen von Informationen über die Informatik mit Anderen bekommen und so wurde der Blog zu meinem Hobby.</p>
<h3>Mit welchem Thema beschäftigt sich dein Blog?</h3>
<p>Hauptsächlich mit Themen die mit Informatik zu tun haben. Grob gesagt: Windows, Linux, Netzwerk, Programmierung, Security, Virtualisierung, Server, Client und Programmen.</p>
<h3>Wie viele Artikel schreibst du im Monat ungefähr?</h3>
<p>Je nachdem wie viel Zeit ich habe und auf wie viele interessante Probleme und IT-News ich stosse sind es ca. 2-3 Beiträge im Monat.</p>
<h3>Wann und wo schreibst du deine Artikel?</h3>
<p>Die Beiträge schreibe ich meist zu Hause in meiner Freizeit wenn ich gerade Lust und Zeit habe.</p>
<h3>Wie kommst du auf neue Ideen für Blogbeiträge?</h3>
<p>Neue Blogbeiträge entstehen meist, wenn ich auf ein grösseres Problem stosse und ich dessen Lösung dokumentieren möchte oder wenn ich auf eine gute Information in anderen Blogs oder eine interessante IT-News aufmerksam werde. Manchmal vermisse ich einfach eine Anleitung und schreibe nach Zusammensuchen der Informationen eine eigenes Howto.</p>
<h3>Hast du (auf deinen Blog bezogen) irgendwelche Pläne für die Zukunft?  Wenn ja, welche?</h3>
<p>Weiterhin gute Beiträge schreiben und Informationen mit Anderen teilen.</p>
<h3>Was machst du sonst so in deiner Freizeit?</h3>
<p>In meiner Freizeit mache ich Sport, gehe in den Ausgang mit Freunden, blogge und geniesse das Leben. Natürlich beschäftige ich mich auch mit Informatik.</p>
]]></content:encoded>
							<wfw:commentRss>http://blog.root1024.ch/allgemein/8-fragen-an-blogs-aus-dem-ubuntuusers-de-planet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
							</item>
	</channel>
</rss>
