<?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"
	>

<channel>
	<title>RemoteRoot</title>
	<atom:link href="http://www.remoteroot.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.remoteroot.net</link>
	<description>The wired world</description>
	<pubDate>Wed, 11 Jun 2008 12:52:04 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>The lighter side of every problem&#8230;Debian OpenSSL</title>
		<link>http://www.remoteroot.net/2008/05/18/the-lighter-side-of-every-problemdebian-openssl/</link>
		<comments>http://www.remoteroot.net/2008/05/18/the-lighter-side-of-every-problemdebian-openssl/#comments</comments>
		<pubDate>Sun, 18 May 2008 17:48:26 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
		
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.remoteroot.net/?p=30</guid>
		<description><![CDATA[In the aftermath of the Debian SSH Keys issue, at least there&#8217;s a lighter side&#8230;

There&#8217;s some good analysis, predictable PRNG toys and more funny pictures from HD Moore.
]]></description>
			<content:encoded><![CDATA[<p>In the aftermath of the Debian SSH Keys <a title="Debian Security Advisory" href="http://www.debian.org/security/2008/dsa-1571" target="_blank">issue</a>, at least there&#8217;s a lighter side&#8230;</p>
<p><a title="xkcd - A webcomic of romance, sarcasm, math, and language - By Randall Munroe" href="http://www.xkcd.com" target="_blank"><img src="http://imgs.xkcd.com/comics/security_holes.png" alt="xkcd - Security Holes" width="493" height="527" /></a></p>
<p>There&#8217;s some good analysis, <a title="HD Moore - PRNG Toys and Debian OpenSSL" href="http://metasploit.com/users/hdm/tools/debian-openssl/" target="_blank">predictable PRNG toys</a> and more funny pictures from HD Moore.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.remoteroot.net/2008/05/18/the-lighter-side-of-every-problemdebian-openssl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Metasploit Auxiliary Simple HTTP Get and Post</title>
		<link>http://www.remoteroot.net/2008/02/28/metasploit-auxiliary-simple-http-get-and-post/</link>
		<comments>http://www.remoteroot.net/2008/02/28/metasploit-auxiliary-simple-http-get-and-post/#comments</comments>
		<pubDate>Thu, 28 Feb 2008 22:33:07 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
		
		<category><![CDATA[Security]]></category>

		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.remoteroot.net/2008/02/28/metasploit-auxiliary-simple-http-get-and-post/</guid>
		<description><![CDATA[This auxiliary module for Metasploit does a simple HTTP GET or POST and returns the result, be it a file and error - whatever!
Get it here: Metasploit Simple HTTP
Rename the file to .rb and install in the aux directory of your Metasploit installation.
If you need a PUT example, Carnal0wnage has a good module on his [...]]]></description>
			<content:encoded><![CDATA[<p>This auxiliary module for Metasploit does a simple HTTP GET or POST and returns the result, be it a file and error - whatever!</p>
<p>Get it here: <a href="http://www.remoteroot.net/wp-content/uploads/2008/02/http_getrb.txt">Metasploit Simple HTTP</a></p>
<p>Rename the file to .rb and install in the aux directory of your Metasploit installation.</p>
<p>If you need a PUT example, <a href="http://carnal0wnage.blogspot.com/2007/10/metasploit-http-options-aux-module.html">Carnal0wnage</a> has a good module on his blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.remoteroot.net/2008/02/28/metasploit-auxiliary-simple-http-get-and-post/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Paros User-Agent Removal</title>
		<link>http://www.remoteroot.net/2008/02/28/paros-user-agent/</link>
		<comments>http://www.remoteroot.net/2008/02/28/paros-user-agent/#comments</comments>
		<pubDate>Thu, 28 Feb 2008 20:10:00 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
		
		<category><![CDATA[Security]]></category>

		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.remoteroot.net/2008/02/28/paros-user-agent/</guid>
		<description><![CDATA[Paros is a great little tool, however it can leave traces of its use due to an altered User-Agent header. (Adding Paros/x.x.x at the end of the UA, where x is the version). This can lead to problems some of which, including this fix, are detailed at Security Ripcord and Armor.
To remove this download the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.parosproxy.org/" title="Paros Web Application Security Proxy">Paros</a> is a great little tool, however it can leave traces of its use due to an altered User-Agent header. (Adding Paros/x.x.x at the end of the UA, where x is the version). This can lead to problems some of which, including this fix, are detailed at <a href="http://www.cutawaysecurity.com/blog/archives/category/paros-proxy">Security Ripcord</a> and <a href="http://pal-armor.blogspot.com/2007/10/calling-user-agent-blocking-bluff.html">Armor</a>.</p>
<p>To remove this download the source and edit line 80 of Constant.java from</p>
<blockquote><p>public static final String USER_AGENT = PROGRAM_NAME + &#8220;/&#8221; + PROGRAM_VERSION;</p></blockquote>
<p>to</p>
<blockquote><p>public static final String USER_AGENT = &#8220;&#8221;;</p></blockquote>
<p>and recompile.</p>
<p>This should remove the obvious traces!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.remoteroot.net/2008/02/28/paros-user-agent/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PinSentry, same old problems?</title>
		<link>http://www.remoteroot.net/2007/12/23/pinsentry-same-old-problems/</link>
		<comments>http://www.remoteroot.net/2007/12/23/pinsentry-same-old-problems/#comments</comments>
		<pubDate>Sun, 23 Dec 2007 14:19:23 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
		
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.remoteroot.net/2007/12/23/pinsentry-same-old-problems/</guid>
		<description><![CDATA[I received my PinSentry from a certain UK High Street bank today, and so far I don&#8217;t see where it&#8217;s going. This device, produced by Gemalto (http://www.gemalto.com//press/archives/2007/04-18-2007-Barclays.pdf) allows two factor authentication using a customers &#8216;Chip and Pin&#8217; card.
This doesn&#8217;t really change anything as the numbers generated by the device (at least in identify mode) can [...]]]></description>
			<content:encoded><![CDATA[<p>I received my PinSentry from a certain UK High Street bank today, and so far I don&#8217;t see where it&#8217;s going. This device, produced by Gemalto (<a href="http://www.gemalto.com//press/archives/2007/04-18-2007-Barclays.pdf" title="Gemalto Pinsentry">http://www.gemalto.com//press/archives/2007/04-18-2007-Barclays.pdf</a>) allows two factor authentication using a customers &#8216;Chip and Pin&#8217; card.</p>
<p>This doesn&#8217;t really change anything as the numbers generated by the device (at least in identify mode) can be created one by one offline, written down and then later used sequentially. I&#8217;ve seen enough people with pin numbers on Post-It&#8217;s attached to their cards to know that it won&#8217;t be long before the notes also contains PinSentry numbers. <a href="http://faultyflipper.co.uk/?p=43" title="FaultyFlipper on PinSentry">FaultyFlipper</a> has some good discussion of peoples feelings towards the devices as well as the reasons it may have been introduced.</p>
<p>I&#8217;ve had a quick look at the numbers generated, and they seem to follow a sequential pattern of random increments. A very quick phase-space analysis of one hundred numbers from the device shows no discernable patterns, but more numbers are needed to carry this out thoroughly.</p>
<p>If anyone is interested in sample output from the device, I can supply the numbers I have used for testing. Likewise if you&#8217;d like to supply me with some numbers (and not any personal details) let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.remoteroot.net/2007/12/23/pinsentry-same-old-problems/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Reading Facebook E-Mail Image Capcha&#8217;s</title>
		<link>http://www.remoteroot.net/2007/11/17/reading-facebook-e-mail-image-capchas/</link>
		<comments>http://www.remoteroot.net/2007/11/17/reading-facebook-e-mail-image-capchas/#comments</comments>
		<pubDate>Sat, 17 Nov 2007 22:40:32 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
		
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.remoteroot.net/2007/11/17/reading-facebook-e-mail-image-capchas/</guid>
		<description><![CDATA[Facebook stops automatic e-mail harvesting, by saving each e-mail address on a profile as an image. It is possible to read some of the images with a certain level of acuracy, but the effort required just isn&#8217;t worth using OCR alone.
Using some fuzzy matching, its possible to get a rough list of addresses for a [...]]]></description>
			<content:encoded><![CDATA[<p>Facebook stops automatic e-mail harvesting, by saving each e-mail address on a profile as an image. It is possible to read some of the images with a certain level of acuracy, but the effort required just isn&#8217;t worth using OCR alone.</p>
<p>Using some fuzzy matching, its possible to get a rough list of addresses for a domain, but manual verification is needed for each address found.</p>
<p>The scripts below can be used to train GOCR on facebook images, and can then attempt to pick addresses matching a certain domain from a directory of images.</p>
<p>The scripts are <a href="http://www.remoteroot.net/wp-content/uploads/2008/02/ocr-fb-trainpl.txt" title="Facebook E-mail Image OCR - Training Script.">Training Script here</a> and  <a href="http://www.remoteroot.net/wp-content/uploads/2008/02/ocr-fbpl.txt" title="Facebook E-mail Image OCR - Matching Script."> Matching Script here</a>. You&#8217;ll need <a href="http://jocr.sourceforge.net/">GOCR</a> installed, <a href="http://search.cpan.org/dist/String-Approx/">String::Approx</a>, and the ability to ignore silly Perl.</p>
<p>First download a selection of Facebook E-Mail images, we&#8217;ll use these with the training script to give GOCR something to go on.</p>
<p>Then run the matching script on the images you wish to convert, it&#8217;ll do some fuzzy matching if you give it  domain to look for.</p>
<p>If I can improve this, I&#8217;ll try and automate it all a little more and work out some stats.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.remoteroot.net/2007/11/17/reading-facebook-e-mail-image-capchas/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IPv6 Tunnel from SiXX&#8217;s on WRT54G/DD-WRT</title>
		<link>http://www.remoteroot.net/2007/07/28/ipv6-tunnel-from-sixxs-on-wrt54gdd-wrt/</link>
		<comments>http://www.remoteroot.net/2007/07/28/ipv6-tunnel-from-sixxs-on-wrt54gdd-wrt/#comments</comments>
		<pubDate>Sat, 28 Jul 2007 22:53:44 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
		
		<category><![CDATA[Network]]></category>

		<guid isPermaLink="false">http://www.remoteroot.net/2007/07/28/ipv6-tunnel-from-sixxs-on-wrt54gdd-wrt/</guid>
		<description><![CDATA[A Linksys WRT54G provides a cheap and easy linux platform in a small package. I use the DD-WRT firmware available from www.dd-wrt.com. It also provides an easy way of enabling IPv6 access to your network
To enable IPv6 you first need to create an account with a tunnel provider such as SiXXs. A guide to doing [...]]]></description>
			<content:encoded><![CDATA[<p>A Linksys WRT54G provides a cheap and easy linux platform in a small package. I use the DD-WRT firmware available from <a href="http://www.dd-wrt.com/">www.dd-wrt.com</a>. It also provides an easy way of enabling IPv6 access to your network</p>
<p>To enable IPv6 you first need to create an account with a tunnel provider such as <a href="http://www.sixxs.net">SiXXs</a>. A guide to doing this can be found at <a href="http://www.sixxs.net/faq/account/?faq=10steps">the Sixxs site</a>. This gives you a remote endpoint for your IPv6 in IPv4 tunnel.</p>
<p>Once the account is setup enable IPv6 on the router via the &#8220;IPv6 Support&#8221; option under Administration, and then the Management tab.</p>
<p>The following script added to the routers startup config will start the tunnel when the router is rebooted.</p>
<blockquote>
<p class="code">ip tunnel add sixxs mode sit local aaa.aaa.aaa.aaa remote bbb.bbb.bbb.bbb<br />
ip link set sixxs up<br />
ip link set mtu 1280 dev sixxs<br />
ip tunnel change sixxs ttl 64<br />
ip -6 addr add 2051:4bd1:2002:9b::2/64 dev sixxs<br />
ip -6 ro add default via 2001:4bd0:2000:9b::1 dev sixxs</p>
<p>aaa.aaa.aaa.aaa - A local, externally accesible IPv4 address.<br />
bbb.bbb.bbb.bbb - The IPv4 address of the pop to connect to.</p>
<p>2051:4bd1:2002:9b::2/64 - Local IPv6 address.<br />
2051:4bd1:2002:9b::1/64 - Remote IPv6 address.</p></blockquote>
<p>Once the tunnel has been working for a week. SiXXs will allow you to assign a subnet to it that you can distribute using Radvd.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.remoteroot.net/2007/07/28/ipv6-tunnel-from-sixxs-on-wrt54gdd-wrt/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Where-Fi Alpha</title>
		<link>http://www.remoteroot.net/2007/07/26/where-fi-alpha/</link>
		<comments>http://www.remoteroot.net/2007/07/26/where-fi-alpha/#comments</comments>
		<pubDate>Thu, 26 Jul 2007 11:25:02 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
		
		<category><![CDATA[Where-Fi]]></category>

		<guid isPermaLink="false">http://www.remoteroot.net/2007/07/26/where-fi-alpha/</guid>
		<description><![CDATA[The Where-Fi data has been uploaded, and a pre-alpha, version is available at http://www.remoteroot.net/wifi.
You&#8217;ve been warned, its buggy.
More updates soon.
]]></description>
			<content:encoded><![CDATA[<p>The Where-Fi data has been uploaded, and a pre-alpha, version is available at http://www.remoteroot.net/wifi.</p>
<p>You&#8217;ve been warned, its buggy.</p>
<p>More updates soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.remoteroot.net/2007/07/26/where-fi-alpha/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Where-fi</title>
		<link>http://www.remoteroot.net/2007/07/19/where-fi/</link>
		<comments>http://www.remoteroot.net/2007/07/19/where-fi/#comments</comments>
		<pubDate>Thu, 19 Jul 2007 14:00:56 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
		
		<category><![CDATA[Projects]]></category>

		<category><![CDATA[Where-Fi]]></category>

		<guid isPermaLink="false">http://www.remoteroot.net/2007/07/19/where-fi/</guid>
		<description><![CDATA[We&#8217;ve been gathering more data for the Where-fi service, in under three hours of driving around a sub-section of Reading we have 2000 plus access points.
This broke the architecture we had for displaying them, so it&#8217;s currently down.
]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been gathering more data for the Where-fi service, in under three hours of driving around a sub-section of Reading we have 2000 plus access points.</p>
<p>This broke the architecture we had for displaying them, so it&#8217;s currently down.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.remoteroot.net/2007/07/19/where-fi/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1 - 1 NAT with Dynamic NAPT on a Linksys WRT54G</title>
		<link>http://www.remoteroot.net/2007/07/18/1-1-nat-with-dynamic-napt-on-a-linksys-wrt54g/</link>
		<comments>http://www.remoteroot.net/2007/07/18/1-1-nat-with-dynamic-napt-on-a-linksys-wrt54g/#comments</comments>
		<pubDate>Wed, 18 Jul 2007 17:55:13 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
		
		<category><![CDATA[Firewall]]></category>

		<category><![CDATA[Network]]></category>

		<guid isPermaLink="false">http://www.remoteroot.net/2007/07/18/1-1-nat-with-dynamic-napt-on-a-linksys-wrt54g/</guid>
		<description><![CDATA[A Linksys WRT54G provides a cheap and easy Linux platform in a small physical package. I use the DD-WRT firmware available from www.dd-wrt.com.
Dynamic Network Address Translation maps several internal addresses to a single external address. All connections appear to come from that address. It is desirable sometimes to have static NAT where several external addresses [...]]]></description>
			<content:encoded><![CDATA[<p>A Linksys WRT54G provides a cheap and easy Linux platform in a small physical package. I use the DD-WRT firmware available from www.dd-wrt.com.</p>
<p>Dynamic Network Address Translation maps several internal addresses to a single external address. All connections appear to come from that address. It is desirable sometimes to have static NAT where several external addresses that are forwarded to internal hosts.</p>
<blockquote><p>For example:</p>
<p>195.167.182.123 -&gt; 10.0.0.1<br />
195.167.182.124 -&gt; 10.0.0.2<br />
195.167.182.125 -&gt; 10.0.0.x</p></blockquote>
<p>It may be useful to have a &#8220;catch all&#8221; address that other addresses can be translated to, this is shown in the last line of the example above.</p>
<p>Firstly add the external aliases to the external interface of the WRT54G, which is vlan1.</p>
<blockquote><p>ifconfig vlan1:1 195.167.182.124 netmask 255.255.255.248 broadcast 195.167.182.127<br />
ifconfig vlan1:2 195.167.182.125 netmask 255.255.255.248 broadcast 195.167.182.127</p></blockquote>
<p>The catch all address is already specified as the routers external address.</p>
<p>The following IPTables commands will add NAT for these addresses, and ensure all other traffic is translated to the main address.</p>
<blockquote><p># Default accept all.<br />
iptables -P OUTPUT ACCEPT<br />
iptables -P INPUT ACCEPT<br />
iptables -P FORWARD ACCEPT</p>
<p># Clear all chains.<br />
cat /proc/net/ip_tables_names | while read table; do<br />
iptables -t $table -L -n | while read c chain rest; do<br />
if test &#8220;X$c&#8221; = &#8220;XChain&#8221; ; then<br />
iptables -t $table -F $chain<br />
fi<br />
done<br />
iptables -t $table -X<br />
done</p>
<p># Reset counters.<br />
iptables -Z</p>
<p># Allow new connections, to and from the router.<br />
iptables -A INPUT -i lo -m state &#8211;state NEW -j ACCEPT<br />
iptables -A OUTPUT -o lo -m state &#8211;state NEW -j ACCEPT<br />
# Allow established and related connections.<br />
iptables -A INPUT -m state &#8211;state ESTABLISHED,RELATED -j ACCEPT<br />
iptables -A OUTPUT -m state &#8211;state ESTABLISHED,RELATED -j ACCEPT<br />
iptables -A FORWARD -m state &#8211;state ESTABLISHED,RELATED -j ACCEPT</p>
<p># Nat mapping for 195.167.182.123 -&gt; 10.0.0.1<br />
iptables -t nat -I PREROUTING -i vlan1 -d 195.167.182.123 -j DNAT &#8211;to-destination 10.0.0.1<br />
iptables -t nat -I POSTROUTING -o vlan1 -s 10.0.0.1 -j SNAT &#8211;to-source 195.167.182.123</p>
<p># Nat mapping for 195.167.182.124 -&gt; 10.0.0.2<br />
iptables -t nat -I PREROUTING -i vlan1 -d 195.167.182.1241 -j DNAT &#8211;to-destination 10.0.0.2<br />
iptables -t nat -I POSTROUTING -o vlan1 -s 10.0.0.2 -j SNAT &#8211;to-source 195.167.182.124</p>
<p># NAT all other connections.<br />
iptables -t nat -A POSTROUTING -o vlan1 -s 10.0.0.0/24 -j MASQUERADE</p>
<p># Fix mss.<br />
iptables -t mangle -A POSTROUTING -p tcp &#8211;tcp-flags SYN,RST SYN -m tcpmss &#8211;mss 1421:65535 -j TCPMSS &#8211;clamp-ms</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.remoteroot.net/2007/07/18/1-1-nat-with-dynamic-napt-on-a-linksys-wrt54g/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Multiple Chains for IPTables Efficiency</title>
		<link>http://www.remoteroot.net/2007/07/18/10/</link>
		<comments>http://www.remoteroot.net/2007/07/18/10/#comments</comments>
		<pubDate>Wed, 18 Jul 2007 17:46:53 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
		
		<category><![CDATA[Firewall]]></category>

		<category><![CDATA[Network]]></category>

		<guid isPermaLink="false">http://www.remoteroot.net/2007/07/18/10/</guid>
		<description><![CDATA[IPTables is very efficient with a small to medium number of rules, once the number of rules increases, packet latency can increase across the firewall interfaces, as every new connection has to be checked against every rule.
Using custom chains within IPTables, can improve the efficiency and overall throughput of the firewall.
A good firewall design is [...]]]></description>
			<content:encoded><![CDATA[<p>IPTables is very efficient with a small to medium number of rules, once the number of rules increases, packet latency can increase across the firewall interfaces, as every new connection has to be checked against every rule.</p>
<p>Using custom chains within IPTables, can improve the efficiency and overall throughput of the firewall.</p>
<p>A good firewall design is important! Using the principle of Block All, Allow Some</p>
<p>As well as the standard INPUT, FORWARD and OUTPUT chains in IPTables it is very useful to add your own. Custom chains also allow selective tracking and logging of traffic flows.</p>
<blockquote><p>For example:<br />
# Make a new chain called &#8220;dropandlog&#8221;<br />
iptables -N dropandlog</p>
<p># Configure the chain.</p>
<p># Limit how many log entries to make, and log.<br />
iptables -A dropandlog -m limit &#8211;limit 15/minute -j LOG &#8211;log-prefix Firewall:</p>
<p># Drop the packets passed to this chain.<br />
iptables -A dropandlog -j DROP</p></blockquote>
<p>Now any rules which have a jump (-j) target of dropandlog will pass the matched traffic to the chain.</p>
<blockquote><p>For example:</p>
<p>iptables -A INPUT -p tcp &#8211;dport 22 -j dropandlog</p></blockquote>
<p>This rule sends any packets on the default ssh port, coming in on the input chain to the chain dropandlog. They will be shown in the logfile with the prefix &#8220;Firewall:&#8221;.</p>
<p>Using separate chains cuts down the amount of rules traffic has to pass through and so improves firewall efficiency.</p>
<blockquote><p>For example the following script:</p>
<p>iptables -A INPUT -p tcp ! &#8211;syn -m state &#8211;state NEW -j drop</p>
<p>iptables -A INPUT -p tcp &#8211;tcp-flags ALL FIN,URG,PSH -j drop<br />
iptables -A INPUT -p tcp &#8211;tcp-flags ALL ALL -j drop<br />
iptables -A INPUT -p tcp &#8211;tcp-flags ALL NONE -j drop<br />
iptables -A INPUT -p tcp &#8211;tcp-flags SYN,RST SYN,RST -j drop<br />
iptables -A INPUT -p tcp &#8211;tcp-flags SYN,FIN SYN,FIN -j drop</p>
<p>These rules only match TCP traffic. However all UDP and ICMP traffic will also be forced to go through each rule, slowing them down. It is much more efficient therefore to refactor this to use protocol specific chains.</p>
<p>#New chain tcpfilter.<br />
iptables -N tcpfilter</p>
<p># Rules for chain tcpfilter.<br />
iptables -A tcpfilter -p tcp ! &#8211;syn -m state &#8211;state NEW -j drop<br />
iptables -A tcpfilter -p tcp &#8211;tcp-flags ALL FIN,URG,PSH -j drop<br />
iptables -A tcpfilter -p tcp &#8211;tcp-flags ALL ALL -j drop<br />
iptables -A tcpfilter -p tcp &#8211;tcp-flags ALL NONE -j drop<br />
iptables -A tcpfilter -p tcp &#8211;tcp-flags SYN,RST SYN,RST -j drop<br />
iptables -A tcpfilter -p tcp &#8211;tcp-flags SYN,FIN SYN,FIN -j drop</p>
<p># Redirect all tcp traffic to tcpfilter<br />
iptables -A INPUT -p tcp -j tcpfilter</p></blockquote>
<p>This type of chain can be replicated for each protocol, or for different traffic Each traffic type can then make its way through the firewall, in the most efficient way possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.remoteroot.net/2007/07/18/10/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
