<?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>deluxe-stylez.de &#187; HowTo</title>
	<atom:link href="http://www.deluxe-stylez.de/category/linux-und-co/howto/feed" rel="self" type="application/rss+xml" />
	<link>http://www.deluxe-stylez.de</link>
	<description>:: unix - brain required</description>
	<lastBuildDate>Fri, 20 Jan 2012 19:11:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>WPA Key&#8217;s mit GFX-Power cracken &#8211; Pyrit</title>
		<link>http://www.deluxe-stylez.de/2012/01/09/wpa-keys-mit-gfx-power-cracken-pyrit</link>
		<comments>http://www.deluxe-stylez.de/2012/01/09/wpa-keys-mit-gfx-power-cracken-pyrit#comments</comments>
		<pubDate>Mon, 09 Jan 2012 09:31:14 +0000</pubDate>
		<dc:creator>BeNe</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[backtrack]]></category>
		<category><![CDATA[crack]]></category>
		<category><![CDATA[cuda]]></category>
		<category><![CDATA[gpu]]></category>
		<category><![CDATA[grafikkarte]]></category>
		<category><![CDATA[key]]></category>
		<category><![CDATA[nvidia]]></category>
		<category><![CDATA[pmk]]></category>
		<category><![CDATA[pyrit]]></category>
		<category><![CDATA[wlan]]></category>
		<category><![CDATA[wpa]]></category>

		<guid isPermaLink="false">http://www.deluxe-stylez.de/?p=1069</guid>
		<description><![CDATA[Das Cracken von WPA Keys kann schon sehr lange dauern. Eine Grafikkarte welche CUDA unterstützt leistet hier erstaunliches an Rechenpower um schneller an den Key zu kommen. Bei NVIDIA gibt es eine Liste der unterstützen Karten welche mit CUDA Support kommen. In Backtrack 5 müssen erst einmal die Treiber für die CUDA Unterstützung kompiliert und installiert [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><a href="http://www.deluxe-stylez.de/wp-content/uploads/2012/01/CUDA-2.jpg" rel="lightbox[1069]"><img class="size-medium wp-image-1078 alignleft" title="CUDA-2" src="http://www.deluxe-stylez.de/wp-content/uploads/2012/01/CUDA-2-300x181.jpg" alt="" width="300" height="181" /></a>Das Cracken von WPA Keys <em>kann</em> schon sehr lange dauern. Eine Grafikkarte welche CUDA unterstützt leistet hier erstaunliches an Rechenpower um schneller an den Key zu kommen. Bei NVIDIA gibt es eine <a href="http://www.nvidia.de/object/cuda_gpus_de.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.nvidia.de/object/cuda_gpus_de.html?referer=');">Liste der unterstützen Karten</a> welche mit CUDA Support kommen.</p>
<p>In Backtrack 5 müssen erst einmal die Treiber für die CUDA Unterstützung kompiliert und installiert werden. Hierzu gibt es ein sehr gutes HowTo im BackTrack Wiki --&gt; <a href="http://www.backtrack-linux.org/wiki/index.php/CUDA_On_BackTrack" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.backtrack-linux.org/wiki/index.php/CUDA_On_BackTrack?referer=');">CUDA on BackTrack 5</a>. Somit werde ich hier nicht weiter darauf eingehen. Pyrit sollte ebenfalls direkt aus dem SVN geholt werden wie es im HowTo beschrieben wird, da in BT5 aktuell nur die Version 0.4.0 im Repository vorhanden ist.</p>
<p>In Pyrit selber gibt es einige checks welche erst mal gestartet werden sollten um sicher zu gehen das die Grafikkarte(n) mitgenutzt werden.</p>
<pre>root@bt:~# pyrit list_cores
Pyrit 0.4.1-dev (svn r308) (C) 2008-2011 Lukas Lueg <a href="http://pyrit.googlecode.com/" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/pyrit.googlecode.com/?referer=');">http://pyrit.googlecode.com</a>
This code is distributed under the GNU General Public License v3+

The following cores seem available...
#1: 'CUDA-Device #1 'GeForce GTX 295'
#2: 'CPU-Core (SSE2)'
#3: 'CPU-Core (SSE2)'</pre>
<p>Hier muss nun die Grafikkarte neben den CPU's  angezeigt werden. Falls nicht - passt etwas mit den Treibern nicht. Desweiteren kann pyrit mit einem "selftest" und einem "benchmark" gestartet werden. Im Benchmark wird gleich die Anzahl der Key's per Device ausgegeben.</p>
<pre>root@bt:~# pyrit benchmark
Pyrit 0.4.1-dev (svn r308) (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com
This code is distributed under the GNU General Public License v3+

Running benchmark (11551.1 PMKs/s)... \ 

Computed 11551.1 PMKs/s total.
#1: 'CUDA-Device #1 'GeForce GTX 295: 10558.8 PMKs/s (RTT 3.0)
#2: 'CPU-Core (SSE2)': 503.2 PMKs/s (RTT 2.7)
#3: 'CPU-Core (SSE2)': 489.1 PMKs/s (RTT 2.8)</pre>
<p>Hier ist jetzt ganz klar die Power der GTX 295 mit der GPU im Vergleich zur CPU zu sehen!  <img src='http://www.deluxe-stylez.de/wp-includes/images/smilies/icon_cool.gif' alt='8-)' class='wp-smiley' /> </p>
<p>Kommen wir nun mal zum eigentlichen Teil und verwenden pyrit um die Keys zu knacken. Pyrit verfügt über mehrere Arten einen Keys zu knacken bzw. zu importieren. PMK's können aus einer Datenbank, einer cowpatty Datei oder als passthrough mit einer wordlist verarbeitet werden.</p>
<p>Wir nehmen in dem Fall den attack_passthrough mit einer wordlist um die Keys direkt zu verarbeiten. So müssen nicht unnötige TerraBytes von Dateien (tables) auf  die Festplatte geschrieben werden.</p>
<pre>root@bt:~# pyrit -e DIE-ESSID -i /der/pfad/zur/wordlist.txt -r /pfad/zur/wlan-sniff.cap attack_passthrough</pre>
<p>Jetzt sollte pyrit loslegen und zusätzlich die Grafikkarte(n) nutzen um den Key zu finden.</p>
<p>Klar ist dass wir hier nicht über große Wunder reden und nun in Sekunden den Key finden. Zumal der Key auch in der Wordlist enthalten sein muss! Sicher ist aber dass es deutlich schneller gehen wird. Wem das ganze immer noch zu langsam ist kann sich mehrere Grafikkarten einbauen und zusätzlich noch über das Netzwerk verteil auf mehreren Maschinen starten. Yeah!</p>
<p>Mehr Infos zu Pyrit gibt es direkt bei <a href="http://code.google.com/p/pyrit/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/code.google.com/p/pyrit/?referer=');">Google Codes</a> wo das Projekt gehostet ist.</p>
<div class="shr-publisher-1069"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.deluxe-stylez.de/2012/01/09/wpa-keys-mit-gfx-power-cracken-pyrit/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux sicherer machen</title>
		<link>http://www.deluxe-stylez.de/2008/08/12/howto-secure-linux</link>
		<comments>http://www.deluxe-stylez.de/2008/08/12/howto-secure-linux#comments</comments>
		<pubDate>Tue, 12 Aug 2008 15:18:45 +0000</pubDate>
		<dc:creator>BeNe</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[machen]]></category>
		<category><![CDATA[secure]]></category>
		<category><![CDATA[sicher]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Here you can find some stuff to make your Server more Secure.
Absolutely no warranty, use it at your own risk.

<strong>1.) Disable the Apache ServerSignature like this one</strong>
<pre lang="BASH">Apache/2.2.3 (Debian) mod_fastcgi/2.4.2 mod_perl/2.0.2 Perl/v5.8.8</pre>
Put only these lines in your httpd.conf
<pre lang="BASH"># Disable ServerInfoServerSignature OffServerTokens Prod</pre>
<strong>2.) Disable Debugging functions</strong>
An attacker may use this flaw to trick your legitimate web users to give him their credentials. Add the following lines for each virtual host in your configuration file to disable the Debugging
<pre lang="BASH">RewriteEngine onRewriteCond %{REQUEST_METHOD} ^(TRACE&#124;TRACK)RewriteRule .* - [F]</pre>
<strong>3.) Disable ProFTPD Banner</strong>
When you connect to your FTP-Server it looks like this
<pre lang="BASH">Verbindung mit 62.75.xx.xx wurde hergestellt.220 ProFTPD 1.3.0 Server (vsxxxxxx) [62.75.xx.xx]Benutzer (62.75.xx.xx:(none)):</pre>
Here can you see the ProFTPD Version -&#62; 1.3.0 To Disable the Banner add, the following line to the proftpd.conf:
<pre lang="BASH">ServerIdent                    off</pre>
<strong>4.) Enable SSL in ProFTPD</strong>
For a secure File Transfer you can add SSL to your ProFTPD

Create a SSL Certificate:
<pre lang="BASH">openssl req -new -x509 -days 365 -nodes  -out /etc/proftpd/ssl.crt -keyout /etc/proftpd/ssl.key</pre>
Open your proftpd.conf to enable SSL
<pre lang="BASH"># vi /etc/proftpd/proftpd.conf</pre>
enable the last lines like this and set <strong>TLSEngine 'on</strong>'
<pre lang="BASH">## SSL via TLS#&#60;IfModule mod_tls.c&#62;TLSEngine                   onTLSLog                      /var/log/proftpd/ftp_ssl.logTLSProtocol                 SSLv23TLSOptions                  NoCertRequest TLSRSACertificateFile       /etc/proftpd/ssl.crt TLSRSACertificateKeyFile    /etc/proftpd/ssl.keyTLSVerifyClient             off &#60;/IfModule&#62;</pre>
Restart proftpd to bring the effect:
<pre lang="BASH"># /etc/init.d/proftpd restart</pre>
<strong>5.) Change the SMTP-Banner</strong>
If you want to change this Postfix SMTP-Banner:
<pre lang="BASH">Connected to your-domain.tld.Escape character is '^]'.220 your-domain.tld. ISPCP 1.0 Priamos Managed ESMTP 1.0.0 RC2 OMEGA</pre>
Open your "/etc/postfix/main.cf" and change the SMTP-Banner here to what you want
<pre lang="BASH">smtpd_banner = $myhostname ISPCP 1.0 Priamos Managed ESMTP 1.0.0 RC2 OMEGA</pre>
<strong>6. Install &#38; Configure fail2ban</strong>
Fail2Ban automatic blocks an IP-Address after some failed Logins.
It works with Apache,SSH,FTP and Mail.

Install fail2ban per apt-get
<pre lang="BASH"># apt-get install fail2ban</pre>
After the installation you can configure fail2ban with these two configs under /etc/fail2ban/
<pre lang="BASH">/etc/fail2ban/fail2ban.conf/etc/fail2ban/jail.conf</pre>
Open your jail.conf to enable the blocks for some Services.
<pre lang="BASH"># vi /etc/fail2ban/jail.conf</pre>
Now you can enable or disable the Services you want to protect. By default SSH is enabled.

If you want to enable Apache,
change:
<pre lang="BASH">## HTTP servers#[apache]enabled = falseport    = httpfilter  = apache-authlogpath = /var/log/apache*/*access.logmaxretry = 6</pre>
<strong>to</strong>
<pre lang="BASH">## HTTP servers#[apache]enabled = trueport    = httpfilter  = apache-authlogpath = /var/log/apache*/*access.logmaxretry = 6</pre>
For FTP (proftpd)
<pre lang="BASH">[proftpd]enabled  = falseport     = ftpfilter   = proftpdlogpath  = /var/proftpd/proftp.logmaxretry = 6</pre>
<strong>change it to</strong>
<pre lang="BASH">[proftpd]enabled  = trueport     = ftpfilter   = proftpdlogpath  = /var/log/auth.logmaxretry = 3</pre>
You can change the maximal retry´s before ban with
<pre lang="BASH">maxretry = X</pre>
If you want to change the bantime,
<pre lang="BASH">bantime  = 600 (is set in seconds)</pre>
<strong>Warning</strong>: fail2ban use Firewall ruls to block the IP.
A ban is per default for 10 minutes active. After this time the IP is unblocked automatically.

The fail2ban Log is under
<pre lang="BASH">/var/log/fail2ban.log</pre>
<strong>7.) SSL for Mailservice (Courier)</strong>

First we need to install the courier-ssl packages.
<pre lang="BASH"># apt-get install courier-imap-ssl courier-pop-ssl</pre>
A default Certificate will be created during the installation. So we need to change them.

Open the /etc/courier/imapd.cnf
<pre lang="BASH"># vi /etc/courier/imapd.cnf</pre>
and change the attributes to your needs.
And then the same with /etc/courier/pop3d.cnf
<pre lang="BASH"># vi /etc/courier/pop3d.cnf</pre>
After these changes, first backup the old Certificate before we generate some new.
<pre lang="BASH"># cd /etc/courier/ &#38;&#38; mv pop3d.pem pop3d.pem.orig &#38;&#38; mv imapd.pem imapd.pem.orig</pre>
Now we can generate the new one:
<pre lang="BASH"># dpkg-reconfigure courier-pop-ssl &#38;&#38; dpkg-reconfigure courier-imap-ssl</pre>
Done - your Mailservice is now ready for SSL.
Change your Client to use POP3-SSL on port 995 and IMAP-SSL on port 993

<strong>8.) Make SSH safer</strong>

Every Scriptkiddy checks your Server for a open Port 22 and test to login with the root account.
We will change these things to the good with an other Port and disable the root login via ssh.

First we need a user on the system for a later login. If there is already one, jump over to the next step. If not, create it:
<pre lang="BASH"># adduser new_username</pre>
Open your sshd_config to change the settings:
<pre lang="BASH"># vi /etc/ssh/sshd_config</pre>
Change the Port from
<pre lang="BASH">Port 22</pre>
<strong>to</strong>
<pre lang="BASH">Port 222</pre>
Change this line:
<pre lang="BASH">PermitRootLogin yes</pre>
<strong>to</strong>
<pre lang="BASH">PermitRootLogin no</pre>
Restart the SSH-Server
<pre lang="BASH"># /etc/init.d/ssh restart</pre>
Close your connection and connect again to your Server on Port 222 with your new Username.
To become root, only do a:
<pre lang="BASH"># su</pre>
<strong>9.) Prevent DOS-Attacks</strong>
To prevent simple Denial-of-Service attacks you can use the mod_evasive module. Download the actual version from <a href="http://www.zdziarski.com/projects/mod_evasive/" onclick="pageTracker._trackPageview('/outgoing/www.zdziarski.com/projects/mod_evasive/?referer=');"><span class="icon">http://www.zdziarski.com/projects/mod_evasive/</span></a> and unpack it. Make sure, that apache2-prefork-dev is installed.
<pre lang="BASH"># apt-get install apache2-prefork-dev# wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz# tar -xzf mod_evasive_1.10.1.tar.gz# cd mod_evasive</pre>
Install it with Apache Extensions Module (apxs).
<pre lang="BASH">#  apxs2 -i -a -c mod_evasive20.c</pre>
The module will be built and installed into your httpd.conf.

Optionally you can change some specific directives in your /etc/apache2/apache2.conf file. Just add the following lines and change them to your needs.
<pre lang="BASH">&#60;IfModule mod_evasive20.c&#62;DOSHashTableSize    3097DOSPageCount        2DOSSiteCount        50DOSPageInterval     1DOSSiteInterval     1DOSBlockingPeriod   10&#60;/IfModule&#62;</pre>
You can also add the following directives:
<pre lang="BASH">    DOSEmailNotify      you@yourdomain.comDOSSystemCommand    "su - someuser -c '/sbin/... %s ...'"DOSLogDir           "/var/lock/mod_evasive"</pre>
After all, just restart your Apache to load the module.
<pre lang="BASH"># sudo /etc/init.d/apache2 restart</pre>
<strong>10.) Securing Open DNS server (BIND 9)</strong>After a clean install of a Debian server, dnsstuff.com reports the server as an open dns server(anyone can query the server about any domain =&#62; high load and high transfer). 2 steps for fixing this problem:

a. first edit /etc/bind/named.conf.options (or /etc/named/named.conf for other distros, options paragraph) and add:
<pre lang="BASH">recursion no;transfer-format many-answers; //this is for speed up the transfer to a secondary dns</pre>
b. we need to modify the template used by ISPCP to generate to zone files, on Debian this is /etc/ispcp/bind/parts/cfg_entry.tpl. The file after modification should looks like:
<pre lang="BASH">zone "{DMN_NAME}" {type    master;file    "{DB_DIR}/{DMN_NAME}.db";notify  YES;allow-query {any;};};</pre>
Restart BIND:
<pre lang="BASH">/etc/init.d/bind9 restart</pre>
You are done.
]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Here you can find some stuff to make your Server more Secure.<br />
Absolutely no warranty, use it at your own risk.</p>
<p><strong>1.) Disable the Apache ServerSignature like this one</strong></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code1'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p81"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code1"><pre class="bash" style="font-family:monospace;">Apache<span style="color: #000000; font-weight: bold;">/</span>2.2.3 <span style="color: #7a0874; font-weight: bold;">&#40;</span>Debian<span style="color: #7a0874; font-weight: bold;">&#41;</span> mod_fastcgi<span style="color: #000000; font-weight: bold;">/</span>2.4.2 mod_perl<span style="color: #000000; font-weight: bold;">/</span>2.0.2 Perl<span style="color: #000000; font-weight: bold;">/</span>v5.8.8</pre></td></tr></table></div>

<p>Put only these lines in your httpd.conf</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code2'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p82"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code2"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Disable ServerInfoServerSignature OffServerTokens Prod</span></pre></td></tr></table></div>

<p><strong>2.) Disable Debugging functions</strong><br />
An attacker may use this flaw to trick your legitimate web users to give him their credentials. Add the following lines for each virtual host in your configuration file to disable the Debugging</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code3'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p83"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code3"><pre class="bash" style="font-family:monospace;">RewriteEngine onRewriteCond <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>REQUEST_METHOD<span style="color: #7a0874; font-weight: bold;">&#125;</span> ^<span style="color: #7a0874; font-weight: bold;">&#40;</span>TRACE<span style="color: #000000; font-weight: bold;">|</span>TRACK<span style="color: #7a0874; font-weight: bold;">&#41;</span>RewriteRule .<span style="color: #000000; font-weight: bold;">*</span> - <span style="color: #7a0874; font-weight: bold;">&#91;</span>F<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></td></tr></table></div>

<p><strong>3.) Disable ProFTPD Banner</strong><br />
When you connect to your FTP-Server it looks like this</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code4'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p84"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code4"><pre class="bash" style="font-family:monospace;">Verbindung mit <span style="color: #000000;">62.75</span>.xx.xx wurde hergestellt.220 ProFTPD 1.3.0 Server <span style="color: #7a0874; font-weight: bold;">&#40;</span>vsxxxxxx<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">62.75</span>.xx.xx<span style="color: #7a0874; font-weight: bold;">&#93;</span>Benutzer <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">62.75</span>.xx.xx:<span style="color: #7a0874; font-weight: bold;">&#40;</span>none<span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>:</pre></td></tr></table></div>

<p>Here can you see the ProFTPD Version -&gt; 1.3.0 To Disable the Banner add, the following line to the proftpd.conf:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code5'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p85"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code5"><pre class="bash" style="font-family:monospace;">ServerIdent                    off</pre></td></tr></table></div>

<p><strong>4.) Enable SSL in ProFTPD</strong><br />
For a secure File Transfer you can add SSL to your ProFTPD</p>
<p>Create a SSL Certificate:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code6'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p86"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code6"><pre class="bash" style="font-family:monospace;">openssl req <span style="color: #660033;">-new</span> <span style="color: #660033;">-x509</span> <span style="color: #660033;">-days</span> <span style="color: #000000;">365</span> <span style="color: #660033;">-nodes</span>  <span style="color: #660033;">-out</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>proftpd<span style="color: #000000; font-weight: bold;">/</span>ssl.crt <span style="color: #660033;">-keyout</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>proftpd<span style="color: #000000; font-weight: bold;">/</span>ssl.key</pre></td></tr></table></div>

<p>Open your proftpd.conf to enable SSL</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code7'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p87"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code7"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># vi /etc/proftpd/proftpd.conf</span></pre></td></tr></table></div>

<p>enable the last lines like this and set <strong>TLSEngine 'on</strong>'</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code8'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p88"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code8"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## SSL via TLS#&amp;lt;IfModule mod_tls.c&amp;gt;TLSEngine                   onTLSLog                      /var/log/proftpd/ftp_ssl.logTLSProtocol                 SSLv23TLSOptions                  NoCertRequest TLSRSACertificateFile       /etc/proftpd/ssl.crt TLSRSACertificateKeyFile    /etc/proftpd/ssl.keyTLSVerifyClient             off &amp;lt;/IfModule&amp;gt;</span></pre></td></tr></table></div>

<p>Restart proftpd to bring the effect:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code9'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p89"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code9"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># /etc/init.d/proftpd restart</span></pre></td></tr></table></div>

<p><strong>5.) Change the SMTP-Banner</strong><br />
If you want to change this Postfix SMTP-Banner:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code10'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p810"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code10"><pre class="bash" style="font-family:monospace;">Connected to your-domain.tld.Escape character is <span style="color: #ff0000;">'^]'</span>.220 your-domain.tld. ISPCP <span style="color: #000000;">1.0</span> Priamos Managed ESMTP 1.0.0 RC2 OMEGA</pre></td></tr></table></div>

<p>Open your "/etc/postfix/main.cf" and change the SMTP-Banner here to what you want</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code11'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p811"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code11"><pre class="bash" style="font-family:monospace;">smtpd_banner = <span style="color: #007800;">$myhostname</span> ISPCP <span style="color: #000000;">1.0</span> Priamos Managed ESMTP 1.0.0 RC2 OMEGA</pre></td></tr></table></div>

<p><strong>6. Install &amp; Configure fail2ban</strong><br />
Fail2Ban automatic blocks an IP-Address after some failed Logins.<br />
It works with Apache,SSH,FTP and Mail.</p>
<p>Install fail2ban per apt-get</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code12'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p812"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code12"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># apt-get install fail2ban</span></pre></td></tr></table></div>

<p>After the installation you can configure fail2ban with these two configs under /etc/fail2ban/</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code13'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p813"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code13"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>fail2ban<span style="color: #000000; font-weight: bold;">/</span>fail2ban.conf<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>fail2ban<span style="color: #000000; font-weight: bold;">/</span>jail.conf</pre></td></tr></table></div>

<p>Open your jail.conf to enable the blocks for some Services.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code14'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p814"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code14"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># vi /etc/fail2ban/jail.conf</span></pre></td></tr></table></div>

<p>Now you can enable or disable the Services you want to protect. By default SSH is enabled.</p>
<p>If you want to enable Apache,<br />
change:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code15'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p815"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code15"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## HTTP servers#[apache]enabled = falseport    = httpfilter  = apache-authlogpath = /var/log/apache*/*access.logmaxretry = 6</span></pre></td></tr></table></div>

<p><strong>to</strong></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code16'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p816"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code16"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## HTTP servers#[apache]enabled = trueport    = httpfilter  = apache-authlogpath = /var/log/apache*/*access.logmaxretry = 6</span></pre></td></tr></table></div>

<p>For FTP (proftpd)</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code17'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p817"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code17"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>proftpd<span style="color: #7a0874; font-weight: bold;">&#93;</span>enabled  = falseport     = ftpfilter   = proftpdlogpath  = <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>proftpd<span style="color: #000000; font-weight: bold;">/</span>proftp.logmaxretry = <span style="color: #000000;">6</span></pre></td></tr></table></div>

<p><strong>change it to</strong></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code18'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p818"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code18"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>proftpd<span style="color: #7a0874; font-weight: bold;">&#93;</span>enabled  = trueport     = ftpfilter   = proftpdlogpath  = <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>auth.logmaxretry = <span style="color: #000000;">3</span></pre></td></tr></table></div>

<p>You can change the maximal retry´s before ban with</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code19'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p819"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code19"><pre class="bash" style="font-family:monospace;">maxretry = X</pre></td></tr></table></div>

<p>If you want to change the bantime,</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code20'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p820"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code20"><pre class="bash" style="font-family:monospace;">bantime  = <span style="color: #000000;">600</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>is <span style="color: #000000; font-weight: bold;">set</span> <span style="color: #000000; font-weight: bold;">in</span> seconds<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></td></tr></table></div>

<p><strong>Warning</strong>: fail2ban use Firewall ruls to block the IP.<br />
A ban is per default for 10 minutes active. After this time the IP is unblocked automatically.</p>
<p>The fail2ban Log is under</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code21'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p821"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code21"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>fail2ban.log</pre></td></tr></table></div>

<p><strong>7.) SSL for Mailservice (Courier)</strong></p>
<p>First we need to install the courier-ssl packages.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code22'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p822"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code22"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># apt-get install courier-imap-ssl courier-pop-ssl</span></pre></td></tr></table></div>

<p>A default Certificate will be created during the installation. So we need to change them.</p>
<p>Open the /etc/courier/imapd.cnf</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code23'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p823"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code23"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># vi /etc/courier/imapd.cnf</span></pre></td></tr></table></div>

<p>and change the attributes to your needs.<br />
And then the same with /etc/courier/pop3d.cnf</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code24'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p824"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code24"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># vi /etc/courier/pop3d.cnf</span></pre></td></tr></table></div>

<p>After these changes, first backup the old Certificate before we generate some new.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code25'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p825"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code25"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># cd /etc/courier/ &amp;amp;&amp;amp; mv pop3d.pem pop3d.pem.orig &amp;amp;&amp;amp; mv imapd.pem imapd.pem.orig</span></pre></td></tr></table></div>

<p>Now we can generate the new one:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code26'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p826"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code26"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># dpkg-reconfigure courier-pop-ssl &amp;amp;&amp;amp; dpkg-reconfigure courier-imap-ssl</span></pre></td></tr></table></div>

<p>Done - your Mailservice is now ready for SSL.<br />
Change your Client to use POP3-SSL on port 995 and IMAP-SSL on port 993</p>
<p><strong>8.) Make SSH safer</strong></p>
<p>Every Scriptkiddy checks your Server for a open Port 22 and test to login with the root account.<br />
We will change these things to the good with an other Port and disable the root login via ssh.</p>
<p>First we need a user on the system for a later login. If there is already one, jump over to the next step. If not, create it:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code27'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p827"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code27"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># adduser new_username</span></pre></td></tr></table></div>

<p>Open your sshd_config to change the settings:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code28'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p828"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code28"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># vi /etc/ssh/sshd_config</span></pre></td></tr></table></div>

<p>Change the Port from</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code29'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p829"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code29"><pre class="bash" style="font-family:monospace;">Port <span style="color: #000000;">22</span></pre></td></tr></table></div>

<p><strong>to</strong></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code30'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p830"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code30"><pre class="bash" style="font-family:monospace;">Port <span style="color: #000000;">222</span></pre></td></tr></table></div>

<p>Change this line:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code31'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p831"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code31"><pre class="bash" style="font-family:monospace;">PermitRootLogin <span style="color: #c20cb9; font-weight: bold;">yes</span></pre></td></tr></table></div>

<p><strong>to</strong></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code32'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p832"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code32"><pre class="bash" style="font-family:monospace;">PermitRootLogin no</pre></td></tr></table></div>

<p>Restart the SSH-Server</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code33'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p833"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code33"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># /etc/init.d/ssh restart</span></pre></td></tr></table></div>

<p>Close your connection and connect again to your Server on Port 222 with your new Username.<br />
To become root, only do a:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code34'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p834"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code34"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># su</span></pre></td></tr></table></div>

<p><strong>9.) Prevent DOS-Attacks</strong><br />
To prevent simple Denial-of-Service attacks you can use the mod_evasive module. Download the actual version from <a href="http://www.zdziarski.com/projects/mod_evasive/" onclick="pageTracker._trackPageview('/outgoing/www.zdziarski.com/projects/mod_evasive/?referer=');"><span class="icon">http://www.zdziarski.com/projects/mod_evasive/</span></a> and unpack it. Make sure, that apache2-prefork-dev is installed.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code35'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p835"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code35"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># apt-get install apache2-prefork-dev# wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz# tar -xzf mod_evasive_1.10.1.tar.gz# cd mod_evasive</span></pre></td></tr></table></div>

<p>Install it with Apache Extensions Module (apxs).</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code36'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p836"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code36"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#  apxs2 -i -a -c mod_evasive20.c</span></pre></td></tr></table></div>

<p>The module will be built and installed into your httpd.conf.</p>
<p>Optionally you can change some specific directives in your /etc/apache2/apache2.conf file. Just add the following lines and change them to your needs.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code37'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p837"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code37"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&amp;</span>lt;IfModule mod_evasive20.c<span style="color: #000000; font-weight: bold;">&amp;</span>gt;DOSHashTableSize    3097DOSPageCount        2DOSSiteCount        50DOSPageInterval     1DOSSiteInterval     1DOSBlockingPeriod   <span style="color: #000000;">10</span><span style="color: #000000; font-weight: bold;">&amp;</span>lt;<span style="color: #000000; font-weight: bold;">/</span>IfModule<span style="color: #000000; font-weight: bold;">&amp;</span>gt;</pre></td></tr></table></div>

<p>You can also add the following directives:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code38'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p838"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code38"><pre class="bash" style="font-family:monospace;">    DOSEmailNotify      you<span style="color: #000000; font-weight: bold;">@</span>yourdomain.comDOSSystemCommand    <span style="color: #ff0000;">&quot;su - someuser -c '/sbin/... %s ...'&quot;</span>DOSLogDir           <span style="color: #ff0000;">&quot;/var/lock/mod_evasive&quot;</span></pre></td></tr></table></div>

<p>After all, just restart your Apache to load the module.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code39'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p839"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code39"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># sudo /etc/init.d/apache2 restart</span></pre></td></tr></table></div>

<p><strong>10.) Securing Open DNS server (BIND 9)</strong>After a clean install of a Debian server, dnsstuff.com reports the server as an open dns server(anyone can query the server about any domain =&gt; high load and high transfer). 2 steps for fixing this problem:</p>
<p>a. first edit /etc/bind/named.conf.options (or /etc/named/named.conf for other distros, options paragraph) and add:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code40'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p840"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code40"><pre class="bash" style="font-family:monospace;">recursion no;transfer-format many-answers; <span style="color: #000000; font-weight: bold;">//</span>this is <span style="color: #000000; font-weight: bold;">for</span> speed up the transfer to a secondary dns</pre></td></tr></table></div>

<p>b. we need to modify the template used by ISPCP to generate to zone files, on Debian this is /etc/ispcp/bind/parts/cfg_entry.tpl. The file after modification should looks like:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code41'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p841"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code41"><pre class="bash" style="font-family:monospace;">zone <span style="color: #ff0000;">&quot;{DMN_NAME}&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #7a0874; font-weight: bold;">type</span>    master;<span style="color: #c20cb9; font-weight: bold;">file</span>    <span style="color: #ff0000;">&quot;{DB_DIR}/{DMN_NAME}.db&quot;</span>;notify  YES;allow-query <span style="color: #7a0874; font-weight: bold;">&#123;</span>any;<span style="color: #7a0874; font-weight: bold;">&#125;</span>;<span style="color: #7a0874; font-weight: bold;">&#125;</span>;</pre></td></tr></table></div>

<p>Restart BIND:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8code42'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p842"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8code42"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>bind9 restart</pre></td></tr></table></div>

<p>You are done.</p>
<div class="shr-publisher-8"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.deluxe-stylez.de/2008/08/12/howto-secure-linux/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenVZ HowTo</title>
		<link>http://www.deluxe-stylez.de/2008/08/12/openvz-howto</link>
		<comments>http://www.deluxe-stylez.de/2008/08/12/openvz-howto#comments</comments>
		<pubDate>Tue, 12 Aug 2008 15:15:07 +0000</pubDate>
		<dc:creator>BeNe</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[openvz]]></category>
		<category><![CDATA[virtualisierung]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<img src="/wp-content/uploads/pictures/LinuxHowTo/openvz/openvz-logo.png" alt="" width="250" height="61" />

Da das Thema Virtualisierung immer mehr im kommen ist und die Tools schon eine verdammt gutes performanceergebniss erzielen, will ich in diesem HowTo OpenVZ etwas näher erläutern. OpenVZ wird schon seit längerer Zeit bei vielen Hostern eingesetzt, da Virtuozzo auch auf OpenVZ aufbaut.

Dieses HowTo bezieht sich auf eine Installation unter Debian Etch.

Wer näheres zu OpenVZ lesen möchte kann auf die Intertseite des Projects schauen -&#62; <a href="http://www.openvz.org" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.openvz.org?referer=');">OpenVZ.org</a>
<h2><strong>1. Kernel installieren</strong></h2>
Um den OpenVZ Kernel zu installieren benötigen wir erst die richtige Quelle. Diese tragen wir in der sources.list ein.
<pre lang="BASH"># vi /etc/apt/sources.list</pre>
deb http://download.openvz.org/debian etch main
Danach müssen wir die Quellen aktualisieren und können den Kernel installieren
<pre lang="BASH"># apt-get update
# apt-cache search linux-image-2.6.18-openvz
# apt-get install &#60;linux-image&#62;</pre>
Wer seinen Kernel nicht kennt --&#62; "uname -a"
<h2><strong>2. Tools installieren</strong></h2>
OpenVZ können wir mit einigen Tools steuern. Dise müssen wir noch installieren:
<pre lang="BASH"># apt-get install vzctl vzquota</pre>
<h2><strong>3. Netzwerk am Hostsystem anpassen</strong></h2>
<pre lang="BASH"># vi /etc/network/interfaces</pre>
Folgende Zeilen müssen zur der verwendeten Netzwerkkarte geschrieben werden.
Bitte "%DEV%" durch das eigentlich Interface ersetzen z.B. eth0
<pre lang="BASH">up sysctl -w net.ipv4.conf.%DEV%.proxy_arp=100
pre-down sysctl -w net.ipv4.conf.%DEV%.proxy_arp=0</pre>
Jetzt müssen wir noch Einstellungen für den proxy vornehmen:
<pre lang="BASH"># vi /etc/sysctl.conf</pre>
Die Datei muss so angepasst werden
<pre lang="BASH"># On Hardware Node we generally need
# packet forwarding enabled and proxy arp disabled
net.ipv4.ip_forward = 1
net.ipv4.conf.default.proxy_arp = 0
# Enables source route verification
net.ipv4.conf.all.rp_filter = 1
# Enables the magic-sysrq key
kernel.sysrq = 1
# TCP Explict Congestion Notification
# net.ipv4.tcp_ecn = 0
# we do not want all our interfaces to send redirects
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0</pre>
<h2>4. Symlink setzen</h2>
Jetzt benötigen wir noch einen Symlink für das Verzeichniss VZ
<pre lang="BASH"># ln -s /var/lib/vz /vz</pre>
<h2>5. Kernel laden</h2>
Um den neuen Kernel zu starten benötigen wir einen neustart des Systems
<pre lang="BASH"># reboot</pre>
<h2>6.)Installation prüfen</h2>
Nachdem das System wieder erreichbar ist können wir "uname -a" sehen ob der OpenVZ Kernel geladen wurde
<pre lang="BASH">openvz:/# uname -a
Linux openvz 2.6.18-openvz-12-1etch1-686 #1 SMP Sat May 5 00:26:59 CEST 2007 i686 GNU/Linux</pre>
Wenn das so passt sollten wir auch ein neues Netzwerkinterface "venet0" haben
<pre lang="BASH">openvz:/# ifconfig
...
...
venet0    Protokoll:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00
UP BROADCAST PUNKTZUPUNKT RUNNING NOARP  MTU:1500  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 SendewarteschlangenlÃ¤nge:0
RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)</pre>
<h2>7. Templates installieren</h2>
Jetzt kommen wir zu den eigentlichen Templates (Betiebsystemen) für OpenVZ.
Hier ist ein größer Unterschied zwischen OpenVZ und VMWare festzustellen.
Unter OpenVZ kann nur wieder ein Linux gestartet werden, nicht aber ein Windows.

Es gibt schon eine große Sammlung von OpenVZ Templates auf der Seite des Projektes -&#62; <a href="http://openvz.org/download/template/cache/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/openvz.org/download/template/cache/?referer=');">Template</a> Diese sind schon vorkonfiguriert und müssen nur noch heruntergeladen werden. Wir wollen jetzt einfach mal ein OpenSuSE 10 in OpenVZ zum laufen zu bringen.
<h3>7.1 Templates herunterladen</h3>
Die Templates müssen in das folgende Verzeichniss abgelegt werden:
<pre lang="BASH">openvz:/var/lib/vz/template/cache#</pre>
Am besten nehmen wir gleich wget um das fertige Template auf unseren Rechner zu bringen:
<pre lang="BASH"># wget http://download.openvz.org/template/precreated/opensuse-10-i386-default.tar.gz</pre>
<h2>8. Erste Virtual Environment anlegen</h2>
Nachdem wir das Template heruntergeladen haben, können wir es einmal installieren und immer wieder für eine neue Maschine benützen.Es muss auch nicht entpackt werden.
Los gehts:
<pre lang="BASH"># vzctl create 101 --ostemplate opensuse-10-i386-default</pre>
Damit erstellen wir eine neue VE mit der ID 101 und dem Template von OpenSuSE
Wichtig ist das die ID größer 100 sein muss. Das ganze sollte dann so aussehen:
<pre lang="BASH">openvz:/# vzctl create 101 --ostemplate opensuse-10-i386-default
Creating VPS private area: /var/lib/vz/private/101
Performing postcreate actions
VPS private area was created
openvz:/#</pre>
Jetzt müssen wir der VE noch eine IP vergeben:
<pre lang="BASH"># vzctl set 101 --ipadd 192.168.100.217 --save</pre>
Wenn das auch geklappt hat sollte ein "Save parameters for VPS 101" erscheinen. Das war es auch schon mit der einrichtung und wir können die VE starten:
<pre lang="BASH"># vzctl start 101</pre>
<h2>9. Virtual Environment testen</h2>
Nachdem die VE jetzt läuft können wir direkt Befehle in der VE absetzen. Der Grundbefehl lautet:
<pre lang="BASH"># vzctl exec VEID</pre>
So können wir mal alle Prozesse die innerhalb der VE laufen abfragen:
<pre lang="BASH"># vzctl exec 101 ps ax</pre>
Jegliches Command kann abgesetzt werden wir es jeder von Linux kennt. Es muss jedeglich ein "vzctl exec VEID" davor gestellt werden.

SSH ist normalerweise bei den vorkonfigurierten schon am laufen. Es muss nur noch das root Passwort neu gesetzt werden und man kann sich direkt per SSH an der VE anmelden.
<h2>10. VE Sichern (Backup)</h2>
Wer von seinen VE eine Sicherung machen will, der sollte vzdump installieren
<pre lang="BASH"># wget http://www.proxmox.com/cms_proxmox/cms/upload/vzdump/vzdump_1.0-2_all.deb
# dpkg -i vzdump_1.0-2_all.deb</pre>
vzdump ist eigentlich ziemlich selbst erklären:
<pre lang="BASH">vzdump OPTIONS [--all ]
--compress              compress dump file (gzip)
--dumpdir DIR           store resulting files in DIR
--xdelta                create a differential backup using xdelta
--mailto EMAIL          send notification mail to EMAIL
--stop                  stop/start VPS if running
--suspend               suspend/resume VPS when running
--snapshot              use LVM snapshot when running
--restore FILENAME      restore FILENAME</pre>
<h2>11. Comannds im überblick</h2>
Hier ein kurzer Überblick der OpenVZ Commandos. Quelle: Wikipedia
<pre lang="BASH">vzctl create VEID [--ostemplate ] [--config ]</pre>
Dieser Befehl erzeugt ein neues VE, das eine numerische ID, ein angegebenes OS-Template (eine Linux Distribution) und die Ressourcen, die in der angegebenen Konfigurationsdatei spezifiziert sind, hat. Die beiden Parameter --ostemplate und --config sind optional. Die Hauptkonfigurationsdatei enthält Standardwerte für beide.
<pre lang="BASH">vzctl start VEID</pre>
Startet das angegebene VE. Das Starten bedeutet das Erzeugen eines Virtual Environment im Kernel, Initialisieren von allen Ressourcenverwaltungsparametern und Starten des VE's /sbin/init in diesem Umfeld.
<pre lang="BASH">vzctl stop VEID</pre>
Stoppt das angegebene VE. Ein VE kann auch mit Hilfe von eigenen /sbin/halt oder /sbin/reboot -Befehlen gestoppt oder neu gestartet werden.
<pre lang="BASH">vzctl exec VEID</pre>
Startet den Befehl  im angegebenen VE. Um beispielsweise alle Prozesse im VE 102 anzeigen zu lassen, kann man vzctl exec 102 ps ax nutzen.
<pre lang="BASH">vzctl enter VEID</pre>
Öffnet die VE-Shell. Das ist nützlich, wenn z. B. sshd nicht gestartet ist und Sie das Problem untersuchen möchten.
<pre lang="BASH">vzctl set VEID --parameter  [...] [--save]</pre>
Setzt den angegebenen Parameter für das VE. Hier können verschiedene Parameter benutzt werden;  Um die Festplattenquota für das VE festzulegen, verwenden Sie
<pre lang="BASH">vzctl set VEID --diskspace soft:hard --save.</pre>
Um das Kernel-RAM-Soft-Limit und –Hard-Limit für VE zu (re)definieren, müssen Sie den Befehl so starten:
<pre lang="BASH">vzctl set VEID --kmemsize barrier:limit --save</pre>
Und um eine VE wieder zu löschen
<pre lang="BASH">vzctl destroy VEID</pre>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><img src="/wp-content/uploads/pictures/LinuxHowTo/openvz/openvz-logo.png" alt="" width="250" height="61" /></p>
<p>Da das Thema Virtualisierung immer mehr im kommen ist und die Tools schon eine verdammt gutes performanceergebniss erzielen, will ich in diesem HowTo OpenVZ etwas näher erläutern. OpenVZ wird schon seit längerer Zeit bei vielen Hostern eingesetzt, da Virtuozzo auch auf OpenVZ aufbaut.</p>
<p>Dieses HowTo bezieht sich auf eine Installation unter Debian Etch.</p>
<p>Wer näheres zu OpenVZ lesen möchte kann auf die Intertseite des Projects schauen -&gt; <a href="http://www.openvz.org" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.openvz.org?referer=');">OpenVZ.org</a></p>
<h2><strong>1. Kernel installieren</strong></h2>
<p>Um den OpenVZ Kernel zu installieren benötigen wir erst die richtige Quelle. Diese tragen wir in der sources.list ein.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code43'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p743"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code43"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># vi /etc/apt/sources.list</span></pre></td></tr></table></div>

<p>deb http://download.openvz.org/debian etch main<br />
Danach müssen wir die Quellen aktualisieren und können den Kernel installieren</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code44'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p744"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p7code44"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># apt-get update</span>
<span style="color: #666666; font-style: italic;"># apt-cache search linux-image-2.6.18-openvz</span>
<span style="color: #666666; font-style: italic;"># apt-get install &amp;lt;linux-image&amp;gt;</span></pre></td></tr></table></div>

<p>Wer seinen Kernel nicht kennt --&gt; "uname -a"</p>
<h2><strong>2. Tools installieren</strong></h2>
<p>OpenVZ können wir mit einigen Tools steuern. Dise müssen wir noch installieren:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code45'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p745"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code45"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># apt-get install vzctl vzquota</span></pre></td></tr></table></div>

<h2><strong>3. Netzwerk am Hostsystem anpassen</strong></h2>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code46'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p746"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code46"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># vi /etc/network/interfaces</span></pre></td></tr></table></div>

<p>Folgende Zeilen müssen zur der verwendeten Netzwerkkarte geschrieben werden.<br />
Bitte "%DEV%" durch das eigentlich Interface ersetzen z.B. eth0</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code47'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p747"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p7code47"><pre class="bash" style="font-family:monospace;">up sysctl <span style="color: #660033;">-w</span> net.ipv4.conf.<span style="color: #000000; font-weight: bold;">%</span>DEV<span style="color: #000000; font-weight: bold;">%</span>.proxy_arp=<span style="color: #000000;">100</span>
pre-down sysctl <span style="color: #660033;">-w</span> net.ipv4.conf.<span style="color: #000000; font-weight: bold;">%</span>DEV<span style="color: #000000; font-weight: bold;">%</span>.proxy_arp=<span style="color: #000000;">0</span></pre></td></tr></table></div>

<p>Jetzt müssen wir noch Einstellungen für den proxy vornehmen:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code48'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p748"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code48"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># vi /etc/sysctl.conf</span></pre></td></tr></table></div>

<p>Die Datei muss so angepasst werden</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code49'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p749"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code" id="p7code49"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># On Hardware Node we generally need</span>
<span style="color: #666666; font-style: italic;"># packet forwarding enabled and proxy arp disabled</span>
net.ipv4.ip_forward = <span style="color: #000000;">1</span>
net.ipv4.conf.default.proxy_arp = <span style="color: #000000;">0</span>
<span style="color: #666666; font-style: italic;"># Enables source route verification</span>
net.ipv4.conf.all.rp_filter = <span style="color: #000000;">1</span>
<span style="color: #666666; font-style: italic;"># Enables the magic-sysrq key</span>
kernel.sysrq = <span style="color: #000000;">1</span>
<span style="color: #666666; font-style: italic;"># TCP Explict Congestion Notification</span>
<span style="color: #666666; font-style: italic;"># net.ipv4.tcp_ecn = 0</span>
<span style="color: #666666; font-style: italic;"># we do not want all our interfaces to send redirects</span>
net.ipv4.conf.default.send_redirects = <span style="color: #000000;">1</span>
net.ipv4.conf.all.send_redirects = <span style="color: #000000;">0</span></pre></td></tr></table></div>

<h2>4. Symlink setzen</h2>
<p>Jetzt benötigen wir noch einen Symlink für das Verzeichniss VZ</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code50'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p750"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code50"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># ln -s /var/lib/vz /vz</span></pre></td></tr></table></div>

<h2>5. Kernel laden</h2>
<p>Um den neuen Kernel zu starten benötigen wir einen neustart des Systems</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code51'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p751"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code51"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># reboot</span></pre></td></tr></table></div>

<h2>6.)Installation prüfen</h2>
<p>Nachdem das System wieder erreichbar ist können wir "uname -a" sehen ob der OpenVZ Kernel geladen wurde</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code52'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p752"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p7code52"><pre class="bash" style="font-family:monospace;">openvz:<span style="color: #000000; font-weight: bold;">/</span><span style="color: #666666; font-style: italic;"># uname -a</span>
Linux openvz 2.6.18-openvz-<span style="color: #000000;">12</span>-1etch1-<span style="color: #000000;">686</span> <span style="color: #666666; font-style: italic;">#1 SMP Sat May 5 00:26:59 CEST 2007 i686 GNU/Linux</span></pre></td></tr></table></div>

<p>Wenn das so passt sollten wir auch ein neues Netzwerkinterface "venet0" haben</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code53'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p753"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code" id="p7code53"><pre class="bash" style="font-family:monospace;">openvz:<span style="color: #000000; font-weight: bold;">/</span><span style="color: #666666; font-style: italic;"># ifconfig</span>
...
...
venet0    Protokoll:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00
UP BROADCAST PUNKTZUPUNKT RUNNING NOARP  MTU:<span style="color: #000000;">1500</span>  Metric:<span style="color: #000000;">1</span>
RX packets:<span style="color: #000000;">0</span> errors:<span style="color: #000000;">0</span> dropped:<span style="color: #000000;">0</span> overruns:<span style="color: #000000;">0</span> frame:<span style="color: #000000;">0</span>
TX packets:<span style="color: #000000;">0</span> errors:<span style="color: #000000;">0</span> dropped:<span style="color: #000000;">0</span> overruns:<span style="color: #000000;">0</span> carrier:<span style="color: #000000;">0</span>
Kollisionen:<span style="color: #000000;">0</span> SendewarteschlangenlÃ¤nge:<span style="color: #000000;">0</span>
RX bytes:<span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">0.0</span> b<span style="color: #7a0874; font-weight: bold;">&#41;</span>  TX bytes:<span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">0.0</span> b<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></td></tr></table></div>

<h2>7. Templates installieren</h2>
<p>Jetzt kommen wir zu den eigentlichen Templates (Betiebsystemen) für OpenVZ.<br />
Hier ist ein größer Unterschied zwischen OpenVZ und VMWare festzustellen.<br />
Unter OpenVZ kann nur wieder ein Linux gestartet werden, nicht aber ein Windows.</p>
<p>Es gibt schon eine große Sammlung von OpenVZ Templates auf der Seite des Projektes -&gt; <a href="http://openvz.org/download/template/cache/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/openvz.org/download/template/cache/?referer=');">Template</a> Diese sind schon vorkonfiguriert und müssen nur noch heruntergeladen werden. Wir wollen jetzt einfach mal ein OpenSuSE 10 in OpenVZ zum laufen zu bringen.</p>
<h3>7.1 Templates herunterladen</h3>
<p>Die Templates müssen in das folgende Verzeichniss abgelegt werden:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code54'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p754"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code54"><pre class="bash" style="font-family:monospace;">openvz:<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>vz<span style="color: #000000; font-weight: bold;">/</span>template<span style="color: #000000; font-weight: bold;">/</span>cache<span style="color: #666666; font-style: italic;">#</span></pre></td></tr></table></div>

<p>Am besten nehmen wir gleich wget um das fertige Template auf unseren Rechner zu bringen:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code55'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p755"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code55"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># wget http://download.openvz.org/template/precreated/opensuse-10-i386-default.tar.gz</span></pre></td></tr></table></div>

<h2>8. Erste Virtual Environment anlegen</h2>
<p>Nachdem wir das Template heruntergeladen haben, können wir es einmal installieren und immer wieder für eine neue Maschine benützen.Es muss auch nicht entpackt werden.<br />
Los gehts:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code56'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p756"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code56"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># vzctl create 101 --ostemplate opensuse-10-i386-default</span></pre></td></tr></table></div>

<p>Damit erstellen wir eine neue VE mit der ID 101 und dem Template von OpenSuSE<br />
Wichtig ist das die ID größer 100 sein muss. Das ganze sollte dann so aussehen:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code57'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p757"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p7code57"><pre class="bash" style="font-family:monospace;">openvz:<span style="color: #000000; font-weight: bold;">/</span><span style="color: #666666; font-style: italic;"># vzctl create 101 --ostemplate opensuse-10-i386-default</span>
Creating VPS private area: <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>vz<span style="color: #000000; font-weight: bold;">/</span>private<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">101</span>
Performing postcreate actions
VPS private area was created
openvz:<span style="color: #000000; font-weight: bold;">/</span><span style="color: #666666; font-style: italic;">#</span></pre></td></tr></table></div>

<p>Jetzt müssen wir der VE noch eine IP vergeben:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code58'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p758"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code58"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># vzctl set 101 --ipadd 192.168.100.217 --save</span></pre></td></tr></table></div>

<p>Wenn das auch geklappt hat sollte ein "Save parameters for VPS 101" erscheinen. Das war es auch schon mit der einrichtung und wir können die VE starten:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code59'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p759"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code59"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># vzctl start 101</span></pre></td></tr></table></div>

<h2>9. Virtual Environment testen</h2>
<p>Nachdem die VE jetzt läuft können wir direkt Befehle in der VE absetzen. Der Grundbefehl lautet:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code60'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p760"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code60"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># vzctl exec VEID</span></pre></td></tr></table></div>

<p>So können wir mal alle Prozesse die innerhalb der VE laufen abfragen:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code61'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p761"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code61"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># vzctl exec 101 ps ax</span></pre></td></tr></table></div>

<p>Jegliches Command kann abgesetzt werden wir es jeder von Linux kennt. Es muss jedeglich ein "vzctl exec VEID" davor gestellt werden.</p>
<p>SSH ist normalerweise bei den vorkonfigurierten schon am laufen. Es muss nur noch das root Passwort neu gesetzt werden und man kann sich direkt per SSH an der VE anmelden.</p>
<h2>10. VE Sichern (Backup)</h2>
<p>Wer von seinen VE eine Sicherung machen will, der sollte vzdump installieren</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code62'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p762"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p7code62"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># wget http://www.proxmox.com/cms_proxmox/cms/upload/vzdump/vzdump_1.0-2_all.deb</span>
<span style="color: #666666; font-style: italic;"># dpkg -i vzdump_1.0-2_all.deb</span></pre></td></tr></table></div>

<p>vzdump ist eigentlich ziemlich selbst erklären:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code63'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p763"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code" id="p7code63"><pre class="bash" style="font-family:monospace;">vzdump OPTIONS <span style="color: #7a0874; font-weight: bold;">&#91;</span>--all <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #660033;">--compress</span>              compress dump <span style="color: #c20cb9; font-weight: bold;">file</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">gzip</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #660033;">--dumpdir</span> DIR           store resulting files <span style="color: #000000; font-weight: bold;">in</span> DIR
<span style="color: #660033;">--xdelta</span>                create a differential backup using xdelta
<span style="color: #660033;">--mailto</span> EMAIL          send notification mail to EMAIL
<span style="color: #660033;">--stop</span>                  stop<span style="color: #000000; font-weight: bold;">/</span>start VPS <span style="color: #000000; font-weight: bold;">if</span> running
<span style="color: #660033;">--suspend</span>               suspend<span style="color: #000000; font-weight: bold;">/</span>resume VPS when running
<span style="color: #660033;">--snapshot</span>              use LVM snapshot when running
<span style="color: #660033;">--restore</span> FILENAME      restore FILENAME</pre></td></tr></table></div>

<h2>11. Comannds im überblick</h2>
<p>Hier ein kurzer Überblick der OpenVZ Commandos. Quelle: Wikipedia</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code64'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p764"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code64"><pre class="bash" style="font-family:monospace;">vzctl create VEID <span style="color: #7a0874; font-weight: bold;">&#91;</span>--ostemplate <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>--config <span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></td></tr></table></div>

<p>Dieser Befehl erzeugt ein neues VE, das eine numerische ID, ein angegebenes OS-Template (eine Linux Distribution) und die Ressourcen, die in der angegebenen Konfigurationsdatei spezifiziert sind, hat. Die beiden Parameter --ostemplate und --config sind optional. Die Hauptkonfigurationsdatei enthält Standardwerte für beide.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code65'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p765"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code65"><pre class="bash" style="font-family:monospace;">vzctl start VEID</pre></td></tr></table></div>

<p>Startet das angegebene VE. Das Starten bedeutet das Erzeugen eines Virtual Environment im Kernel, Initialisieren von allen Ressourcenverwaltungsparametern und Starten des VE's /sbin/init in diesem Umfeld.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code66'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p766"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code66"><pre class="bash" style="font-family:monospace;">vzctl stop VEID</pre></td></tr></table></div>

<p>Stoppt das angegebene VE. Ein VE kann auch mit Hilfe von eigenen /sbin/halt oder /sbin/reboot -Befehlen gestoppt oder neu gestartet werden.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code67'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p767"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code67"><pre class="bash" style="font-family:monospace;">vzctl <span style="color: #7a0874; font-weight: bold;">exec</span> VEID</pre></td></tr></table></div>

<p>Startet den Befehl  im angegebenen VE. Um beispielsweise alle Prozesse im VE 102 anzeigen zu lassen, kann man vzctl exec 102 ps ax nutzen.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code68'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p768"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code68"><pre class="bash" style="font-family:monospace;">vzctl enter VEID</pre></td></tr></table></div>

<p>Öffnet die VE-Shell. Das ist nützlich, wenn z. B. sshd nicht gestartet ist und Sie das Problem untersuchen möchten.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code69'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p769"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code69"><pre class="bash" style="font-family:monospace;">vzctl <span style="color: #000000; font-weight: bold;">set</span> VEID <span style="color: #660033;">--parameter</span>  <span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>--save<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></td></tr></table></div>

<p>Setzt den angegebenen Parameter für das VE. Hier können verschiedene Parameter benutzt werden;  Um die Festplattenquota für das VE festzulegen, verwenden Sie</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code70'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p770"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code70"><pre class="bash" style="font-family:monospace;">vzctl <span style="color: #000000; font-weight: bold;">set</span> VEID <span style="color: #660033;">--diskspace</span> soft:hard --save.</pre></td></tr></table></div>

<p>Um das Kernel-RAM-Soft-Limit und –Hard-Limit für VE zu (re)definieren, müssen Sie den Befehl so starten:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code71'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p771"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code71"><pre class="bash" style="font-family:monospace;">vzctl <span style="color: #000000; font-weight: bold;">set</span> VEID <span style="color: #660033;">--kmemsize</span> barrier:limit <span style="color: #660033;">--save</span></pre></td></tr></table></div>

<p>Und um eine VE wieder zu löschen</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p7code72'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p772"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p7code72"><pre class="bash" style="font-family:monospace;">vzctl destroy VEID</pre></td></tr></table></div>

<div class="shr-publisher-7"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.deluxe-stylez.de/2008/08/12/openvz-howto/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenVPN HowTo</title>
		<link>http://www.deluxe-stylez.de/2008/08/12/openvpn-howto</link>
		<comments>http://www.deluxe-stylez.de/2008/08/12/openvpn-howto#comments</comments>
		<pubDate>Tue, 12 Aug 2008 10:19:52 +0000</pubDate>
		<dc:creator>BeNe</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[tap]]></category>
		<category><![CDATA[tun]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<img src="/wp-content/uploads/pictures/LinuxHowTo/openvpn/openvpn_logo.png" alt="" width="289" height="67" />

Jeder der sich auf seinem Server einwählen möchte, egal ob aus Sicherheitsgründen um den SSH Port zu schließen oder um die MySQL DB mit Access bearbeiten findet hier ein HowTo für Debian Etch das genau dies alles ermöglicht.
<h2><strong>1. OpenVPN Server installieren</strong></h2>
Hier gehen wir ganz den einfachen Debian weg:
<pre lang="BASH"># apt-get update
# apt-get install openvpn openssl</pre>
<h2>2. Erstellen der Zertifikate</h2>
Bevor wir mit der Schlüsselerstellung anfangen, noch ein Hinweis. Es wird bei der Erstellung der Schlüssel auch eine Abfrage gestartet, wo Land, Stadt, Benutzer E-Mail usw. eingegeben werden müssen. Dafür kann man immer die gleiche Bezeichnung nehmen mit einer Ausnahme<strong> </strong>

<span class="alert"><strong>Der CommonName muss immer verschieden sein</strong>.</span>
Wechseln in das SSL Verzeichniss
<pre lang="BASH"># cd /etc/ssl/</pre>
Erstellen eines Unterverzeichniss
<pre lang="BASH"># mkdir Zertifikate</pre>
<h4>Jetzt erstellen wird die Schlüssel für das CA (Certifikate Authority)</h4>
Wir benützen dazu die OpenSSL Tools
<pre lang="BASH"># openssl genrsa -aes256 -out private/vpn-cakey.pem 2048</pre>
Was macht der Befehl:
<span class="info">openssl: startet die Prozedur genrsa: generiert die Schlüssel
-aes256: ist der Verschlüsselungsalgorithmus
-out: erstellt die Ausgabedatei</span>
<p class="readon">Beim ausführen muss ein Passwort eingegeben werden:</p>
<p class="readon">(Enter Pass Phrase for vpn-cakey.pem: )</p>
<p class="readon">Diese wird später gebraucht um unsere Zertifikate zu verifizieren.</p>

<h4>Danach erstellen wir unser CA</h4>
<pre lang="BASH"># openssl req -new -x509 -days 365 -key private/vpn-cakey.pem -out vpn-ca.pem -set_serial 1</pre>
Was macht der Befehl:
<p class="readon"></p>

<span class="info"> req: erstellt eine Anfrage ( Request )
-new: sagt das wir eine neue Anfrage schicken
-x509: verwendeter Standart für das CA
-days: solange ist das Zertifikat gültig
-key: der verwendete Masterschlüssel zum erstellen des CA
-set_serial: die Seriennummer die hochgezählt wird. </span>

Jetzt erstellen wir die Clientzertifikate.  Der Serverschlüssel wird als erstes von den Schlüsselpaaren erstellt
<pre lang="BASH"># touch index.txt &#38;&#38; echo "01" &#62; serial</pre>
<span class="info"> index.txt: damit man später die Zertifikate sperren kann echo „01“ &#62; serial: um eine 1 in die Serialdatei zu schreiben </span>

Jetzt erstellen wir die Zertifikatanfrage und den Schlüssel
(alles in eine Zeile)
<pre lang="BASH"># openssl req -new -newkey rsa:2048 -out Zertifikate/server_csr.pem
-nodes -keyout private/server_key.pem -days 365</pre>
<span class="info"> newkey: erstellt einen neuen Schlüsselbund
rsa:2048: ist die Schlüssellänge
-nodes: es wird kein Passwort auf das Zertifikt gelegt (sollte aber bei den Clientzertifikaten nicht verwendet werden)
-keyout: Ausgabe des Schlüssel in die Datei server_csr.pem: Zertifikatanfrage </span> So jetzt der Schlüssel und das signierte Zertifikat
(alles in eine Zeile)
<pre lang="BASH"># openssl x509 -req -in Zertifikate/server_csr.pem -out Zertifikate/server_cert.pem
-CA vpn-ca.pem -CAkey private/vpn-cakey.pem  -CAserial serial -days 365</pre>
<span class="info"> -in: sagt uns welche Zertifikatanfrage verarbeitet werden soll
-out: Zertifikatname
-CA: für das Unterzeichnen des Zertifikates
-Cakey: Masterschlüssel für das erstellen des Zertifikates
</span> Nun die Clients (daselbe wie beim Server und wieder alles in eine Zeile)
<pre lang="BASH"># openssl req -new -newkey rsa:2048 -out Zertifikate/Client1_csr.pem -keyout private/Client1_key.pem -days 365
# openssl x509 -req -in Zertifikate/Client1_csr.pem -out Zertifikate/Client1_cert.pem -CA vpn-ca.pem -CAkey private/vpn-cakey.pem -CAserial serial -days 365</pre>
Zum Schluss noch den Diffie Hellman Parameter erzeugen.
<pre lang="BASH"># openssl dhparam -out dh2048.pem 2048</pre>
Das erzeugen des Diffie Hellman Parameter dauert sehr lange.
<h2>Erstellen der Config-Dateien</h2>
Nun müssen wir die Configdateien für den Server und für den Client erstellen. Dieses habe ich auf meinen Windowsrechner mit dem Texteditor gemacht. Beim speichern ist darauf zu achten, dass die Config für den Server unter  "Server.ovpn" und die Config für den Windows Client unter "Client.ovpn" gespeichert werden. Bei Speicher darauf achten das die endung ".ovpn" bleibt.
<h4>Server-Config (Server.ovpn)</h4>
<pre lang="BASH"># Port Standardport 1194
port 1194

# Die Revoke Liste überprüfen #crl-verify /etc/ssl/crl.pem
# TCP oder UDP? proto udp mode server tls-server dev tap

# Unsere Server IP
ifconfig 192.168.100.1 255.255.255.0
ifconfig-pool 192.168.100.2 192.168.100.9

# Server IP Adresse (Adressbereich. in dem Fall alles von 10.10.10.0)
#server
#Wo liegen unsere Zertifikate
ca /etc/ssl/vpn-ca.pem cert /etc/ssl/Zertifikate/server_cert.pem key /etc/ssl/private/server_key.pem

# Diffie-Hellmann Parameter
dh /etc/ssl/dh2048.pem

#Die Selbe IP in der nächsten Sitzung vergeben
#ifconfig-pool-persist ipp.txt
#IPs in den IP Tables eintragen,
#DNS neu vergeben und über Den Server das Routing machen,
#dass man z.B. über den Tunnel auf ein
# lokales Intranet zuzugreifen
#push "route 10.0.0.0 255.0.0.0"
#push "dhcp-option DNS 192.168.1.xyz"
#push "redirect-gateway"
#push "route 0.0.0.0 0.0.0.0"

#Authentifizierungsmethode auth SHA1

#Verschlüsselungs Algorithmus cipher aes-256-cbc

#Benutze Komprimierung comp-lzo

#Setzt die Rechte user nobody group nogroup

#Wird wegen user nobody/group nobody benötigt. persist-key persist-tun

#Logging 0, (Zum testen:5) verb 7</pre>
<h4>Client-Config (Client.ovpn)</h4>
<span class="alert"><strong>Die Client-Config nicht blind kopieren. Es muss noch die "Serveradresse" durch die IP vom Server ersetzt werden!</strong></span>
<pre lang="BASH">#Festlegen als was fungiert wird
tls-client
pull

# Methode festlegen tun oder tap dev tap
# Protokoll auswaehlen udp oder tcp proto udp
# IP/Name und Port des Servers (bitte ändern) remote 123.123.123.123 1194
# Auflösen des Hostnames des Servers resolv-retry infinite
# Localen Port festlegen oder freigeben nobind
# Verbindung immer gleich halten persist-key persist-tun
#zu verwendende Zertifikate und Schlüssel ca C:\\Programme\\Openvpn\\config\\vpn-ca.pem cert C:\\Programme\\Openvpn\\config\\Client1_cert.pem key C:\\Programme\\Openvpn\\config\\Client1_key.pem

# Verschlüsselung cipher AES-256-CBC

# Komprimiernug comp-lzo

# Authentifizierungsmethode auth SHA1

# "Gesprächigkeit" des Tunnels verb 3

# Silence repeating messages mute 20</pre>
So nun folgende Dateien mit z.B. WinSCP auf den Clientrechner unter "C:\Prorgamme\OpenVPN\config" kopieren
<pre lang="BASH">vpn-ca.pem
client1_cert.pem
client1_key.pem
Client.ovpn</pre>
Wir sind fast fertig mit der Installation. Nur noch unsere erstellte "Server.ovpn" mit z.B WinSCP auf den Server unter
<pre lang="BASH">/etc/openvpn/</pre>
kopieren. Um spätere Warnungen zu vermeiden ändern wir noch die Rechte der "server_key.pem" ab
<pre lang="BASH"># chmod 600 /etc/ssl/private/server_key.pem</pre>
<h2>Serverconfig testen</h2>
Bevor wir den Tunnel starten, sollten wir die Config mal testen
<pre lang="BASH">openvpn --config /etc/openvpn/Server.ovpn</pre>
Hier sollten keine Fehler auftauchen.
<h2>Tunnel starten</h2>
Wenn wir beim Configtest keine Fehler erhalten haben können wir das ganze jetzt starten:
<pre>openvpn /etc/openvpn/Server.ovpn</pre>
Sobald der Server läuft können wir versuchen, uns mit dem Client zu verbinden: Am Client auf Start -&#62; Programme -&#62; OpenVPN -&#62; OpenVPN GUI In der Taskleiste erscheint dann ein Symbol mit 2 roten Bildschirmen und einer Weltkugel. Dieses Symbol klicken wir mit der „rechten Maustaste“ an Dann gehen wir im Auswahlfeld auf "Verbinden", geben unser Passwort ein und klicken auf „Ok“. Nun wird eine Verbindung zum Server aufgebaut. Dies sieht man daran, das das VPN-Symbol von rot auf gelb wechselt. Ist der Verbindungsaufbau abgeschlossen erscheint das VPN-Symbol in grün. Und "Hurra" wir haben einen VPN-Tunnel zu unserem Server aufgebaut.]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><img src="/wp-content/uploads/pictures/LinuxHowTo/openvpn/openvpn_logo.png" alt="" width="289" height="67" /></p>
<p>Jeder der sich auf seinem Server einwählen möchte, egal ob aus Sicherheitsgründen um den SSH Port zu schließen oder um die MySQL DB mit Access bearbeiten findet hier ein HowTo für Debian Etch das genau dies alles ermöglicht.</p>
<h2><strong>1. OpenVPN Server installieren</strong></h2>
<p>Hier gehen wir ganz den einfachen Debian weg:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p6code73'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p673"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p6code73"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># apt-get update</span>
<span style="color: #666666; font-style: italic;"># apt-get install openvpn openssl</span></pre></td></tr></table></div>

<h2>2. Erstellen der Zertifikate</h2>
<p>Bevor wir mit der Schlüsselerstellung anfangen, noch ein Hinweis. Es wird bei der Erstellung der Schlüssel auch eine Abfrage gestartet, wo Land, Stadt, Benutzer E-Mail usw. eingegeben werden müssen. Dafür kann man immer die gleiche Bezeichnung nehmen mit einer Ausnahme<strong> </strong></p>
<p><span class="alert"><strong>Der CommonName muss immer verschieden sein</strong>.</span><br />
Wechseln in das SSL Verzeichniss</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p6code74'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p674"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p6code74"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># cd /etc/ssl/</span></pre></td></tr></table></div>

<p>Erstellen eines Unterverzeichniss</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p6code75'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p675"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p6code75"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># mkdir Zertifikate</span></pre></td></tr></table></div>

<h4>Jetzt erstellen wird die Schlüssel für das CA (Certifikate Authority)</h4>
<p>Wir benützen dazu die OpenSSL Tools</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p6code76'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p676"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p6code76"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># openssl genrsa -aes256 -out private/vpn-cakey.pem 2048</span></pre></td></tr></table></div>

<p>Was macht der Befehl:<br />
<span class="info">openssl: startet die Prozedur genrsa: generiert die Schlüssel<br />
-aes256: ist der Verschlüsselungsalgorithmus<br />
-out: erstellt die Ausgabedatei</span></p>
<p class="readon">Beim ausführen muss ein Passwort eingegeben werden:</p>
<p class="readon">(Enter Pass Phrase for vpn-cakey.pem: )</p>
<p class="readon">Diese wird später gebraucht um unsere Zertifikate zu verifizieren.</p>
<h4>Danach erstellen wir unser CA</h4>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p6code77'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p677"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p6code77"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># openssl req -new -x509 -days 365 -key private/vpn-cakey.pem -out vpn-ca.pem -set_serial 1</span></pre></td></tr></table></div>

<p>Was macht der Befehl:</p>
<p class="readon">
<p><span class="info"> req: erstellt eine Anfrage ( Request )<br />
-new: sagt das wir eine neue Anfrage schicken<br />
-x509: verwendeter Standart für das CA<br />
-days: solange ist das Zertifikat gültig<br />
-key: der verwendete Masterschlüssel zum erstellen des CA<br />
-set_serial: die Seriennummer die hochgezählt wird. </span></p>
<p>Jetzt erstellen wir die Clientzertifikate.  Der Serverschlüssel wird als erstes von den Schlüsselpaaren erstellt</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p6code78'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p678"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p6code78"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># touch index.txt &amp;amp;&amp;amp; echo &quot;01&quot; &amp;gt; serial</span></pre></td></tr></table></div>

<p><span class="info"> index.txt: damit man später die Zertifikate sperren kann echo „01“ &gt; serial: um eine 1 in die Serialdatei zu schreiben </span></p>
<p>Jetzt erstellen wir die Zertifikatanfrage und den Schlüssel<br />
(alles in eine Zeile)</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p6code79'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p679"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p6code79"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># openssl req -new -newkey rsa:2048 -out Zertifikate/server_csr.pem</span>
<span style="color: #660033;">-nodes</span> <span style="color: #660033;">-keyout</span> private<span style="color: #000000; font-weight: bold;">/</span>server_key.pem <span style="color: #660033;">-days</span> <span style="color: #000000;">365</span></pre></td></tr></table></div>

<p><span class="info"> newkey: erstellt einen neuen Schlüsselbund<br />
rsa:2048: ist die Schlüssellänge<br />
-nodes: es wird kein Passwort auf das Zertifikt gelegt (sollte aber bei den Clientzertifikaten nicht verwendet werden)<br />
-keyout: Ausgabe des Schlüssel in die Datei server_csr.pem: Zertifikatanfrage </span> So jetzt der Schlüssel und das signierte Zertifikat<br />
(alles in eine Zeile)</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p6code80'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p680"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p6code80"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># openssl x509 -req -in Zertifikate/server_csr.pem -out Zertifikate/server_cert.pem</span>
<span style="color: #660033;">-CA</span> vpn-ca.pem <span style="color: #660033;">-CAkey</span> private<span style="color: #000000; font-weight: bold;">/</span>vpn-cakey.pem  <span style="color: #660033;">-CAserial</span> serial <span style="color: #660033;">-days</span> <span style="color: #000000;">365</span></pre></td></tr></table></div>

<p><span class="info"> -in: sagt uns welche Zertifikatanfrage verarbeitet werden soll<br />
-out: Zertifikatname<br />
-CA: für das Unterzeichnen des Zertifikates<br />
-Cakey: Masterschlüssel für das erstellen des Zertifikates<br />
</span> Nun die Clients (daselbe wie beim Server und wieder alles in eine Zeile)</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p6code81'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p681"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p6code81"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># openssl req -new -newkey rsa:2048 -out Zertifikate/Client1_csr.pem -keyout private/Client1_key.pem -days 365</span>
<span style="color: #666666; font-style: italic;"># openssl x509 -req -in Zertifikate/Client1_csr.pem -out Zertifikate/Client1_cert.pem -CA vpn-ca.pem -CAkey private/vpn-cakey.pem -CAserial serial -days 365</span></pre></td></tr></table></div>

<p>Zum Schluss noch den Diffie Hellman Parameter erzeugen.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p6code82'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p682"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p6code82"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># openssl dhparam -out dh2048.pem 2048</span></pre></td></tr></table></div>

<p>Das erzeugen des Diffie Hellman Parameter dauert sehr lange.</p>
<h2>Erstellen der Config-Dateien</h2>
<p>Nun müssen wir die Configdateien für den Server und für den Client erstellen. Dieses habe ich auf meinen Windowsrechner mit dem Texteditor gemacht. Beim speichern ist darauf zu achten, dass die Config für den Server unter  "Server.ovpn" und die Config für den Windows Client unter "Client.ovpn" gespeichert werden. Bei Speicher darauf achten das die endung ".ovpn" bleibt.</p>
<h4>Server-Config (Server.ovpn)</h4>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p6code83'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p683"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
</pre></td><td class="code" id="p6code83"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Port Standardport 1194</span>
port <span style="color: #000000;">1194</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Die Revoke Liste überprüfen #crl-verify /etc/ssl/crl.pem</span>
<span style="color: #666666; font-style: italic;"># TCP oder UDP? proto udp mode server tls-server dev tap</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Unsere Server IP</span>
<span style="color: #c20cb9; font-weight: bold;">ifconfig</span> 192.168.100.1 255.255.255.0
ifconfig-pool 192.168.100.2 192.168.100.9
&nbsp;
<span style="color: #666666; font-style: italic;"># Server IP Adresse (Adressbereich. in dem Fall alles von 10.10.10.0)</span>
<span style="color: #666666; font-style: italic;">#server</span>
<span style="color: #666666; font-style: italic;">#Wo liegen unsere Zertifikate</span>
ca <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>ssl<span style="color: #000000; font-weight: bold;">/</span>vpn-ca.pem cert <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>ssl<span style="color: #000000; font-weight: bold;">/</span>Zertifikate<span style="color: #000000; font-weight: bold;">/</span>server_cert.pem key <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>ssl<span style="color: #000000; font-weight: bold;">/</span>private<span style="color: #000000; font-weight: bold;">/</span>server_key.pem
&nbsp;
<span style="color: #666666; font-style: italic;"># Diffie-Hellmann Parameter</span>
dh <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>ssl<span style="color: #000000; font-weight: bold;">/</span>dh2048.pem
&nbsp;
<span style="color: #666666; font-style: italic;">#Die Selbe IP in der nächsten Sitzung vergeben</span>
<span style="color: #666666; font-style: italic;">#ifconfig-pool-persist ipp.txt</span>
<span style="color: #666666; font-style: italic;">#IPs in den IP Tables eintragen,</span>
<span style="color: #666666; font-style: italic;">#DNS neu vergeben und über Den Server das Routing machen,</span>
<span style="color: #666666; font-style: italic;">#dass man z.B. über den Tunnel auf ein</span>
<span style="color: #666666; font-style: italic;"># lokales Intranet zuzugreifen</span>
<span style="color: #666666; font-style: italic;">#push &quot;route 10.0.0.0 255.0.0.0&quot;</span>
<span style="color: #666666; font-style: italic;">#push &quot;dhcp-option DNS 192.168.1.xyz&quot;</span>
<span style="color: #666666; font-style: italic;">#push &quot;redirect-gateway&quot;</span>
<span style="color: #666666; font-style: italic;">#push &quot;route 0.0.0.0 0.0.0.0&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Authentifizierungsmethode auth SHA1</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Verschlüsselungs Algorithmus cipher aes-256-cbc</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Benutze Komprimierung comp-lzo</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Setzt die Rechte user nobody group nogroup</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Wird wegen user nobody/group nobody benötigt. persist-key persist-tun</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Logging 0, (Zum testen:5) verb 7</span></pre></td></tr></table></div>

<h4>Client-Config (Client.ovpn)</h4>
<p><span class="alert"><strong>Die Client-Config nicht blind kopieren. Es muss noch die "Serveradresse" durch die IP vom Server ersetzt werden!</strong></span></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p6code84'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p684"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code" id="p6code84"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#Festlegen als was fungiert wird</span>
tls-client
pull
&nbsp;
<span style="color: #666666; font-style: italic;"># Methode festlegen tun oder tap dev tap</span>
<span style="color: #666666; font-style: italic;"># Protokoll auswaehlen udp oder tcp proto udp</span>
<span style="color: #666666; font-style: italic;"># IP/Name und Port des Servers (bitte ändern) remote 123.123.123.123 1194</span>
<span style="color: #666666; font-style: italic;"># Auflösen des Hostnames des Servers resolv-retry infinite</span>
<span style="color: #666666; font-style: italic;"># Localen Port festlegen oder freigeben nobind</span>
<span style="color: #666666; font-style: italic;"># Verbindung immer gleich halten persist-key persist-tun</span>
<span style="color: #666666; font-style: italic;">#zu verwendende Zertifikate und Schlüssel ca C:\\Programme\\Openvpn\\config\\vpn-ca.pem cert C:\\Programme\\Openvpn\\config\\Client1_cert.pem key C:\\Programme\\Openvpn\\config\\Client1_key.pem</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Verschlüsselung cipher AES-256-CBC</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Komprimiernug comp-lzo</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Authentifizierungsmethode auth SHA1</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># &quot;Gesprächigkeit&quot; des Tunnels verb 3</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Silence repeating messages mute 20</span></pre></td></tr></table></div>

<p>So nun folgende Dateien mit z.B. WinSCP auf den Clientrechner unter "C:\Prorgamme\OpenVPN\config" kopieren</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p6code85'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p685"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p6code85"><pre class="bash" style="font-family:monospace;">vpn-ca.pem
client1_cert.pem
client1_key.pem
Client.ovpn</pre></td></tr></table></div>

<p>Wir sind fast fertig mit der Installation. Nur noch unsere erstellte "Server.ovpn" mit z.B WinSCP auf den Server unter</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p6code86'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p686"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p6code86"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span></pre></td></tr></table></div>

<p>kopieren. Um spätere Warnungen zu vermeiden ändern wir noch die Rechte der "server_key.pem" ab</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p6code87'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p687"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p6code87"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># chmod 600 /etc/ssl/private/server_key.pem</span></pre></td></tr></table></div>

<h2>Serverconfig testen</h2>
<p>Bevor wir den Tunnel starten, sollten wir die Config mal testen</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p6code88'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p688"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p6code88"><pre class="bash" style="font-family:monospace;">openvpn <span style="color: #660033;">--config</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>Server.ovpn</pre></td></tr></table></div>

<p>Hier sollten keine Fehler auftauchen.</p>
<h2>Tunnel starten</h2>
<p>Wenn wir beim Configtest keine Fehler erhalten haben können wir das ganze jetzt starten:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p6code89'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p689"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p6code89"><pre class="bash" style="font-family:monospace;">openvpn <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>Server.ovpn</pre></td></tr></table></div>

<p>Sobald der Server läuft können wir versuchen, uns mit dem Client zu verbinden: Am Client auf Start -&gt; Programme -&gt; OpenVPN -&gt; OpenVPN GUI In der Taskleiste erscheint dann ein Symbol mit 2 roten Bildschirmen und einer Weltkugel. Dieses Symbol klicken wir mit der „rechten Maustaste“ an Dann gehen wir im Auswahlfeld auf "Verbinden", geben unser Passwort ein und klicken auf „Ok“. Nun wird eine Verbindung zum Server aufgebaut. Dies sieht man daran, das das VPN-Symbol von rot auf gelb wechselt. Ist der Verbindungsaufbau abgeschlossen erscheint das VPN-Symbol in grün. Und "Hurra" wir haben einen VPN-Tunnel zu unserem Server aufgebaut.</p>
<div class="shr-publisher-6"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.deluxe-stylez.de/2008/08/12/openvpn-howto/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

