"id90">8.9.2 Iptables-restore</a></li>
</ul>
</li>
+
+ <li>
+ <a class="reference internal" href="#esempi" id=
+ "id91" name="id91">8.10 Esempi</a>
+
+ <ul class="auto-toc">
+ <li><a class="reference internal" href=
+ "#bloccare-i-ping-dall-esterno" id="id92" name=
+ "id92">8.10.1 Bloccare i ping
+ dall'esterno</a></li>
+
+ <li><a class="reference internal" href=
+ "#masquerading-snat" id="id93" name=
+ "id93">8.10.2 Masquerading
+ (sNAT)</a></li>
+
+ <li><a class="reference internal" href=
+ "#brute-force" id="id94" name=
+ "id94">8.10.3 Brute force</a></li>
+ </ul>
+ </li>
</ul>
</li>
- <li><a class="reference internal" href="#note" id="id91"
- name="id91">9 NOTE</a></li>
+ <li><a class="reference internal" href="#note" id="id95"
+ name="id95">9 NOTE</a></li>
</ul>
</div>
iface etho inet static
# esempio con dhcp
# iface etho inet dhcp
-address 212.22.136.101
+address 10.10.208.101
netmask 255.255.255.0
-network 212.22.136.0
-broadcast 212.22.136.255
-gateway 212.22.136.254
+network 10.10.208.0
+broadcast 10.10.208.255
+gateway 10.10.208.254
# Quali interfaccie devono partire automaticamente:
auto lo eth0
</pre>
</div>
</div>
+
+ <div class="section" id="esempi">
+ <h2><a class="toc-backref" href=
+ "#id91">8.10 Esempi</a></h2>
+
+ <p>Seguono alcuni esempi sull'uso di iptables, lo scenario
+ e' un computer con un paio di schede di rete fisiche una
+ delle quali collegata alla rete internet l'altra a una rete
+ privata per la LAN interna.</p>
+
+ <blockquote>
+ <ol class="arabic simple">
+ <li><tt class="docutils literal"><span class=
+ "pre">eth0</span></tt> scheda di rete principale sulla
+ rete privata interna 192.168.0.0/24</li>
+
+ <li><tt class="docutils literal"><span class=
+ "pre">eth1</span></tt> scheda di rete secondaria per la
+ connessione ad internet</li>
+
+ <li><tt class="docutils literal"><span class=
+ "pre">ppp0</span></tt> punto-a-punto per una
+ connessione ad internet</li>
+ </ol>
+ </blockquote>
+
+ <div class="section" id="bloccare-i-ping-dall-esterno">
+ <h3><a class="toc-backref" href=
+ "#id92">8.10.1 Bloccare i ping
+ dall'esterno</a></h3>
+
+ <p>Spesso gli script che attaccano
+ <em>automaticamente</em> le varie reti provano a fare un
+ ping per verificare quali IP sono on-line: bloccare il
+ traffico <tt class="docutils literal"><span class=
+ "pre">ICMP</span></tt> in ingresso puo' aiutare ad
+ evitare parte di questi attacchi:</p>
+ <pre class="literal-block">
+iptables -A INPUT -i ppp0 -p ICMP -j DROP
+</pre>
+ </div>
+
+ <div class="section" id="masquerading-snat">
+ <h3><a class="toc-backref" href=
+ "#id93">8.10.2 Masquerading
+ (sNAT)</a></h3>
+
+ <dl class="docutils">
+ <dt>Per attivare la network address translation (in
+ questo caso un SNAT) per la rete locale privata
+ sull'indirizzo ip del <em>modem</em>::</dt>
+
+ <dd>iptables -A POSTROUTING -s
+ 192.168.0.0/255.255.255.0 -o ppp0 -j MASQUERADE</dd>
+ </dl>
+
+ <p>Il <em>Masquerading</em> a differenza dello
+ <em>SNAT</em> puro (<tt class=
+ "docutils literal"><span class="pre">-j</span>
+ <span class="pre">SNAT</span> <span class=
+ "pre">--to-source</span> <span class=
+ "pre">propio_ip_pubblico</span> <span class=
+ "pre">)</span> <span class="pre">legge</span>
+ <span class="pre">l'indirizzo</span> <span class=
+ "pre">ip</span> <span class="pre">del</span> <span class=
+ "pre">device</span> <span class="pre">``ppp0</span></tt>.
+ In questo modo se l'IP cambia automaticamente si aggiorna
+ anche il source natting. Se avete un indirizzo IP statico
+ assegnato al vostro gateway potete invece usare lo SNAT
+ semplice.</p>
+ </div>
+
+ <div class="section" id="brute-force">
+ <h3><a class="toc-backref" href=
+ "#id94">8.10.3 Brute force</a></h3>
+
+ <dl class="docutils">
+ <dt>Per limitare attacchi di tipo brute force su
+ SSH::</dt>
+
+ <dd>
+ <p class="first">iptables -A INPUT -i ppp0 -p tcp -m
+ tcp --dport 22 -m state --state NEW -m recent
+ --update --seconds 3000 --hitcount 4 --name DEFAULT
+ --rsource -j DROP</p>
+
+ <p class="last">iptables -A INPUT -i ppp0 -p tcp -m
+ tcp --dport 22 -m state --state NEW -m recent --set
+ --name DEFAULT --rsource</p>
+ </dd>
+ </dl>
+ </div>
+ </div>
</div>
<div class="section" id="note">
<h1><a class="toc-backref" href=
- "#id91">9 NOTE</a></h1>
+ "#id95">9 NOTE</a></h1>
<ul class="simple">
<li>controllare apache</li>
iface etho inet static
# esempio con dhcp
# iface etho inet dhcp
- address 212.22.136.101
+ address 10.10.208.101
netmask 255.255.255.0
- network 212.22.136.0
- broadcast 212.22.136.255
- gateway 212.22.136.254
+ network 10.10.208.0
+ broadcast 10.10.208.255
+ gateway 10.10.208.254
# Quali interfaccie devono partire automaticamente:
auto lo eth0
/sbin/iptables-restore /root/firewall/basic_fw
+Esempi
+-------------
+
+Seguono alcuni esempi sull'uso di iptables, lo scenario e' un computer con un paio di schede di rete fisiche una delle quali collegata alla rete internet l'altra a una rete privata per la LAN interna.
+
+ 1. ``eth0`` scheda di rete principale sulla rete privata interna 192.168.0.0/24
+
+ 2. ``eth1`` scheda di rete secondaria per la connessione ad internet
+
+ 3. ``ppp0`` punto-a-punto per una connessione ad internet
+
+Bloccare i ping dall'esterno
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Spesso gli script che attaccano *automaticamente* le varie reti provano a fare un ping per verificare quali IP sono on-line: bloccare il traffico ``ICMP`` in ingresso puo' aiutare ad evitare parte di questi attacchi::
+
+ iptables -A INPUT -i ppp0 -p ICMP -j DROP
+
+Masquerading (sNAT)
+~~~~~~~~~~~~~~~~~~~~
+
+Per attivare la network address translation (in questo caso un SNAT) per la rete locale privata sull'indirizzo ip del *modem*::
+ iptables -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o ppp0 -j MASQUERADE
+
+Il *Masquerading* a differenza dello *SNAT* puro (``-j SNAT --to-source propio_ip_pubblico ) legge l'indirizzo ip del device ``ppp0``. In questo modo se l'IP cambia automaticamente si aggiorna anche il source natting. Se avete un indirizzo IP statico assegnato al vostro gateway potete invece usare lo SNAT semplice.
+
+
+Brute force
+~~~~~~~~~~~~
+
+Per limitare attacchi di tipo brute force su SSH::
+ iptables -A INPUT -i ppp0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 3000 --hitcount 4 --name DEFAULT --rsource -j DROP
+
+ iptables -A INPUT -i ppp0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
+
+
+
NOTE
========