]> git.piffa.net Git - doc/.git/commitdiff
Aggiunta sui firewall.
authorAndrea Manni <andrea@andreamanni.com>
Thu, 21 May 2009 10:35:11 +0000 (12:35 +0200)
committerAndrea Manni <andrea@andreamanni.com>
Thu, 21 May 2009 10:35:11 +0000 (12:35 +0200)
modified:   servizi.html
modified:   source/servizi.txt

servizi.html
source/servizi.txt

index f0fc4e05c95f28d84c1fc53b668273d38ebc1ae7..196e3149f268f312194828338bce15f654446f2e 100644 (file)
           <tr class="field">
             <th class="field-name">Version:</th>
 
-            <td class="field-body">0.6</td>
+            <td class="field-body">0.7</td>
           </tr>
         </tbody>
       </table>
             "#gestione-regole-rules" id="id83" name=
             "id83">7.8&nbsp;&nbsp;&nbsp;Gestione regole
             (rules)</a></li>
+
+            <li>
+              <a class="reference internal" href=
+              "#salvataggio-regole" id="id84" name=
+              "id84">7.9&nbsp;&nbsp;&nbsp;Salvataggio regole</a>
+
+              <ul class="auto-toc">
+                <li><a class="reference internal" href=
+                "#iptables-save" id="id85" name=
+                "id85">7.9.1&nbsp;&nbsp;&nbsp;Iptables-save</a></li>
+
+                <li><a class="reference internal" href=
+                "#iptables-restore" id="id86" name=
+                "id86">7.9.2&nbsp;&nbsp;&nbsp;Iptables-restore</a></li>
+              </ul>
+            </li>
           </ul>
         </li>
 
-        <li><a class="reference internal" href="#note" id="id84"
-        name="id84">8&nbsp;&nbsp;&nbsp;NOTE</a></li>
+        <li><a class="reference internal" href="#note" id="id87"
+        name="id87">8&nbsp;&nbsp;&nbsp;NOTE</a></li>
       </ul>
     </div>
 
@@ -2684,13 +2700,28 @@ l.google.com.           80856   IN      NS      g.l.google.com.
         resolv.conf per conoscere l'ubicazione del DNS.</p>
 
         <p>/etc/resolv.conf:</p>
-        <pre class="literal-block">
-- ``nameserver``: indica il nameserver da utilizzare, indicato con l'indirizzo ip.
 
-- ``domain``: indica il nome di dominio della rete attuale, vedi voce sucessiva.
+        <blockquote>
+          <ul class="simple">
+            <li><tt class="docutils literal"><span class=
+            "pre">nameserver</span></tt>: indica il nameserver da
+            utilizzare, indicato con l'indirizzo ip.</li>
 
-- ``search``: nome di dominio usato dalla rete sul quale cercare gli hosts. Ad esempio se impostato su ``piffa.net`` pingando l'host ``bender`` viene automaticamente fatto un tentativo di ricerca per ``bender.piffa.net``.
-</pre>
+            <li><tt class="docutils literal"><span class=
+            "pre">domain</span></tt>: indica il nome di dominio
+            della rete attuale, vedi voce sucessiva.</li>
+
+            <li><tt class="docutils literal"><span class=
+            "pre">search</span></tt>: nome di dominio usato dalla
+            rete sul quale cercare gli hosts. Ad esempio se
+            impostato su <tt class="docutils literal"><span class=
+            "pre">piffa.net</span></tt> pingando l'host <tt class=
+            "docutils literal"><span class="pre">bender</span></tt>
+            viene automaticamente fatto un tentativo di ricerca per
+            <tt class="docutils literal"><span class=
+            "pre">bender.piffa.net</span></tt>.</li>
+          </ul>
+        </blockquote>
 
         <p>Si veda anche la pagina man di resolv.conf.</p>
 
@@ -3771,11 +3802,113 @@ at&gt; [CTR+d]
           regole esistenti</dd>
         </dl>
       </div>
+
+      <div class="section" id="salvataggio-regole">
+        <h2><a class="toc-backref" href=
+        "#id84">7.9&nbsp;&nbsp;&nbsp;Salvataggio regole</a></h2>
+
+        <p>Il comando <tt class="docutils literal"><span class=
+        "pre">iptables</span></tt> serve per interagire con il
+        framework <tt class="docutils literal"><span class=
+        "pre">Netfilter</span></tt> ch gestisce il firewall di
+        Linux al livello del kernel. Questo comporta, in modo
+        analogo a quando avvene col comando <tt class=
+        "docutils literal"><span class="pre">ifconfig</span></tt>,
+        che i cambiameti impostati siano in <em>tempo reale,
+        RAM</em>, non persistenti nel sistema: al boot sucessivo
+        del sistema tutto tornera' alle impostazioni di base (in
+        questo caso <em>nulle</em>, con policy di default settate
+        su <tt class="docutils literal"><span class=
+        "pre">ACCEPT</span></tt> per tutto).</p>
+
+        <p>Le varie invocazioni di iptables potrebbero essere
+        richiamate da degli scripts dedicati, ma fortunatamente e'
+        stata predisposta una apposita utility per gestire questi
+        scripts in modo da avere a disposizione un <em>formato
+        standard</em> per il salvataggio e il ripristino delle
+        regole del firewall.</p>
+
+        <p>Altro problema: decidere quando attivare / disattivare
+        queste regole. Utilizzare i <em>runlevels</em> non e' una
+        soluzione adeguata: le regole del firewall sono legate
+        all'attivita' delle schede di rete (e un host con diverse
+        schede di rete puo' attivarle a secondo delle esigenze di
+        routing, partenza di servizi es file_sharing per un
+        back-up...): il sistema operativo Debian permette di legare
+        l'esecuzione di comandi alla attivazione di una device di
+        rete (<tt class="docutils literal"><span class=
+        "pre">up</span></tt>), dopo la sua attivazione (<tt class=
+        "docutils literal"><span class="pre">post-up</span></tt>,
+        utile per devices che richiedono un certo tempo per
+        inizializzarsi: come un tunnel o una connessione punto a
+        punto), prima della sua attivazione (<tt class=
+        "docutils literal"><span class="pre">pre-up</span></tt>).
+        Allo stesso modo sono disponibili eventi analoghi per
+        accompagnare la disattivazione dei device di rete: si veda
+        la pagina man di <tt class="docutils literal"><span class=
+        "pre">interfaces</span></tt>.</p>
+
+        <p>Nel nostro caso avremo per una possibile scheda
+        <tt class="docutils literal"><span class=
+        "pre">eth0</span></tt>:</p>
+
+        <p><tt class="docutils literal"><span class=
+        "pre">/etc/network/interfaces</span></tt></p>
+        <pre class="literal-block">
+iface eth1 inet static
+        up /sbin/iptables-restore /root/firewall/basic_fw
+        # Seguno i soliti parametri della scheda di rete
+        address 10.10.208.21
+</pre>
+
+        <div class="section" id="iptables-save">
+          <h3><a class="toc-backref" href=
+          "#id85">7.9.1&nbsp;&nbsp;&nbsp;Iptables-save</a></h3>
+
+          <p>Per salvare le regole di iptables attualmente presenti
+          nel kernel si usi il comando:</p>
+          <pre class="literal-block">
+# iptables-save &gt;&gt; /root/firewall/basic_fw
+</pre>
+
+          <p>Il contenuto del file dovrebbe essere
+          <em>comprensibile</em>: sostanzialmente sono regole di
+          iptables, senza il comando iptables ripetuto, suddivisi
+          per le varie tabelle. Potete comunque correggere
+          eventuali parametri con un edito di testo.</p>
+
+          <p>Se non avete un'idea migliore potreste voler tenere
+          gli script dei firewall in una cartella <tt class=
+          "docutils literal"><span class=
+          "pre">~/firewall</span></tt> nella home directory
+          dell'utente <tt class="docutils literal"><span class=
+          "pre">root</span></tt>.</p>
+        </div>
+
+        <div class="section" id="iptables-restore">
+          <h3><a class="toc-backref" href=
+          "#id86">7.9.2&nbsp;&nbsp;&nbsp;Iptables-restore</a></h3>
+
+          <p>Per ripristinare un set di regole prcedentemente
+          salvate con <tt class="docutils literal"><span class=
+          "pre">iptables-save</span></tt> si utilizzi <tt class=
+          "docutils literal"><span class=
+          "pre">iptables-restore</span></tt>. Se questo deve essere
+          fatto in modalita' <em>non interattiva</em>, ad esempio
+          deve essere eseguito dal demone che si occupa di
+          inizializzare le schede di rete, oppure un <em>cron</em>
+          o altro, e' buona norma richiamare i percorsi completi
+          sia dei comandi che dei file:</p>
+          <pre class="literal-block">
+/sbin/iptables-restore /root/firewall/basic_fw
+</pre>
+        </div>
+      </div>
     </div>
 
     <div class="section" id="note">
       <h1><a class="toc-backref" href=
-      "#id84">8&nbsp;&nbsp;&nbsp;NOTE</a></h1>
+      "#id87">8&nbsp;&nbsp;&nbsp;NOTE</a></h1>
 
       <ul class="simple">
         <li>controllare apache</li>
index 61658b465e6ab4db5b58a932e502ab647e253a6d..b980156957dec0278519ec6e59d3e5b5d7767941 100644 (file)
@@ -7,7 +7,7 @@ Appunti sulla installazione e configurazione dei servizi
 
   :Author: Andrea Manni
   :Copyright: GFDL
-  :Version: 0.6
+  :Version: 0.7
 
 Questa guida e' dedicata agli studenti delle lezioni di informatica tenute da Andrea nel lab208. Nella parte iniziale sono presenti alcuni richiami alle impostazioni di rete e di installazione del laboratorio 208 (lab208) dove generalmente si tengono le lezioni. Questi parametri non sono interessanti per chiunque si trovasse al di fuori della rete piffa.net .
 
@@ -488,7 +488,8 @@ Con la release 2.0 di Apache viene automaticamente resa disponibile anche la ver
 Configurazione di Apache
 ----------------------------
 
-I file di configurazione di apache si trovano nella cartella: ``/etc/apache2`` e sono strutturati come descritto nel file ``/usr/share/doc/apache2/README.Debian.gz`` . Sostanzialmente lo schema e' il seguente:
+I file di configurazione di apache si trovano nella cartella: ``/etc/apache2`` e sono strutturati come descritto nel file 
+``/usr/share/doc/apache2/README.Debian.gz`` . Sostanzialmente lo schema e' il seguente:
 
 apache2.conf
          File di configurazione principale del servizio.
@@ -975,7 +976,7 @@ resolv.conf
 
 Il file ``/etc/resolv.conf`` contiene le impostazioni sul dns usato dal sistema, in genere anche altre applicazioni che devono effettuare query DNS leggono resolv.conf per conoscere l'ubicazione del DNS.
 
-/etc/resolv.conf::
+/etc/resolv.conf:
 
        - ``nameserver``: indica il nameserver da utilizzare, indicato con l'indirizzo ip.
 
@@ -1477,6 +1478,44 @@ iptables -L -n -v
 
 
 
+Salvataggio regole
+----------------------
+
+Il comando ``iptables`` serve per interagire con il framework ``Netfilter`` ch gestisce il firewall di Linux al livello del kernel. Questo comporta, in modo analogo a quando avvene col comando ``ifconfig``, che i cambiameti impostati siano in *tempo reale, RAM*, non persistenti nel sistema: al boot sucessivo del sistema tutto tornera' alle impostazioni di base (in questo caso *nulle*, con policy di default settate su ``ACCEPT`` per tutto).
+
+Le varie invocazioni di iptables potrebbero essere richiamate da degli scripts dedicati, ma fortunatamente e' stata predisposta una apposita utility per gestire questi scripts in modo da avere a disposizione un *formato standard* per il salvataggio e il ripristino delle regole del firewall.
+
+Altro problema: decidere quando attivare / disattivare queste regole. Utilizzare i *runlevels* non e' una soluzione adeguata: le regole del firewall sono legate all'attivita' delle schede di rete (e un host con diverse schede di rete puo' attivarle a secondo delle esigenze di routing, partenza di servizi es file_sharing per un back-up...): il sistema operativo Debian permette di legare l'esecuzione di comandi alla attivazione di una device di rete (``up``), dopo la sua attivazione (``post-up``, utile per devices che richiedono un certo tempo per inizializzarsi: come un tunnel o una connessione punto a punto), prima della sua attivazione (``pre-up``). Allo stesso modo sono disponibili eventi analoghi per accompagnare la disattivazione dei device di rete: si veda la pagina man di ``interfaces``.
+
+Nel nostro caso avremo per una possibile scheda ``eth0``:
+
+``/etc/network/interfaces`` ::
+               
+       iface eth1 inet static
+               up /sbin/iptables-restore /root/firewall/basic_fw
+                # Seguno i soliti parametri della scheda di rete
+               address 10.10.208.21 
+
+Iptables-save
+~~~~~~~~~~~~~~~
+
+Per salvare le regole di iptables attualmente presenti nel kernel si usi il comando::
+
+        # iptables-save >> /root/firewall/basic_fw
+
+Il contenuto del file dovrebbe essere *comprensibile*: sostanzialmente sono regole di iptables, senza il comando iptables ripetuto, suddivisi per le varie tabelle. Potete comunque correggere eventuali parametri con un edito di testo.
+
+
+Se non avete un'idea migliore potreste voler tenere gli script dei firewall in una cartella ``~/firewall`` nella home directory dell'utente ``root``.
+
+Iptables-restore
+~~~~~~~~~~~~~~~~~~~~
+
+Per ripristinare un set di regole prcedentemente salvate con ``iptables-save`` si utilizzi ``iptables-restore``. Se questo deve essere fatto in modalita' *non interattiva*, ad esempio deve essere eseguito dal demone che si occupa di inizializzare le schede di rete, oppure un *cron* o altro, e' buona norma richiamare i percorsi completi sia dei comandi che dei file::
+        
+                /sbin/iptables-restore /root/firewall/basic_fw
+
 
 NOTE
 ========