<?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>Rogierm&#039;s Blog &#187; Network</title>
	<atom:link href="http://rogierm.redbee.nl/blog/category/network/feed/" rel="self" type="application/rss+xml" />
	<link>http://rogierm.redbee.nl/blog</link>
	<description>Just another blog with technical stuff</description>
	<lastBuildDate>Mon, 28 Jun 2010 21:04:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Strong ciphers on Foundry ServerIron</title>
		<link>http://rogierm.redbee.nl/blog/2010/02/15/strong-ciphers-on-foundry-serveriron/</link>
		<comments>http://rogierm.redbee.nl/blog/2010/02/15/strong-ciphers-on-foundry-serveriron/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 20:24:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[foundry]]></category>
		<category><![CDATA[loadbalancer]]></category>
		<category><![CDATA[PCI]]></category>
		<category><![CDATA[serveriron]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=117</guid>
		<description><![CDATA[When setting up SSL offloading on a Foundry ServerIron 4G-SSL the default installation allows weak (eg. DES, 56bit) ciphers and SSLv2. This is not a recommended setup, especially if you have to comply to certain security certifications, like PCI. The Foundry documentation does not give a lot of information on the ciphers that are supported. [...]]]></description>
			<content:encoded><![CDATA[<p>When setting up SSL offloading on a Foundry ServerIron 4G-SSL the default installation allows weak (eg. DES, 56bit) ciphers and SSLv2. This is not a recommended setup, especially if you have to comply to certain security certifications, like PCI. The Foundry documentation does not give a lot of information on the ciphers that are supported. Below the commands to disable SSLv2 and allow only strong ciphers on an ssl accelerated host. </p>
<p>To change the ssl profile of a virtual server, always follow the following steps: </p>
<ol>
<li>Remove the ssl profile from the virtual server</li>
<li>Change the ssl profile settings</li>
<li>Enable the ssl profile on the virtual server</li>
</ol>
<p><code><br />
server virtual vservername<br />
no port ssl ssl-terminate sslprofilename</p>
<p>exit</p>
<p>ssl profile sslprofilename<br />
disable-ssl-v2<br />
no  cipher-suite all-cipher-suites<br />
cipher-suite rsa-with-3des-ede-cbc-sha<br />
cipher-suite rsa-with-aes-128-sha<br />
cipher-suite rsa-with-aes-256-sha<br />
cipher-suite rsa-with-rc4-128-md5<br />
cipher-suite rsa-with-rc4-128-sha</p>
<p>exit</p>
<p>server virtual  vservername<br />
port ssl ssl-terminate sslprofilename<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2010/02/15/strong-ciphers-on-foundry-serveriron/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Racktables add custom object-type</title>
		<link>http://rogierm.redbee.nl/blog/2010/01/31/racktables-add-custom-object-type/</link>
		<comments>http://rogierm.redbee.nl/blog/2010/01/31/racktables-add-custom-object-type/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 21:17:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[racktables]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=115</guid>
		<description><![CDATA[RackTables is a datacenter asset management system. By default is is configured with several object-types that are used in most datacenters, like network-switch, server, PDU, ups, etc. However, some obvious object types are missing. A firewall or loadbalancer are quite often used in datacenter environments. But RackTables is very flexible and extensible. You can easily [...]]]></description>
			<content:encoded><![CDATA[<p>RackTables is a datacenter asset management system. By default is is configured with several object-types that are used in most datacenters, like network-switch, server, PDU, ups, etc. However, some obvious object types are missing. A firewall or loadbalancer are quite often used in datacenter environments. But RackTables is very flexible and extensible. You can easily add your own custom object type. To do this, follow the following steps. </p>
<ol>
<li>Go to Configuration, Dictionary</li>
<li>Click RackObjectType</li>
<li>Click the &#8216;Edit&#8217; tab</li>
<li>Add the Object-type you want and click the &#8216;+&#8217;</li>
</ol>
<p>By default, you cannot attach an ip address to an object-type. This must be configured manually. To make the object IPv4 enabled, follow the following steps. </p>
<ol>
<li>Go to Configuration, User-interface</li>
<li>Click the &#8216;change&#8217; tab</li>
<li>Add the object id to the textbox named &#8216;List source: IPv4-enabled objects&#8217;</li>
</ol>
<p>The list of IPv4 enabled objects should be something like:<br />
<code><br />
{$typeid_4} or {$typeid_7} or {$typeid_8} or {$typeid_12} or {$typeid_445} or {$typeid_447} or {$typeid_50019} or {$typeid_2}  or {$typeid_50063}<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2010/01/31/racktables-add-custom-object-type/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Racktables Rancid integration</title>
		<link>http://rogierm.redbee.nl/blog/2010/01/31/racktables-rancid-integration/</link>
		<comments>http://rogierm.redbee.nl/blog/2010/01/31/racktables-rancid-integration/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 18:12:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[racktables]]></category>
		<category><![CDATA[rancid]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=108</guid>
		<description><![CDATA[I use Racktables to keep track of the devices in our network. To backup the configuration of our network devices I use rancid. To prevent having to edit and update multiple configuration files and systems, I thought it would be a good idea to centralize this and use Racktables as a source for configuring other [...]]]></description>
			<content:encoded><![CDATA[<p>I use <a href="http://www.racktables.org">Racktables</a> to keep track of the devices in our network. To backup the configuration of our network devices I use <a href="http://www.shrubbery.net/rancid/">rancid</a>. To prevent having to edit and update multiple configuration files and systems, I thought it would be a good idea to centralize this and use Racktables as a source for configuring other systems. Racktables is a very extensible system that allows you to add attributes to a category yourself. I&#8217;ve added a &#8216;Rancid&#8217; attribute as a dictionary item containing &#8216;Yes&#8217; and &#8216;No&#8217;. I&#8217;ve bound this attribute to the object categories (Networkswitch, firewall and router) I want to backup with Rancid. I&#8217;ve scheduled a cronjob that runs the attached script, creating the routers.db file that is used by rancid. </p>
<p>The script runs an sql query to include all devices that have the Rancid attribute set to &#8216;Yes&#8217;. </p>
<p>To use this script in your environment, you have to edit the sql query to use the id of your rancid attribute in the dictionary. In my case the rancid attribute has the id &#8217;10003&#8242; and the &#8216;Yes&#8217; dictionary id is &#8217;50030&#8242;. These values can be found by looking in the racktables database. </p>
<p><a href="http://rogierm.redbee.nl/blog/wp-content/plugins/downloads-manager/upload/export-rancid.pl">Download the racktables-rancid export script. </a><br />
<a href="http://rogierm.redbee.nl/blog/wp-content/plugins/downloads-manager/upload/run-rancid-export.sh">Download the wrapper script</a></p>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2010/01/31/racktables-rancid-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cisco ASA and tacacs enable fails</title>
		<link>http://rogierm.redbee.nl/blog/2010/01/14/cisco-asa-and-tacacs-enable-fails/</link>
		<comments>http://rogierm.redbee.nl/blog/2010/01/14/cisco-asa-and-tacacs-enable-fails/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 21:34:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[asa]]></category>
		<category><![CDATA[enable]]></category>
		<category><![CDATA[tacacs]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=106</guid>
		<description><![CDATA[While migrating the authentication of our ASA firewalls to tacacs, we enabled &#8216;enable&#8217; authentication to tacacs and tried to switch to enable mode on the console. This did not work, and caused the following message in the tacacs log file: Wed Jan 13 17:07:42 2010 [25444]: enable query for 'username' 13 from 10.x.x.x rejected To [...]]]></description>
			<content:encoded><![CDATA[<p>While migrating the authentication of our ASA firewalls to tacacs, we enabled &#8216;enable&#8217; authentication to tacacs and tried to switch to enable mode on the console. This did not work, and caused the following message in the tacacs log file:<br />
<code><br />
Wed Jan 13 17:07:42 2010 [25444]: enable query for 'username' 13 from 10.x.x.x rejected<br />
</code><br />
To fix this problem the tacacs configuration for the user needs to include the enable password in the profile, as shown below:<br />
<code><br />
user = username {<br />
        login = des "XXXXXXX"<br />
        member = admin<br />
        acl = mgmt_devices<br />
        service = shell {<br />
                priv-lvl = 15<br />
        }<br />
        enable = des "XXXXXXX"<br />
}<br />
</code><br />
We use the following configuration on the ASA to enable AAA to tacacs.<br />
<code><br />
aaa-server tacacs protocol tacacs+<br />
aaa-server tacacs (outside) host 1.1.1.1<br />
 key TACACSKEY<br />
aaa-server tacacs (outside) host 2.2.2.2<br />
 key TACACSKEY<br />
aaa authentication ssh console tacacs LOCAL<br />
aaa authentication telnet console tacacs LOCAL<br />
aaa authentication serial console tacacs LOCAL<br />
aaa authentication enable console tacacs LOCAL<br />
aaa authentication http console tacacs LOCAL<br />
aaa authorization command tacacs LOCAL<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2010/01/14/cisco-asa-and-tacacs-enable-fails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cisco switch and Tacacs</title>
		<link>http://rogierm.redbee.nl/blog/2010/01/14/cisco-switch-and-tacacs/</link>
		<comments>http://rogierm.redbee.nl/blog/2010/01/14/cisco-switch-and-tacacs/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 21:12:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[aaa]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[switch]]></category>
		<category><![CDATA[tacacs]]></category>
		<category><![CDATA[tac_plus]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=103</guid>
		<description><![CDATA[Tacacs is a great way to centralize user authentication, authorization and accounting. While tacacs originally is a Cisco thing, there is an open source server version available, tac_plus (http://www.gazi.edu.tr/tacacs/index.php?page=download). Installing the tacacs server is quite straight forward. Configuring the switch is not difficult either, as long as you think about possible failures. You don&#8217;t want [...]]]></description>
			<content:encoded><![CDATA[<p>Tacacs is a great way to centralize user authentication, authorization and accounting. While tacacs originally is a Cisco thing, there is an open source server version available, tac_plus (http://www.gazi.edu.tr/tacacs/index.php?page=download). Installing the tacacs server is quite straight forward. Configuring the switch is not difficult either, as long as you think about possible failures. You don&#8217;t want to be locked out of your switches when your tacacs server is not available. I use the following configuration that uses two tacacs servers and asks for the enable password when neither of the tacacs servers is available. To enter &#8216;enable&#8217; mode, the configured enable password suffices. Use the following Cisco configuration for a save AAA authentication. </p>
<p><strong>NOTE:</strong> Always be careful when changing authentication and authorization configuration, as this might lock you out of the device. The savest way is to do this on the console of the machine. </p>
<p><code><br />
aaa new-model<br />
aaa authentication login default group tacacs+ enable<br />
aaa authentication enable default enable<br />
aaa authorization exec default group tacacs+ if-authenticated<br />
aaa authorization commands 15 default group tacacs+ if-authenticated<br />
aaa authorization network default group tacacs+ if-authenticated<br />
aaa accounting exec default start-stop group tacacs+<br />
aaa accounting commands 15 default start-stop group tacacs+<br />
aaa accounting system default start-stop group tacacs+<br />
aaa session-id common<br />
tacacs-server host 1.1.1.1 single-connection<br />
tacacs-server host 2.2.2.2 single-connection<br />
tacacs-server key TACACSKEY<br />
tacacs-server directed-request<br />
</code><br />
To restrict access to specific devices, you can configure an ACL in the tacacs configuration on the server (tac_plus.conf). See the example below.</p>
<p><code><br />
user = username {<br />
        login = des "XXXX"<br />
        member = admin<br />
        acl = mgmt_devices<br />
        service = shell {<br />
                priv-lvl = 15<br />
        }<br />
}<br />
group = admin {<br />
        default service = permit<br />
        service = exec {<br />
        priv-lvl = 15<br />
        }<br />
}<br />
# acl's</p>
<p>acl = mgmt_devices {<br />
        permit = 12.12.12.12<br />
        permit = 13.13.13.13<br />
        }<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2010/01/14/cisco-switch-and-tacacs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SIP with Speedtouch ADSL modem</title>
		<link>http://rogierm.redbee.nl/blog/2010/01/02/sip-with-speedtouch-adsl-modem/</link>
		<comments>http://rogierm.redbee.nl/blog/2010/01/02/sip-with-speedtouch-adsl-modem/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 21:13:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[adsl]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[sip]]></category>
		<category><![CDATA[speedtouch]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=101</guid>
		<description><![CDATA[We have a small VOIP network with 10 phone, a dedicated DSL line from Orange/Online and an external Asterisk server in a datacenter. The DSL line is terminated on a Speedtouch modem. With the default settings of the modem we experienced two problems: Incoming calls did not get through The sound of outgoing calls disappeared [...]]]></description>
			<content:encoded><![CDATA[<p>We have a small VOIP network with 10 phone, a dedicated DSL line from Orange/Online and an external Asterisk server in a datacenter. The DSL line is terminated on a Speedtouch modem. With the default settings of the modem we experienced two problems:</p>
<ul>
<li>Incoming calls did not get through
<li>The sound of outgoing calls disappeared while the call was not dropped
</ul>
<p>In the Asterisk logs we could see the following message:<br />
<code><br />
[Dec 30 13:40:51] WARNING[1911] chan_sip.c: Maximum retries exceeded on transmis<br />
sion 0016c7ea-28120012-73ca27ca-35d5391a@10.0.0.45 for seqno 102 (Critical Respo<br />
nse) -- See doc/sip-retransmit.txt.<br />
[Dec 30 13:40:51] WARNING[1911] chan_sip.c: Hanging up call 0016c7ea-28120012-73<br />
ca27ca-35d5391a@10.0.0.45 - no reply to our critical packet (see doc/sip-retrans<br />
mit.txt).<br />
</code></p>
<p>To fix this, you have to disable the SIP helper on the Speedtouch modem. Connect to the modem with telnet (default ip: 10.0.0.138, default user: Administrator, default password: <empty>) and enter the following commands:<br />
<code><br />
_{Administrator}=>connection<br />
{Administrator}[connection]=>appconfig application=SIP SIP_ALG=disabled<br />
{Administrator}[connection]=>exit<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2010/01/02/sip-with-speedtouch-adsl-modem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Export rancid config from racktables</title>
		<link>http://rogierm.redbee.nl/blog/2009/10/20/export-rancid-config-from-racktables/</link>
		<comments>http://rogierm.redbee.nl/blog/2009/10/20/export-rancid-config-from-racktables/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 19:28:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[racktables]]></category>
		<category><![CDATA[rancid]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=87</guid>
		<description><![CDATA[I use racktables to keep track of our devices and ip space. To prevent duplicate work and differences in naming I wrote (as all sysadmins ) a script to export a rancid config file from Racktables. To be able to enable or disable configuration backup via Rancid, I created a Dictionary &#8216;chapter&#8217; called Rancid, with [...]]]></description>
			<content:encoded><![CDATA[<p>I use racktables to keep track of our devices and ip space. To prevent duplicate work and differences in naming I wrote (as all sysadmins <img src='http://rogierm.redbee.nl/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) a script to export a rancid config file from Racktables. To be able to enable or disable configuration backup via Rancid, I created a Dictionary &#8216;chapter&#8217; called Rancid, with a Yes and No option. I added this Dictionary as an Attribute and mapped this to the Firewall, Router and Switch objects. </p>
<p>Now I can set the Rancid backup from the properties of the object. To create the Rancid config file I created the following script:</p>
<p><code><br />
#!/usr/bin/perl</p>
<p>use DBI;</p>
<p>$db="racktables";<br />
$host="localhost";<br />
$user="XXXX";<br />
$passwd="XXXX";<br />
$connectinfo="dbi:mysql:$db;$host";<br />
$filename="racktables-rancid-devices.txt";<br />
$dbh = DBI->connect($connectinfo,$user,$passwd);</p>
<p>$query = "select inet_ntoa(IPBonds.ip), RackObject.name from RackObject JOIN AttributeValue JOIN IPBonds ON RackObject.id=AttributeValue.object_id AND AttributeValue.object_id=IPBonds.object_id WHERE AttributeValue.attr_id=10003 AND AttributeValue.uint_value=50030 group by RackObject.name";</p>
<p>open FILE, ">", "$filename" or die $!;</p>
<p>$sth=$dbh->prepare($query);<br />
$sth->execute();<br />
$sth->bind_columns(\$IP, \$Name);<br />
while($sth->fetch()) {<br />
        print FILE "# $Name \n$IP:cisco:up\n";<br />
}</p>
<p>$sth->finish();</p>
<p>$dbh->disconnect;<br />
</code></p>
<p>This script creates the rancid &#8216;router.db&#8217; configuration format. I created a keypair and used ssh-agent to be able to run the following script to copy over the file to our rancid server. </p>
<p><code><br />
#!/bin/sh<br />
/home/rancid/export-rancid.pl<br />
scp racktables-rancid-devices.txt rancidserver:.<br />
ssh rancidserver 'cp router-manual.db router.db'<br />
ssh rancidserver 'cat racktables-rancid-devices.txt >> router.db'<br />
ssh rancidserver 'mv router.db /usr/local/rancid/var/networking/router.db'<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2009/10/20/export-rancid-config-from-racktables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenQRM</title>
		<link>http://rogierm.redbee.nl/blog/2009/08/26/openqrm/</link>
		<comments>http://rogierm.redbee.nl/blog/2009/08/26/openqrm/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 21:42:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[OpenQRM dropbear]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=76</guid>
		<description><![CDATA[OpenQRM uses dropbear for the communication and exchange of messages between the server and the appliances. When something goes wrong in this communication OpenQRM can&#8217;t function correctly. It can&#8217;t access the applicances for status updates and commands. These communication problems are often caused by a misconfiguration in dropbear. The most seen problem is a misconfiguration [...]]]></description>
			<content:encoded><![CDATA[<p>OpenQRM uses dropbear for the communication and exchange of messages between the server and the appliances. When something goes wrong in this communication OpenQRM can&#8217;t function correctly. It can&#8217;t access the applicances for status updates and commands. These communication problems are often caused by a misconfiguration in dropbear. The most seen problem is a misconfiguration in the the public and private dropbear key. </p>
<p>The keys should be synchronized between the server and the appliance. On the server grep the public key with the following command:<br />
<code><br />
[root@localhost log]# /usr/lib/openqrm/bin/dropbearkey -t rsa -f /usr/lib/openqrm/etc/dropbear/dropbear_rsa_host_key -y<br />
Public key portion is:<br />
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgwCBvwSO7vBBL2avDMds...pVn root@localhost.localdomain<br />
Fingerprint: md5 65:ca:5b:3b:05:c3:61:6d:fb:75:2f:c0:d2:7e:02:cf<br />
</code><br />
Copy the ssh-rsa public key in /root/.ssh/authorized_keys on the appliance. </p>
<p>Now communication should be established. </p>
<p>OpenQRM event log with example of error message caused by communication problem:<br />
<code><br />
openqrm-cmd-queue	ERROR executing command with token 64d478dcac6670e5fb000e7c4954863b : /usr/lib/openqrm/bin/dbclient<br />
</code></p>
<p><code><br />
Aug 26 23:19:45 localhost httpd: openQRM resource-monitor: (update_info) Processing statistics from resource 2<br />
Aug 26 23:19:48 localhost logger: openQRM-cmd-queu: Running Command with token 64d478dcac6670e5fb000e7c4954863b 1. retry : /usr/lib/openqrm/bin/dbclient -I 0 -K 10 -y -i /usr/lib/openqrm/etc/dropbear/dropbear_rsa_host_key -p 1667 root@192.168.42.243 "/usr/lib/openqrm/bin/openqrm-cmd /usr/lib/openqrm/plugins/xen/bin/openqrm-xen post_vm_list -u openqrm -p openqrm"<br />
Aug 26 23:19:52 localhost logger: openQRM-cmd-queu: ERROR executing command with token 64d478dcac6670e5fb000e7c4954863b 2. retry : /usr/lib/openqrm/bin/dbclient -I 0 -K 10 -y -i /usr/lib/openqrm/etc/dropbear/dropbear_rsa_host_key -p 1667 root@192.168.42.243 "/usr/lib/openqrm/bin/openqrm-cmd /usr/lib/openqrm/plugins/xen/bin/openqrm-xen post_vm_list -u openqrm -p openqrm" -----<br />
Aug 26 23:19:52 localhost logger: Host '192.168.42.243' key accepted unconditionally.<br />
Aug 26 23:19:52 localhost logger: (fingerprint md5 64:d5:c7:8e:7a:11:08:3f:43:bc:3c:2b:bf:4a:c8:ce)<br />
Aug 26 23:19:52 localhost logger: root@192.168.42.243's password: root@192.168.42.243's password: root@192.168.42.243's password: root@192.168.42.243's password: root@192.168.42.243's password: root@192.168.42.243's password: root@192.168.42.243's password: root@192.168.42.243's password: root@192.168.42.243's password: root@192.168.42.243's password: /usr/lib/openqrm/bin/dbclient: connection to root@192.168.42.243:1667 exited: remote closed the connection<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2009/08/26/openqrm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPv6 subnetting</title>
		<link>http://rogierm.redbee.nl/blog/2009/08/14/ipv6-subnetting/</link>
		<comments>http://rogierm.redbee.nl/blog/2009/08/14/ipv6-subnetting/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 21:15:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[ipv6]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=57</guid>
		<description><![CDATA[There are couple of differences between IPv6 and IPv4 address allocation. The prefix length for an IPv6 subnet will always be /64; no more, no less. It allows you to place as many IPv6 devices as the underlying network medium allows. The 128 bit IPv6 address is automatically created from the /64 bit subnet extended [...]]]></description>
			<content:encoded><![CDATA[<p>There are couple of differences between IPv6 and IPv4 address allocation.</p>
<ul>
<li>The prefix length for an IPv6 subnet will always be /64; no more, no less. It allows you to place as many IPv6 devices as the underlying network medium allows. The 128 bit IPv6 address is automatically created from the /64 bit subnet extended with the 64 bit MAC-address of the NIC.</li>
</ul>
<p>With IPv4, prefix length varies between subnets to subnets, and it caused painful costs when renumbering subnets (for example, imagine when you renumber an IPv4 subnet from /28 to /29 or vice versa).</p>
<ul>
<li>An ordinary leaf site will always get /48 of address space. This will be sufficient for most small to medium sized networks.</li>
</ul>
<p>With IPv4, the allocation varies by the size of the site, and made it very painful when you migrated from one ISP to another, for example.</p>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2009/08/14/ipv6-subnetting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iSCSI security, how to secure your LUN?</title>
		<link>http://rogierm.redbee.nl/blog/2009/08/13/iscsi-security-how-to-secure-your-lun-best/</link>
		<comments>http://rogierm.redbee.nl/blog/2009/08/13/iscsi-security-how-to-secure-your-lun-best/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 01:15:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[iscsi]]></category>
		<category><![CDATA[san]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=49</guid>
		<description><![CDATA[A SAN is often implemented as a dedicated network that is considered to be a secure network. However, the nature of a SAN is that it is a shared network. This involves some serious security risks, that should be evaluated when using an iSCSI based SAN. Some vendors consider an iSCSI network save when it [...]]]></description>
			<content:encoded><![CDATA[<p>A SAN is often implemented as a dedicated network that is considered to be a secure network. However, the nature of a SAN is that it is a shared network. This involves some serious security risks, that should be evaluated when using an iSCSI based SAN. Some vendors consider an iSCSI network save when it is implemented as a dedicated switches network (Dell EqualLogic. Securing storage area networks with iSCSI. EqualLogic Inc., 2008.). They consider it virtually impossible to snoop or inject packets in a switched network. We all know this is not the case. If this is true, why do we use firewalls, ids and tons of other security measures? Even if iSCSI runs on an isolated network, and only the management interface of the storage devices are connected to a shared/general-purpose network, security is just as good as the hosts that are connected to the dedicated network. A single compromised host connected to the dedicated iSCSI network can attack the storage devices to get access to LUNs for other hosts.</p>
<p>When implementing an iSCSI network you should be aware of the security risks that this imposes on the environment. To estimate the risk, awareness of the methods that can be used to secure iSCSI is paramount. The iSCSI protocol allows for the following security measures to prevent unintended or unauthorized access to storage resources:</p>
<ul>
<li>Authorization</li>
<li>Authentication</li>
<li>Encryption</li>
</ul>
<p>Because iSCSI setups are generally shared environments access to the storage elements (LUNs) by unauthorized initiators should be blocked. Authorization is implemented by means of the iQN. The iQN is the initiator node name (iSCSI Qualified Name), this can be seen as a mac-address. During an audit, storage systems must demonstrate controls to ensure that a server under one regime cannot access the storage assets of a server under another.<br />
Typically, iSCSI storage arrays explicitly map initiators to specific target LUNs; an initiator authenticates not to the storage array, but to the specific storage asset it intends to use.</p>
<p>As an added security method, the iSCSI protocol allows initiators and targets to use CHAP to authenticate each other.  This prevents simple access by spoofing the iQN. And last, because iSCSI runs on IP, IPSec can be used to secure and encrypt the data flowing between the client (initiator) and the storage server (target).</p>
<p>Now that we know there are multiple ways to secure access to the storage resouces, you might conclude that iSCSI must be safe and secure to use. Unfortunately this is not evident. There are several flaws in the iSCSI security design:</p>
<ul>
<li>iQN&#8217;s are trusted, but are easy to spoof, sniff and guessed</li>
<li>iSCSI authorization is the only required security method, and this uses only the iQN</li>
<li>Authentication is disabled by default</li>
<li>Authentication is (mostly) only implemented as CHAP</li>
<li>IPSec is difficult to implement</li>
</ul>
<p>Because iQN&#8217;s are manually configured in the iSCSI driver on the client, it is easy to change them. To get access to a LUN that is only protected by a iQN restriction, you can sniff the communication to get the iQN, or guess the iQN as it is often a default string (eg.: iqn.1991-05.com.microsoft.hostname), configure the iscsi driver to use this name and get access to the LUN.</p>
<p>The CHAP protocol is basically the only authentication mechanism that is supported by iSCSI vendors. The protocol allows for other mechanisms like Kerberos. The CHAP protocol is not a protocol know for its strong security on shared networks. The CHAP protocol is vulnerable to dictionary attacks, spoofing, or reflection attacks. Because the security issues with CHAP are well known, the RFC even mentions ways to deal with the limitations of CHAP (<a href="http://tools.ietf.org/html/rfc3720#section-8.2.1">http://tools.ietf.org/html/rfc3720#section-8.2.1</a>).</p>
<p>While IPSec could stop or reduce most of the security issues outlined above, it is hard to implement and manage. Therefor not many administrators will feel the need to use it. It should not only be possible to make a secure network, it should also be made easy.</p>
<p>To reduce the risk, and make your iSCSI network as safe as possible, you should do the following:</p>
<ul>
<li>Enable mutual (incoming/outgoing) authentication</li>
<li>Follow <a href="http://tools.ietf.org/html/rfc3720#section-8.2.1">advice</a> to secure CHAP</li>
<li>Enable CRC checksums</li>
<li>Do not only rely on iQN for authorization</li>
<li>Enable IPSec (if performance allows it)</li>
</ul>
<p>Also vendors/distributors should enable authentication by default, and add other authentication mechanisms to the iSCSI target and initiator software.</p>
<p>References:<br />
<a href="http://www.blackhat.com/presentations/bh-usa-05/bh-us-05-Dwivedi-update.pdf "> http://www.blackhat.com/presentations/bh-usa-05/bh-us-05-Dwivedi-update.pdf</a><br />
<a href="http://en.wikipedia.org/wiki/ISCSI#Authentication"> http://en.wikipedia.org/wiki/ISCSI#Authentication</a><br />
<a href="http://weird-hobbes.nl/reports/iSCSI%20security/"> http://weird-hobbes.nl/reports/iSCSI%20security/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2009/08/13/iscsi-security-how-to-secure-your-lun-best/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
