1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
6 <meta name="generator" content=
7 "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
8 <meta http-equiv="Content-Type" content=
9 "text/html; charset=iso-8859-1">
10 <meta name="generator" content=
11 "Docutils 0.5: http://docutils.sourceforge.net/">
13 <title>Servizi di rete passo a passo</title>
14 <style type="text/css">
17 :Author: David Goodger (goodger@python.org)
18 :Id: $Id: html4css1.css 5196 2007-06-03 20:25:28Z wiemann $
19 :Copyright: This stylesheet has been placed in the public domain.
21 Default cascading style sheet for the HTML output of Docutils.
23 See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
24 customize this style sheet.
27 /* used to remove borders from tables and images */
28 .borderless, table.borderless td, table.borderless th {
31 table.borderless td, table.borderless th {
32 /* Override padding for "table.docutils td" with "! important".
33 The right padding separates the table cells. */
34 padding: 0 0.5em 0 0 ! important }
37 /* Override more specific margin styles with "! important". */
38 margin-top: 0 ! important }
40 .last, .with-subtitle {
41 margin-bottom: 0 ! important }
47 text-decoration: none ;
54 margin-bottom: 0.5em }
56 /* Uncomment (and remove this text!) to get bold-faced definition list terms
64 div.abstract p.topic-title {
68 div.admonition, div.attention, div.caution, div.danger, div.error,
69 div.hint, div.important, div.note, div.tip, div.warning {
71 border: medium outset ;
74 div.admonition p.admonition-title, div.hint p.admonition-title,
75 div.important p.admonition-title, div.note p.admonition-title,
76 div.tip p.admonition-title {
78 font-family: sans-serif }
80 div.attention p.admonition-title, div.caution p.admonition-title,
81 div.danger p.admonition-title, div.error p.admonition-title,
82 div.warning p.admonition-title {
85 font-family: sans-serif }
87 /* Uncomment (and remove this text!) to get reduced vertical space in
89 div.compound .compound-first, div.compound .compound-middle {
90 margin-bottom: 0.5em }
92 div.compound .compound-last, div.compound .compound-middle {
101 div.dedication p.topic-title {
109 div.footer, div.header {
118 div.line-block div.line-block {
124 margin: 0 0 0.5em 1em ;
125 border: medium outset ;
127 background-color: #ffffee ;
132 div.sidebar p.rubric {
133 font-family: sans-serif ;
136 div.system-messages {
139 div.system-messages h1 {
143 border: medium outset ;
146 div.system-message p.system-message-title {
153 h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
154 h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
172 ol.simple, ul.simple {
176 list-style: decimal }
179 list-style: lower-alpha }
182 list-style: upper-alpha }
185 list-style: lower-roman }
188 list-style: upper-roman }
202 white-space: nowrap }
211 font-family: sans-serif ;
216 font-family: sans-serif ;
228 pre.literal-block, pre.doctest-block {
233 font-family: sans-serif ;
234 font-style: oblique }
236 span.classifier-delimiter {
237 font-family: sans-serif ;
241 font-family: sans-serif }
244 white-space: nowrap }
252 span.section-subtitle {
253 /* font-size relative to parent (h1..h6 element) */
257 border-left: solid 1px gray;
265 margin-bottom: 0.5em }
268 border-left: solid 1px black;
271 table.docutils td, table.docutils th,
272 table.docinfo td, table.docinfo th {
273 padding-left: 0.5em ;
274 padding-right: 0.5em ;
275 vertical-align: top }
277 table.docutils th.field-name, table.docinfo th.docinfo-name {
280 white-space: nowrap ;
283 h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
284 h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
288 list-style-type: none }
294 <div class="document" id="servizi-di-rete-passo-a-passo">
295 <h1 class="title">Servizi di rete passo a passo</h1>
297 <h2 class="subtitle" id=
298 "appunti-sulla-installazione-e-configurazione-dei-servizi">
299 Appunti sulla installazione e configurazione dei servizi</h2>
302 <table class="docutils field-list" frame="void" rules="none">
303 <col class="field-name">
304 <col class="field-body">
308 <th class="field-name">Author:</th>
310 <td class="field-body">Andrea Manni</td>
314 <th class="field-name">Copyright:</th>
316 <td class="field-body">GFDL</td>
320 <th class="field-name">Version:</th>
322 <td class="field-body">0.4</td>
328 <p>Questa guida e' dedicata agli studenti delle lezioni di
329 informatica tenute da Andrea nel lab208. Nella parte iniziale
330 sono presenti alcuni richiami alle impostazioni di rete e di
331 installazione del laboratorio 208 (lab208) dove generalmente si
332 tengono le lezioni. Questi parametri non sono interessanti per
333 chiunque si trovasse al di fuori della rete piffa.net .</p>
335 <div class="contents topic" id="indice-degli-argomenti">
336 <p class="topic-title first">Indice degli argomenti</p>
338 <ul class="auto-toc simple">
340 <a class="reference internal" href=
341 "#configurazione-sistema" id="id6" name=
342 "id6">1 Configurazione sistema</a>
344 <ul class="auto-toc">
345 <li><a class="reference internal" href=
346 "#solo-per-uso-interno" id="id7" name=
347 "id7">1.1 Solo per uso
350 <li><a class="reference internal" href="#rete" id="id8"
351 name="id8">1.2 Rete</a></li>
353 <li><a class="reference internal" href=
354 "#bash-completion" id="id9" name=
355 "id9">1.3 Bash completion</a></li>
357 <li><a class="reference internal" href="#vim" id="id10"
358 name="id10">1.4 Vim</a></li>
360 <li><a class="reference internal" href="#vnc" id="id11"
361 name="id11">1.5 VNC</a></li>
363 <li><a class="reference internal" href=
364 "#lista-dei-pacchetti-di-base" id="id12" name=
365 "id12">1.6 Lista dei pacchetti di
369 <a class="reference internal" href=
370 "#apt-configurazione" id="id13" name=
371 "id13">1.7 Apt configurazione</a>
373 <ul class="auto-toc">
374 <li><a class="reference internal" href=
375 "#sources-list" id="id14" name=
376 "id14">1.7.1 sources.list</a></li>
378 <li><a class="reference internal" href=
379 "#etc-apt-apt-conf" id="id15" name=
380 "id15">1.7.2 /etc/apt/apt.conf</a></li>
386 <li><a class="reference internal" href="#squid" id="id16"
387 name="id16">2 Squid</a></li>
390 <a class="reference internal" href="#apache" id="id17"
391 name="id17">3 Apache</a>
393 <ul class="auto-toc">
394 <li><a class="reference internal" href=
395 "#pacchetti-da-installare" id="id18" name=
396 "id18">3.1 Pacchetti da
397 installare::</a></li>
399 <li><a class="reference internal" href=
400 "#configurazione-di-apache" id="id19" name=
401 "id19">3.2 Configurazione di
404 <li><a class="reference internal" href="#apache-conf"
406 "id20">3.3 apache.conf</a></li>
409 <a class="reference internal" href=
410 "#installazione-di-php" id="id21" name=
411 "id21">3.4 Installazione di PHP</a>
413 <ul class="auto-toc">
414 <li><a class="reference internal" href=
415 "#test-del-modulo-php" id="id22" name=
416 "id22">3.4.1 Test del modulo
419 <li><a class="reference internal" href=
420 "#installazione-del-supporto-per-mysql" id="id23"
421 name="id23">3.4.2 Installazione
422 del supporto per Mysql</a></li>
424 <li><a class="reference internal" href=
425 "#phpmyadmin" id="id24" name=
426 "id24">3.4.3 phpmyadmin</a></li>
428 <li><a class="reference internal" href=
429 "#installazione-del-supporto-per-postgresql" id=
431 "id25">3.4.4 Installazione del
432 supporto per Postgresql</a></li>
434 <li><a class="reference internal" href=
435 "#phppgadmin" id="id26" name=
436 "id26">3.4.5 phppgadmin</a></li>
441 <a class="reference internal" href="#virtual-hosts"
442 id="id27" name="id27">3.5 Virtual
445 <ul class="auto-toc">
446 <li><a class="reference internal" href=
447 "#gestione-dns" id="id28" name=
448 "id28">3.5.1 Gestione DNS</a></li>
450 <li><a class="reference internal" href=
451 "#virtual-host" id="id29" name=
452 "id29">3.5.2 Virtual host</a></li>
457 <a class="reference internal" href=
458 "#negoziazione-accessi" id="id30" name=
459 "id30">3.6 Negoziazione accessi</a>
461 <ul class="auto-toc">
462 <li><a class="reference internal" href=
463 "#limiti-su-base-ip" id="id31" name=
464 "id31">3.6.1 Limiti su base
470 <a class="reference internal" href=
471 "#user-authentication" id="id32" name=
472 "id32">3.7 User Authentication</a>
474 <ul class="auto-toc">
475 <li><a class="reference internal" href=
476 "#definire-la-cartella" id="id33" name=
477 "id33">3.7.1 Definire la
480 <li><a class="reference internal" href=
481 "#creazione-del-database-delle-passwords" id="id34"
482 name="id34">3.7.2 Creazione del
483 database delle passwords</a></li>
485 <li><a class="reference internal" href="#id3" id=
487 "id35">3.7.3 Configurazione di
492 <li><a class="reference internal" href="#cavets" id=
493 "id36" name="id36">3.8 Cavets</a></li>
498 <a class="reference internal" href="#domain-name-system"
499 id="id37" name="id37">4 Domain Name
502 <ul class="auto-toc">
503 <li><a class="reference internal" href=
504 "#nomi-di-dominio" id="id38" name=
505 "id38">4.1 Nomi di dominio</a></li>
507 <li><a class="reference internal" href=
508 "#tipologie-di-record" id="id39" name=
509 "id39">4.2 Tipologie di
512 <li><a class="reference internal" href="#utilizzo" id=
514 "id40">4.3 Utilizzo</a></li>
516 <li><a class="reference internal" href=
517 "#risoluzione-dei-nomi-di-dominio" id="id41" name=
518 "id41">4.4 Risoluzione dei nomi di
521 <li><a class="reference internal" href="#dig" id="id42"
522 name="id42">4.5 Dig</a></li>
526 <li><a class="reference internal" href="#dnsmasq" id="id43"
527 name="id43">5 DNSmasq</a></li>
530 <a class="reference internal" href="#samba" id="id44"
531 name="id44">6 Samba</a>
533 <ul class="auto-toc">
534 <li><a class="reference internal" href="#pacchetti" id=
536 "id45">6.1 Pacchetti</a></li>
538 <li><a class="reference internal" href=
539 "#passwords-e-autenticazione" id="id46" name=
540 "id46">6.2 Passwords e
541 autenticazione</a></li>
543 <li><a class="reference internal" href=
544 "#creazione-utenti" id="id47" name=
545 "id47">6.3 Creazione Utenti</a></li>
548 <a class="reference internal" href=
549 "#creare-la-condivisione" id="id48" name=
550 "id48">6.4 Creare la
553 <ul class="auto-toc">
554 <li><a class="reference internal" href=
555 "#sicurezza-permessi-di-esecuzione-sul-server" id=
557 "id49">6.4.1 Sicurezza: permessi
558 di esecuzione sul server</a></li>
562 <li><a class="reference internal" href=
563 "#configurazione-dell-applicativo-samba-vero-e-proprio"
565 "id50">6.5 Configurazione
566 dell'applicativo Samba vero e proprio.</a></li>
568 <li><a class="reference internal" href=
569 "#testare-il-servizio" id="id51" name=
570 "id51">6.6 Testare il
576 <a class="reference internal" href="#firewall" id="id52"
577 name="id52">7 Firewall</a>
579 <ul class="auto-toc">
580 <li><a class="reference internal" href="#links" id=
581 "id53" name="id53">7.1 Links</a></li>
583 <li><a class="reference internal" href="#ipfilter" id=
585 "id54">7.2 Ipfilter</a></li>
588 <a class="reference internal" href=
589 "#progettazione-di-un-firewall" id="id55" name=
590 "id55">7.3 Progettazione di un
593 <ul class="auto-toc">
594 <li><a class="reference internal" href=
595 "#collocazione" id="id56" name=
596 "id56">7.3.1 Collocazione</a></li>
598 <li><a class="reference internal" href=
599 "#policy-di-default" id="id57" name=
600 "id57">7.3.2 Policy di
603 <li><a class="reference internal" href="#hardware"
605 "id58">7.3.3 Hardware</a></li>
609 <li><a class="reference internal" href=
610 "#percorso-dei-pacchetti-tra-tabelle-e-catene" id=
611 "id59" name="id59">7.4 Percorso dei
612 pacchetti tra tabelle e catene</a></li>
615 <a class="reference internal" href=
616 "#concetti-di-base" id="id60" name=
617 "id60">7.5 Concetti di base</a>
619 <ul class="auto-toc">
620 <li><a class="reference internal" href=
621 "#tabelle-catene-regole" id="id61" name=
622 "id61">7.5.1 Tabelle, catene,
625 <li><a class="reference internal" href="#match" id=
627 "id62">7.5.2 Match</a></li>
629 <li><a class="reference internal" href="#targets"
631 "id63">7.5.3 Targets</a></li>
635 <li><a class="reference internal" href=
636 "#tabella-filter" id="id64" name=
637 "id64">7.6 Tabella Filter</a></li>
639 <li><a class="reference internal" href=
640 "#gestione-regole-rules" id="id65" name=
641 "id65">7.7 Gestione regole
646 <li><a class="reference internal" href="#note" id="id66"
647 name="id66">8 NOTE</a></li>
651 <p>Generato con: <a class="reference external" href=
652 "http://docutils.sourceforge.net/rst.html">http://docutils.sourceforge.net/rst.html</a></p>
654 <div class="section" id="configurazione-sistema">
655 <h1><a class="toc-backref" href=
656 "#id6">1 Configurazione sistema</a></h1>
658 <div class="section" id="solo-per-uso-interno">
659 <h2><a class="toc-backref" href=
660 "#id7">1.1 Solo per uso interno</a></h2>
662 <p>Impostazioni di base per la configurazione del sistema
663 operativo e della rete nel laboratorio 208 facente parte
664 della rete piffa.net .</p>
666 <p>Qui riportati per comodita' degli studenti (e del
667 docente che non sara' <strong>mai piu'</strong> costretto a
671 <div class="section" id="rete">
672 <h2><a class="toc-backref" href=
673 "#id8">1.2 Rete</a></h2>
675 <p>Parametri della rete attualmente in uso:</p>
677 <table border="1" class="docutils">
685 <td colspan="2">Parametri della rete</td>
691 <td>10.10.208.0/24</td>
697 <td>255.255.255.0</td>
703 <td>10.10.208.255</td>
709 <td>10.10.208.254</td>
715 <td>10.10.208.250 persistente</td>
721 <td>10.10.208.254</td>
727 <td>10.10.208.250 persistente</td>
732 <p>Sul portatile di Andrea, corrispondente all'ip 254, gira
733 un DHCP, proxy http e mirror di Debian ( <a class=
734 "reference external" href=
735 "http://debian.piffa.net">http://debian.piffa.net</a>). Se
736 Andrea non e' in aula (o ancora peggio non c'e' il suo
737 portatile Net) gli studenti dovranno darsi un indirizzo ip
738 manualmente e disabilitare il proxy (che pero' e
739 trasparente, quindi fate pure come se non ci fosse ;) .</p>
742 <div class="section" id="bash-completion">
743 <h2><a class="toc-backref" href=
744 "#id9">1.3 Bash completion</a></h2>
746 <p>Il completamento automatico della shell (che si attiva
747 premendo il tasto tab una o due volte mentre si sta
748 scrivendo un termine) permette di comporre automaticamente
749 i nomi dei comandi e i percorsi dei file, sopratutto la
750 composizione automatica dei percorsi dei file e' di grande
753 <p>Bash_completion permette di integrare il completamento
754 automatico con i nomi dei pacchetti e oggetti dei comandi:
755 ad es. volendo digitare <tt class=
756 "docutils literal"><span class="pre">apt-get</span>
757 <span class="pre">inst[TAB]</span> <span class=
758 "pre">xtigh[TAB]</span></tt> ora verra' completatato
759 automaticamente sia la parola <tt class=
760 "docutils literal"><span class="pre">install</span></tt>
761 che il nome del pacchetto <tt class=
762 "docutils literal"><span class=
763 "pre">xtightvncviewer</span></tt>.</p>
765 <p>Abilitare /etc/bash_completion nel file <tt class=
766 "docutils literal"><span class=
767 "pre">/etc/bash.bashrc</span></tt> oppure includerlo nel
768 proprio <tt class="docutils literal"><span class=
769 "pre">~/.bashrc</span></tt> (che sarebbe il file
770 <em>nascosto</em>, quindi con un punto all'inizio del nome
771 del file, di configurazione della shell bash per ogni
772 utente, presente nella propria <em>home
774 <pre class="literal-block">
775 echo ". /etc/bash_completion" >> ~/.bashrc
778 <p>Esempio di ~/.bahsrc</p>
779 <pre class="literal-block">
780 # ~/.bashrc: executed by bash(1) for non-login shells.
782 export PS1='\h:\w\$ '
785 # Decommentare le seguenti righr per abilitare la colorazione dei
787 export LS_OPTIONS='--color=auto'
789 alias ls='ls $LS_OPTIONS'
790 alias ll='ls $LS_OPTIONS -l'
791 alias l='ls $LS_OPTIONS -lA'
793 # Some more alias to avoid making mistakes:
798 # questo abilita bash completion
799 . /etc/bash_completion
802 <p>Il file <tt class="docutils literal"><span class=
803 "pre">/etc/bash_completion</span></tt> deve essere presente
804 nel sistema, in caso contrario installare il pacchetto:
805 <tt class="docutils literal"><span class=
806 "pre">bash-completion</span></tt>. Generalmente l'utente
807 <tt class="docutils literal"><span class=
808 "pre">root</span></tt> ha un file <tt class=
809 "docutils literal"><span class="pre">.bashrc</span></tt>
810 preimpostato analogo a quello citato sopra, a differenza
811 dei normali utenti di sistema.</p>
816 <li><a class="reference external" href=
817 "http://www.debian-administration.org/articles/316">An
818 introduction to bash completion</a></li>
820 <li><a class="reference external" href=
821 "http://www.caliban.org/bash/">Working more productively
822 with bash 2.x/3.x</a></li>
826 <div class="section" id="vim">
827 <h2><a class="toc-backref" href=
828 "#id10">1.4 Vim</a></h2>
830 <p>Vim e' l'editor di testo preferito dai sistemisti,
831 quindi sara' conveniente impostare fin da subito alcune
832 impostazioni per renderlo piu' comodo.</p>
834 <p>Assicurarsi che sia installata nel sistema la versione
835 completa dell'editor <tt class=
836 "docutils literal"><span class="pre">vim</span></tt>
837 nstallando il pacchetto vimi:</p>
838 <pre class="literal-block">
839 # apt-get install vim
841 e modificare il file di configurazione generale ``/etc/vim/vimrc`` ::
843 " All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
844 " /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
845 " you can find below. If you wish to change any of those settings, you should
846 " do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
847 " everytime an upgrade of the vim packages is performed. It is recommended to
848 " make changes after sourcing debian.vim since it alters the value of the
849 " 'compatible' option.
851 " This line should not be removed as it ensures that various options are
852 " properly set to work with the Vim-related packages available in Debian.
855 " Uncomment the next line to make Vim more Vi-compatible
856 " NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous
857 " options, so any other options should be set AFTER setting 'compatible'.
860 " Vim5 and later versions support syntax highlighting. Uncommenting the next
861 " line enables syntax highlighting by default.
864 " If using a dark background within the editing area and syntax highlighting
865 " turn on this option as well
868 " Uncomment the following to have Vim jump to the last position when
872 au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
873 \| exe "normal! g'\"" | endif
876 " Uncomment the following to have Vim load indentation rules and plugins
877 " according to the detected filetype.
879 filetype plugin indent on
882 " The following are commented out as they cause vim to behave a lot
883 " differently from regular Vi. They are highly recommended though.
884 set showcmd " Show (partial) command in status line.
885 "set showmatch " Show matching brackets.
886 set ignorecase " Do case insensitive matching
887 "set smartcase " Do smart case matching
888 "set incsearch " Incremental search
889 set autowrite " Automatically save before commands like :next and :make
890 "set hidden " Hide buffers when they are abandoned
891 "set mouse=a " Enable mouse usage (all modes) in terminals
893 " Source a global configuration file if available
894 " XXX Deprecated, please move your changes here in /etc/vim/vimrc
895 if filereadable("/etc/vim/vimrc.local")
896 source /etc/vim/vimrc.local
901 <div class="section" id="vnc">
902 <h2><a class="toc-backref" href=
903 "#id11">1.5 VNC</a></h2>
905 <p>I Virtual Network Computing (o VNC) sono software di
906 controllo remoto e servono per amministrare il proprio
907 computer a distanza o visuallizare la sessione di lavoro di
908 un altro computer sul proprio a scopo didattico.
909 Installando un server VNC sulla propria macchina ed
910 impostando una opportuna password si consente ai client VNC
911 di ricevere una immagine dello schermo ed eventualmente di
912 inviare input di tastiera e mouse al computer server
913 (durante le lezioni questo non e' possibile per gli
914 studenti, solo Andrea esegue i comandi). In pratica si può
915 gestire il computer server da un'altra postazione, come se
916 fosse il proprio computer fisico.</p>
918 <p>Scaricare il pacchetto <tt class=
919 "docutils literal"><span class=
920 "pre">xtightvncviewer</span></tt> e lo script <tt class=
921 "docutils literal"><span class="pre">guarda.sh</span></tt>
922 in una posizione (collocazione nel <em>path</em> degli
923 utenti, es <tt class="docutils literal"><span class=
924 "pre">echo</span> <span class="pre">$PATH</span></tt> per
925 visualizzare l'attuale path ) comoda per gli utenti ( in
926 genere <tt class="docutils literal"><span class=
927 "pre">/bin</span></tt> ), rndere eseguibile lo script.</p>
930 <pre class="literal-block">
933 wget http://debian.piffa.net/guarda.sh
938 <p>Si noti che non e' possibile lanciare un applicativo sul
939 server grafico di un utente da una shell in cui si sta
940 lavorando come altro utente, anche se root. E' quindi
941 necessario essere l'utente di sistema che si e' loggato
942 inizialmente nella sessione grafica per poter lanciare lo
943 script guarda.sh da una shell.</p>
945 <p>Controllare con <tt class=
946 "docutils literal"><span class="pre">whoami</span></tt> di
947 essere l'utente normale (es <tt class=
948 "docutils literal"><span class="pre">utente</span>
949 <span class="pre">|</span> <span class=
950 "pre">studente</span> <span class="pre">|</span>
951 <span class="pre">proprio</span> <span class=
952 "pre">nome</span></tt> ), in caso si sia assunta una altra
953 <tt class="docutils literal"><span class=
954 "pre">id</span></tt> si apra un altra shell o si esca da
955 quella attuale con <tt class=
956 "docutils literal"><span class="pre">exit</span></tt> .</p>
959 <div class="section" id="lista-dei-pacchetti-di-base">
960 <h2><a class="toc-backref" href=
961 "#id12">1.6 Lista dei pacchetti di
964 <p>I pacchetti installati generalmente <a class=
965 "footnote-reference" href="#id2" id="id1" name=
966 "id1">[1]</a> per poter seguire le lezioni sono:</p>
967 <pre class="literal-block">
968 kde-core kdm kde-i18n-it xorg vim less xtightvncviewer
971 <table class="docutils footnote" frame="void" id="id2"
980 <td class="label"><a class="fn-backref" href=
983 <td><tt class="docutils literal"><span class=
984 "pre">kde-core</span></tt> e' piu' leggero del
985 pacchetto <tt class="docutils literal"><span class=
986 "pre">kde</span></tt>, esiste anche un equivalente
987 <tt class="docutils literal"><span class=
988 "pre">gnome-core</span> <span class=
989 "pre">gnome</span></tt> e il log-in manager
990 <tt class="docutils literal"><span class=
991 "pre">gdm</span></tt> per il l'ambiente grafico
998 <div class="section" id="apt-configurazione">
999 <h2><a class="toc-backref" href=
1000 "#id13">1.7 Apt configurazione</a></h2>
1002 <p>Vediamo i due file principali di apt:</p>
1005 <li><tt class="docutils literal"><span class=
1006 "pre">/etc/apt/sources.list</span></tt></li>
1008 <li><tt class="docutils literal"><span class=
1009 "pre">/etc/apt/apt.conf</span></tt></li>
1012 <div class="section" id="sources-list">
1013 <h3><a class="toc-backref" href=
1014 "#id14">1.7.1 sources.list</a></h3>
1016 <p>Questo file contiene i sorgenti da cui <em>apt</em>
1017 preleva i pacchetti da installare tramite <em>dpkg</em>,
1018 vengono quindi precisati i metodi (ad es. http / ftp /
1019 cdrom / file), la release che si vuole tracciare (es
1020 <tt class="docutils literal"><span class=
1021 "pre">stable,</span> <span class="pre">testing,</span>
1022 <span class="pre">unstable</span></tt> oppure i
1023 corrispondenti release name es: <tt class=
1024 "docutils literal"><span class="pre">Lenny,</span>
1025 <span class="pre">Squeeze,</span> <span class=
1026 "pre">Sid</span></tt>), i rami di interesse (es:
1027 <tt class="docutils literal"><span class=
1028 "pre">main</span></tt> che e' l'archivio principale,
1029 <tt class="docutils literal"><span class=
1030 "pre">non-free</span></tt> per il software non libero,
1031 <tt class="docutils literal"><span class=
1032 "pre">contrib</span></tt> per i pacchetti non realizzati
1033 dai manutentori ufficiali).</p>
1035 <p>Gli archivi sono generalmente:</p>
1038 <li><tt class="docutils literal"><span class=
1039 "pre">deb</span></tt> per pacchetti Debian binari</li>
1041 <li><tt class="docutils literal"><span class=
1042 "pre">deb-src</span></tt> per i pacchetti sorgenti
1043 (quindi da compilare, come il kernel) degli stessi
1044 pacchetti binari. In genere se non compilate spesso
1045 potete evitare di tracciare i sorgenti per risparmiare
1049 <p><tt class="docutils literal"><span class=
1050 "pre">/etc/apt/sources.list</span></tt></p>
1051 <pre class="literal-block">
1052 # esempio di accesso a un CDROM:
1053 # cdrom:[Debian GNU/Linux 5.0.1 _Lenny_ - Official i386 kde-CD Binary-1 20090$
1055 # Archivio principale debian via http su piffa.net,
1056 # non funziona al difuori dell'aula dei corsi
1057 deb http://debian.piffa.net/debian/ Lenny main
1058 # deb http://debian.piffa.net/debian/ Lenny non-free contrib
1060 # Mirror da kernel.org da usare a casa:
1061 deb http://mirrors.eu.kernel.org/debian/ Lenny main
1063 # Security dal sito principale
1064 deb http://security.debian.org/ Lenny/updates main
1065 deb-src http://security.debian.org/ Lenny/updates main
1067 # Debian volatile per le cose soggette a cambiamenti non legati
1068 # a dinamiche di sicurezza
1069 deb http://volatile.debian.org/debian-volatile Lenny/volatile main
1070 deb-src http://volatile.debian.org/debian-volatile Lenny/volatile main
1072 # Esempio di accesso a un filesystem locale contenente i pacchetti:
1073 # deb file:/mnt/mirror Sid main non-free contrib
1077 <div class="section" id="etc-apt-apt-conf">
1078 <h3><a class="toc-backref" href=
1079 "#id15">1.7.2 /etc/apt/apt.conf</a></h3>
1081 <p>Questo file contiene le opzioni di apt, come ad
1082 esempio il proxy:</p>
1083 <pre class="literal-block">
1084 Acquire::http::Proxy "http://10.10.208.254:3128"
1087 <p>Si tenga conto che se si imposta un proxy per apt sul
1088 proprio portatile e tornati a casa propria si vuole
1089 scaricare nuovi pacchetti si dovra' disabilitare il
1095 <div class="section" id="squid">
1096 <h1><a class="toc-backref" href=
1097 "#id16">2 Squid</a></h1>
1100 <div class="section" id="apache">
1101 <h1><a class="toc-backref" href=
1102 "#id17">3 Apache</a></h1>
1104 <p>Apache HTTP Server, o piu' comunemente Apache, e' il nome
1105 dato alla piattaforma server Web modulare piu' diffusa (ma
1106 anche al gruppo di lavoro open source che ha creato,
1107 sviluppato e aggiornato il software server), in grado di
1108 operare da sistemi operativi UNIX-Linux e Microsoft.</p>
1110 <p>Un server web e' un processo, e per estensione il computer
1111 su cui e' in esecuzione, che si occupa di fornire, su
1112 richiesta del browser, una pagina web (spesso scritta in
1113 HTML). Le informazioni inviate dal server web viaggiano in
1114 rete trasportate dal protocollo HTTP. L'insieme di server web
1115 dà vita al World Wide Web, uno dei servizi piu'
1116 utilizzati di Internet.</p>
1118 <div class="section" id="pacchetti-da-installare">
1119 <h2><a class="toc-backref" href=
1120 "#id18">3.1 Pacchetti da
1121 installare::</a></h2>
1127 <p>Con la release 2.0 di Apache viene automaticamente resa
1128 disponibile anche la versione SSL (Secure Socket Layer,
1129 cpnnessioni criptate ) del web server.</p>
1132 <div class="section" id="configurazione-di-apache">
1133 <h2><a class="toc-backref" href=
1134 "#id19">3.2 Configurazione di
1137 <p>I file di configurazione di apache si trovano nella
1138 cartella: <tt class="docutils literal"><span class=
1139 "pre">/etc/apache2</span></tt> e sono strutturati come
1140 descritto nel file <tt class=
1141 "docutils literal"><span class="pre">/usr/share/doc/apache2/README.Debian.gz</span></tt>
1142 . Sostanzialmente lo schema e' il seguente:</p>
1144 <dl class="docutils">
1145 <dt>apache2.conf</dt>
1148 <p class="first">File di configurazione principale del
1151 <p class="last">httpd.conf e' il vecchio file di
1152 configurazione di Apache1, presente per motivi di
1153 retrocompatibilita' e' generalemente vuoto.</p>
1158 <dd>In questo file vengono specificate le porte sulle
1159 quali resta in ascolto il server web. Si noti che
1160 utilizzando dei virtual hosts generalmente viene
1161 specificata per questi la porta su cui ascoltare nel file
1162 di configurazione del virtual host, ad es: <tt class=
1163 "docutils literal"><span class=
1164 "pre"><VirtualHost</span> <span class=
1165 "pre">*:80></span></tt></dd>
1167 <dt>sites-available</dt>
1169 <dd>In questa cartella vengono raccolti i file di
1170 configurazione dei virtual host disponibili.</dd>
1172 <dt>sites-enabled</dt>
1174 <dd>In questa cartella sono contenuti dei link simbolici
1175 ai files in ../sites-available : se il link e' presente
1176 in questa cartella il virtual host e' abilitato.</dd>
1178 <dt>mods-available</dt>
1180 <dd>Stesso metodo per i moduli: in questa cartella ci
1181 sono i moduli veri e propri che verranno poi abilitati
1182 grazie all'esistenza di link simbolici nella cartella
1185 <dt>mods-enabled</dt>
1187 <dd>Moduli abilitati, effettivamente caricati.</dd>
1191 <div class="section" id="apache-conf">
1192 <h2><a class="toc-backref" href=
1193 "#id20">3.3 apache.conf</a></h2>
1195 <p>File di configurazione del servizio Apache, contiene le
1196 impostazioni generiche (ad esempio utilizzo della RAM e
1197 risorse di sistema) dell'intero servizio. Nella
1198 configurazione di default per Debian non viene definito un
1199 vero e proprio sito di default ma solo dei virtual
1202 <p>Guardiamo alcune direttive interessanti:</p>
1204 <dl class="docutils">
1207 <dd>Numero di secondi da aspettare prima di chiudere la
1208 connessione con il client. Questo parametro serve a
1209 liberare le risorse di sistema nel caso che un client,
1210 magar a causa di una connessione particolarmente lenta o
1211 instabili, tenga attivo indefinitivamente un processo di
1216 <dd>L'estensione keep-alive (http 1.0) congiuntamente
1217 alle connessioni persistenti (http 1.1) permettono al
1218 server di rispondere a piu' richieste dei client mediante
1219 la stessa connessione. Il protocoll http per sua natura
1220 e' senza stato (<em>statelessi</em> ), quindi ogni
1221 risorsa richiesta (per pagine web si pensi ad esempio
1222 alle immagini) dal client necessita di una connessione
1223 autonoma. Keep-alive permette di ottimizzare la
1224 connessione anche fino al 50% a seconda delle situazioni
1227 <dt>Server-Pool Size Regulation</dt>
1229 <dd>Questi parametri (StartServers, MinSpareServers, ecc.
1230 Tutti spiegati nel manuale di apache) servono per
1231 attribuire le risorse di sistema disponibili al server
1232 Apache. Tenere questi parametri bassi serve a limitare il
1233 rischio di Denial of Service per il server, nel caso
1234 offra altri servizi. I settagi di default sono come
1235 sempre abbastanza conservativi, se si conta di usare il
1236 proprio Apache per servire un sito web con molti
1237 visitatori sara' necessario aumentare sensibilmente le
1238 impostazioni di base.</dd>
1240 <dt>AccessFileName</dt>
1242 <dd>Il nome del file che viene onorato per modificare le
1243 impostazioni per una singola directory, legato alla
1244 direttiva AllowOverride .</dd>
1248 <div class="section" id="installazione-di-php">
1249 <h2><a class="toc-backref" href=
1250 "#id21">3.4 Installazione di PHP</a></h2>
1252 <p>Pacchetti da installare: <tt class=
1253 "docutils literal"><span class="pre">php5</span>
1254 <span class="pre">php-pear</span></tt></p>
1256 <div class="section" id="test-del-modulo-php">
1257 <h3><a class="toc-backref" href=
1258 "#id22">3.4.1 Test del modulo
1261 <p>Creare nella cartella <tt class=
1262 "docutils literal"><span class="pre">/var/www</span></tt>
1263 (o altra cartella visibile) un file con estensione *.php
1264 (es <tt class="docutils literal"><span class=
1265 "pre">/var/ww/info.php</span></tt> contenete codice php
1266 eseguibile dall'interprete, ad es:</p>
1267 <pre class="literal-block">
1268 <?php phpinfo() ; ?>
1271 <p>Questa funzione di php generera' la tipica pagina con
1272 le impostazioni attuali per PHP. Richiamando la pagina
1273 (es: <tt class="docutils literal"><span class=
1274 "pre">http://localhost/info.php</span></tt> ) verra
1275 generata dall'interprete PHP la pagina HTML e resa
1276 disponibile tramite Apache ai utclient HTTP, a prova del
1277 correto funzionamento del modulo di PHP e della sua
1278 integrazione con il serv web Apache. In caso contrario se
1279 il client http proporra di scaricare la pagina invece che
1280 visualizzarla nel browser: non funziona l'interprete di
1281 php o sono mal configurati i MIME-type. prima di tutto
1282 assicurarsi di aver fatoo ripartire Apache.</p>
1285 <div class="section" id=
1286 "installazione-del-supporto-per-mysql">
1287 <h3><a class="toc-backref" href=
1288 "#id23">3.4.2 Installazione del supporto
1291 <p>Installare i pacchetti:</p>
1292 <pre class="literal-block">
1293 php5-mysql phpmyadmin
1296 <p>Controllare tramite la pagina php.info che sia
1297 abilitato il supporto per Mysql (ripartito Apache,
1298 ricaricare la pagina e cercare con CTRL+f <tt class=
1299 "docutils literal"><span class=
1300 "pre">mysql</span></tt>).</p>
1303 <div class="section" id="phpmyadmin">
1304 <h3><a class="toc-backref" href=
1305 "#id24">3.4.3 phpmyadmin</a></h3>
1307 <p>L'interfaccia web Phpmyadmin non richede
1308 necessariamente la presenza di un database Mysql locale,
1309 puo' infatti essere utilizzata per gestire databases
1310 remoti (il suo file di configurazione: <tt class=
1311 "docutils literal"><span class=
1312 "pre">/etc/phpmyadmin/config.inc.php</span></tt> ). Nel
1313 caso si voglia installare localmente Mysql si utilizzi il
1314 pacchetto <tt class="docutils literal"><span class=
1315 "pre">mysql-server</span></tt> .</p>
1317 <p>Phpmyadmin dovrebbe essere disponibile all'URL:
1318 <tt class="docutils literal"><span class=
1319 "pre">http://localhost/phpmyadmin/</span></tt>, se cosi
1320 non fosse controllare che sia incluso il file <tt class=
1321 "docutils literal"><span class=
1322 "pre">/etc/phpmyadmin/apache.conf</span></tt> in
1323 <tt class="docutils literal"><span class=
1324 "pre">/etc/apache2/conf.d/</span></tt> .</p>
1327 <div class="section" id=
1328 "installazione-del-supporto-per-postgresql">
1329 <h3><a class="toc-backref" href=
1330 "#id25">3.4.4 Installazione del supporto
1331 per Postgresql</a></h3>
1333 <p>Installare i pacchetti:</p>
1334 <pre class="literal-block">
1335 php5-pgsql phppgadmin
1338 <p>Controllare tramite la pagina php.info che sia
1339 abilitato il supporto per PostgreSQL (ripartito Apache,
1340 ricaricare la pagina e cercare con CTRL+f <tt class=
1341 "docutils literal"><span class=
1342 "pre">pgsql</span></tt>).</p>
1345 <div class="section" id="phppgadmin">
1346 <h3><a class="toc-backref" href=
1347 "#id26">3.4.5 phppgadmin</a></h3>
1349 <p>L'interfaccia web Phppgadmin per il database server
1350 PostgreSQL non richede necessariamente la presenza di un
1351 database locale, puo' infatti essere utilizzata per
1352 gestire databases remoti (il suo file di configurazione:
1353 <tt class="docutils literal"><span class=
1354 "pre">/etc/phppgadmin/config.inc.php</span></tt> ). Nel
1355 caso si voglia installare localmente Mysql si utilizzi il
1356 pacchetto <tt class="docutils literal"><span class=
1357 "pre">postgresql</span></tt> .</p>
1359 <p>Phpmyadmin dovrebbe essere disponibile all'URL:
1360 <tt class="docutils literal"><span class=
1361 "pre">http://localhost/phppgadmin/</span></tt>, se cosi
1362 non fosse controllare che sia incluso il file <tt class=
1363 "docutils literal"><span class=
1364 "pre">/etc/phppgadmin/apache.conf</span></tt> in
1365 <tt class="docutils literal"><span class=
1366 "pre">/etc/apache2/conf.d/</span></tt> .</p>
1370 <div class="section" id="virtual-hosts">
1371 <h2><a class="toc-backref" href=
1372 "#id27">3.5 Virtual hosts</a></h2>
1376 <li><a class="reference external" href=
1377 "http://www.apacheweek.com/features/vhost">http://www.apacheweek.com/features/vhost</a></li>
1379 <li><a class="reference external" href=
1380 "http://www.onlamp.com/pub/a/apache/2004/01/08/apacheckbk.html">
1381 http://www.onlamp.com/pub/a/apache/2004/01/08/apacheckbk.html</a></li>
1385 <p>I virtual host permettono di avere piu' siti internet
1386 disponibili tramite lo stesso server web, eventualmente
1387 mappati su un solo indirizzo ip. Sono generalemente di due
1392 <li>Basati su <em>indirizzi ip</em>. Se si ha la
1393 possibilita' di avere piu' indirizzi ip dedicati per i
1394 diversi siti che si vuole servire. ES: <tt class=
1395 "docutils literal"><span class=
1396 "pre"><VirtualHost</span> <span class=
1397 "pre">192.168.0.2:80></span></tt> . Soluzione
1398 dispendiosa, si tende ad usarla solo se servono
1399 certificati di sicurezza (SSL ) dedicati per ogni
1402 <li>Basati su <em>nomi di dominio</em> che puntano allo
1403 stesso ip. Soluzione piu' economica e diffusa che si
1404 basa sulle funzionalita' di http 1.1 .</li>
1408 <p>Prenderemo in esame la gestione di virtual hosts basati
1409 su nomi di dominio.</p>
1411 <div class="section" id="gestione-dns">
1412 <h3><a class="toc-backref" href=
1413 "#id28">3.5.1 Gestione DNS</a></h3>
1415 <p>Prima di tutto per poter impostare i virtual hosts
1416 dovete avere un server DNS che risolva i vostri nomi di
1417 dominio sull'indirizzo ip del server. Questo si puo'
1418 ottenere in vari modi, ad es:</p>
1421 <dl class="docutils">
1422 <dt><em>Bind</em> (DNS server)</dt>
1424 <dd>Impostare i campi A nelle proprie zone gestite
1425 dal server dns Bind. Ad es: <tt class=
1426 "docutils literal"><span class=
1427 "pre">papo</span>
1429 "pre">A</span>
1430 <span class="pre">212.22.136.248</span></tt></dd>
1432 <dt><em>Servizio DNS dinamico on line</em>.</dt>
1434 <dd>Utilizzare un servizio come ad es: <a class=
1435 "reference external" href=
1436 "https://www.dyndns.com/">https://www.dyndns.com/</a>
1437 per mappare nomi di dominio sul proprio indirizzo ip,
1438 comodo ad esempio se si dispone di un indirzzo ip
1439 pubblico (anche se dinamico) per la propria
1440 connessione ad internet.</dd>
1442 <dt><em>Dnsmasq</em> (DNS server)</dt>
1444 <dd>Utilizzabile a livello locale per fare dei test,
1445 utilizzando direttive come: <tt class=
1446 "docutils literal"><span class=
1447 "pre">address=/davide.piffa.net/10.10.208.178</span></tt></dd>
1449 <dt><tt class="docutils literal"><span class=
1450 "pre">/etc/hosts</span></tt></dt>
1452 <dd>Per prove <em>strettamente a livello locale</em>
1453 potete impostare i nomi dei vostri virtual server nel
1454 file /etc/hosts .</dd>
1457 <pre class="literal-block">
1460 ; <<>> DiG 9.5.1-P1 <<>> 177.piffa.net
1461 ;; global options: printcmd
1463 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38036
1464 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
1466 ;; QUESTION SECTION:
1467 ;177.piffa.net. IN A
1470 177.piffa.net. 0 IN A 10.10.208.177
1472 ;; Query time: 12 msec
1473 ;; SERVER: 10.10.208.254#53(10.10.208.254)
1474 ;; WHEN: Wed May 6 12:27:08 2009
1475 ;; MSG SIZE rcvd: 47
1478 <p>La parte interessante e' <tt class=
1479 "docutils literal"><span class=
1480 "pre">177.piffa.net.</span>
1482 "pre">0</span>
1483 <span class="pre">IN</span>
1485 "pre">A</span>
1486 <span class="pre">10.10.208.177</span></tt> . Il nome di
1487 dominio 177.piffa.net viene risolto sull'ip 10.10.208.177
1488 , nel nostro Apache (che risponde all'ip 10.10.208.177 )
1489 dovra' essere disponibile un virtual host che corrisponde
1490 al nome <tt class="docutils literal"><span class=
1491 "pre">177.piffa.net</span></tt> .</p>
1494 <div class="section" id="virtual-host">
1495 <h3><a class="toc-backref" href=
1496 "#id29">3.5.2 Virtual host</a></h3>
1498 <p>Esempio di Virtual host:</p>
1499 <pre class="literal-block">
1500 <VirtualHost *:80 >
1501 ServerName 177.piffa.net
1502 DocumentRoot /var/www/177.piffa.net/
1503 ServerAdmin webmaster@177.piffa.net
1504 </VirtualHost>
1507 <ol class="arabic simple">
1508 <li><tt class="docutils literal"><span class=
1509 "pre"><VirtualHost</span> <span class=
1510 "pre">\*:80</span> <span class="pre">></span></tt>
1511 La prima riga indica l'inizio della stanza relativa al
1512 nostro virtual host, che ascolotera' su qualunque
1513 indirizzo ip (nel caso il server abbia piu' indirizzi
1514 dai quali e' raggiungibile) sulla porta <tt class=
1515 "docutils literal"><span class=
1516 "pre">80</span></tt>.</li>
1518 <li><tt class="docutils literal"><span class=
1519 "pre">Server/name</span></tt> precisa quale sara' il
1520 nome di dominio a cui verra' associato questo sito
1521 rispetto ad altri eventualmenti presenti sullo stesso
1524 <li><tt class="docutils literal"><span class=
1525 "pre">DocumentRoot</span></tt> : il path della
1526 directory che contiene le pagine del sito.</li>
1528 <li><tt class="docutils literal"><span class=
1529 "pre">ServerAdmin</span></tt>: l'indirizzo del
1530 webmaster, in modo da poterlo contattare in caso di
1531 problemi col sito.</li>
1533 <li><tt class="docutils literal"><span class=
1534 "pre"></VirtualHost></span></tt>: <em>tag</em> di
1535 chiusura della stanza di definizione del virtual
1539 <p>Quelle che abbiamo appena visto sono le direttive
1540 essenziali per definire un sito virtuale, potrebbe essere
1541 utile aggiungene altre:</p>
1545 <dl class="first docutils">
1546 <dt><tt class="docutils literal"><span class=
1547 "pre">ErrorLog</span> <span class=
1548 "pre">/var/log/apache2/177.piffa.net/error.log</span></tt></dt>
1551 <p class="first last">Log degli errori separato
1552 dai restanti siti web ospitati dal server.</p>
1558 <dl class="first docutils">
1559 <dt><tt class="docutils literal"><span class=
1560 "pre">LogLevel</span> <span class=
1561 "pre">warn</span></tt></dt>
1564 <p class="first last">Livello di importanza degli
1565 eventi loggati= warning <em>attenzione</em> .</p>
1571 <dl class="first docutils">
1572 <dt><tt class="docutils literal"><span class=
1573 "pre">CustomLog</span> <span class=
1574 "pre">/var/log/apache2/177.piffa.net/access.log</span>
1575 <span class="pre">combined</span></tt></dt>
1578 <p class="first last">Log di accesso separati
1579 dagli altri siti, utile anche qua per statistiche
1580 di accesso per il solo sito virtuale.</p>
1586 <p>Potrebbe essere utile modificare le impostazioni di
1587 una intera directory, ad esempio per abilitare
1588 l'<tt class="docutils literal"><span class=
1589 "pre">AuthConfig</span></tt>:</p>
1590 <pre class="literal-block">
1591 <Directory "/var/www/miosito.net/privata">
1592 AllowOverride AuthConfig
1593 Options ExecCGI Indexes MultiViews FollowSymLinks
1599 <p><tt class="docutils literal"><span class=
1600 "pre">AllowOverride</span> <span class=
1601 "pre">AuthConfig</span></tt> ora vale per l'intera
1602 directory, come le altre opzioni.</p>
1606 <div class="section" id="negoziazione-accessi">
1607 <h2><a class="toc-backref" href=
1608 "#id30">3.6 Negoziazione accessi</a></h2>
1610 <p>Tipicamente quando si installa un server web il proprio
1611 desiderio e' di dare accesso ai materiali disponibili al
1612 maggior numero di visitatori possibile. Talvolta pero' puo
1613 essere utile o necessario limitare gli accessi, ad esempio
1614 per escludere un <em>bot</em> indesiderato che scansiona
1615 ininterottamente le nostre pagine o per creare una <em>Area
1616 Riservata</em> i cui materiali non devono essere
1617 disponibile a tutti.</p>
1619 <div class="section" id="limiti-su-base-ip">
1620 <h3><a class="toc-backref" href=
1621 "#id31">3.6.1 Limiti su base ip</a></h3>
1623 <p>La forma piu' semplice di restrizine degli accessi e'
1624 su base degli indirizzi IP dei client: tipicamente i siti
1625 web sono settati per dare accesso a chiunque:</p>
1626 <pre class="literal-block">
1627 <VirtualHost *:80 >
1629 <Directory "/var/www/177.piffa.net">
1633 </VirtualHost>
1636 <p>Potremmo negare l'accesso a uno o piu' indirizzi IP in
1638 <pre class="literal-block">
1639 <VirtualHost *:80 >
1640 <Directory "/var/www/177.piffa.net">
1643 Deny from 192.168.0.1
1645 </VirtualHost>
1648 <p>Ora l'IP 192.168.0.1 non potra' piu' accedere ai
1649 materiali dell'intero sito virtuale, oppure potremmo
1650 lavorare su una sola directory:</p>
1651 <pre class="literal-block">
1652 <Directory "/var/www/miosito.net/limitata">
1654 Allow from 192.168.0.0./24
1659 <p>In questo modo solo la classe IP <tt class=
1660 "docutils literal"><span class=
1661 "pre">192.168.0.0/24</span></tt> potra' accedere alla
1662 directory <tt class="docutils literal"><span class=
1663 "pre">/limitata</span></tt> Si tenga pero' conto che e'
1664 relativamente facile per un malintenzionato cambiare il
1665 propio indirizzo ip, oppure collegarsi da un altra zona.
1666 Meno facile e' accedere ad una classe privata trovandosi
1667 all'esterno di questa, ma e' comunque possibile mandare
1668 delle richieste <tt class="docutils literal"><span class=
1669 "pre">GET</span></tt> per cercare di mandare in Denial Of
1670 Service il webserver.</p>
1674 <div class="section" id="user-authentication">
1675 <h2><a class="toc-backref" href=
1676 "#id32">3.7 User Authentication</a></h2>
1678 <p>A volte conviene negoziare gli accessi ad un area di un
1679 sito tramite autenticazione basata sull'accopiata <em>nome
1680 utente / password</em>. Questo puo' venire utile per creare
1681 una area download <em>intranet</em>, alla quale possano
1682 accedere solo gli utenti previsti a prescindere dagli
1683 indirizzi IP dei loro client. Per quanto esistano soluzioni
1684 piu' granulari e sofisticate per ottenere questo,
1685 <em>mod-auth</em> puo'essere sufficente. E mod auth non
1686 richiede l'installazione di software aggiuntivi.</p>
1688 <p>link: <a class="reference external" href=
1689 "http://www.apacheweek.com/features/userauth">http://www.apacheweek.com/features/userauth</a></p>
1691 <div class="section" id="definire-la-cartella">
1692 <h3><a class="toc-backref" href=
1693 "#id33">3.7.1 Definire la
1696 <p>Decidere quale sara' il <em>path</em> della cartella
1697 da sottoporre ad autentizazione:(e creiamo la
1701 <tt class="docutils literal"><span class=
1702 "pre">mkdir</span> <span class=
1703 "pre">/var/www/177.piffa.net/privata</span></tt>
1707 <div class="section" id=
1708 "creazione-del-database-delle-passwords">
1709 <h3><a class="toc-backref" href=
1710 "#id34">3.7.2 Creazione del database
1711 delle passwords</a></h3>
1713 <p>Un modo semplice per gestire una database di
1714 <em>user-id / passwords</em> e' utilizzare l'utility
1715 <tt class="docutils literal"><span class=
1716 "pre">htpasswd</span></tt> di Apache. Questa crea un file
1717 in cui un <em>crypt</em> delle password viene associato
1720 <p>Si dovra' decidere dove tenere questo file, la cosa
1721 importante e' che non sia visibile nel sito web: non deve
1722 essere scaricabile dai visitatori. Deve essere cioe'
1723 all'esterno della <em>DocumentRoot</em>: un buon posto
1724 potrebbe essere la /home dell'utente.</p>
1726 <p>Creiamo (con il <em>flag</em> <tt class=
1727 "docutils literal"><span class="pre">-c</span></tt>) il
1728 file <tt class="docutils literal"><span class=
1729 "pre">/home/utente/passwords</span></tt> con l'utente
1730 <tt class="docutils literal"><span class=
1731 "pre">luca</span></tt>:</p>
1732 <pre class="literal-block">
1733 htpasswd -c /home/utente/passwords luca
1736 <p><tt class="docutils literal"><span class=
1737 "pre">htpasswd</span></tt> ci chedera' la password da
1738 associare all'utente <tt class=
1739 "docutils literal"><span class="pre">luca</span></tt>.
1740 Per sucessive modifiche della password o aggiunta di
1741 nuovi utenti non sara' necessario usare il flag
1742 <tt class="docutils literal"><span class=
1743 "pre">-c</span></tt>.</p>
1746 <div class="section" id="id3">
1747 <h3><a class="toc-backref" href=
1748 "#id35">3.7.3 Configurazione di
1751 <p>Ora possiamo passare alla configurazione vera e
1752 propria di Apache, ma con una novita': andremo a inserire
1753 la voce in un <tt class="docutils literal"><span class=
1754 "pre">.htaccess</span></tt> invece che modificare il file
1755 di impostazione del virtual-host.</p>
1757 <p>Questo per motivi pratici: solo l'utente <em>root</em>
1758 puo' modificare l'impostazione del virtual host nel file
1759 <tt class="docutils literal"><span class=
1760 "pre">/etc/apache2/sites-enabled/177.piffa.net</span></tt>,
1761 ma spesso il motivo per cui creiamo i virtual hosts e'
1762 ospitare i siti di altri utenti, che possono solo
1763 pubblicare (generalmente tramite <em>FTP</em>) i loro
1764 documenti nella loro <em>DocumentRoot</em>, senza poter
1765 quindi modificare in alcun modo la configurazione del
1768 <p>Dando agli utenti la possibilita' di modificare
1769 (<em>AllowOverride</em>) autonomamente alcuni parametri
1770 (in questo caso solo l'<em>AuthConfig</em>) relativi al
1771 funzionamenteo del loro spazio web ci togliera'
1772 l'incombenza di dover intervenire suii vari virtual
1775 <p>Abilitiamo l'AllowOverride nel file di configurazione
1776 del virtual host per la sola directory <tt class=
1777 "docutils literal"><span class=
1778 "pre">privata</span></tt>:</p>
1779 <pre class="literal-block">
1780 <VirtualHost *:80 >
1781 ServerName 177.piffa.net
1782 DocumentRoot /var/www/177.piffa.net/
1783 ServerAdmin webmaster@177.piffa.net
1784 <Directory "/var/www/177.piffa.net/privata">
1785 AllowOverride AuthConfig
1787 </VirtualHost>
1790 <p>Per rendere il cambiamento effettivo sara' necessario
1791 fare un restart / reload di Apache.</p>
1793 <p>Ora sara' possibile, anche per l'utente di sistema,
1794 creare un fie <tt class="docutils literal"><span class=
1795 "pre">.htaccess</span></tt> che sara' onorato da
1798 <p>/var/www/177.piffa.net/privata/.htaccess</p>
1799 <pre class="literal-block">
1800 # Questo file viene incluso
1801 # nella configurazione del sito web
1802 # Messaggio visualizzato al prompt per l'autenticazione
1803 AuthName "Area privata soggetta ad autentizazione"
1804 # tipo di autenticazione da usarsi
1806 # File generato precedentemente con htpasswd
1807 AuthUserFile /home/utente/passwords
1809 # Negoziazione degli accessi
1810 # valid users permette l'accesso agli utenti specificati
1811 # nel file generato da htpasswd
1815 <p>Si noti che non e' necessario fare ripartire Apache
1816 per onorare i cambiamenti (un utente non avrebbe la
1817 possibilita' di farlo!).</p>
1821 <div class="section" id="cavets">
1822 <h2><a class="toc-backref" href=
1823 "#id36">3.8 Cavets</a></h2>
1825 <p>Problemi di cache:</p>
1829 <li>Proxy: nei settaggi del browser specificare di non
1830 utilizzare un server proxy http per il sito web locale
1831 (o per gli altri che si stanno monitorando). Se si ha
1832 il controllo del proxy server: stopparlo, ricaricare la
1833 pagina (operazione che fallira'), far ripartire il
1834 proxy, ricaricare la pagina.</li>
1836 <li>Provare con un altro browser, o cercare di svuotare
1837 la cache chiudere/riaprire l'applicativo. Provare a
1838 fermare Apache, ricaricare la pagina (operazione che
1839 fallira'), far ripartire Apache, ricaricare la
1846 <div class="section" id="domain-name-system">
1847 <h1><a class="toc-backref" href=
1848 "#id37">4 Domain Name System</a></h1>
1850 <p>Domain Name System (spesso indicato con DNS) e' un
1851 servizio utilizzato per la risoluzione di nomi di host in
1852 indirizzi IP e viceversa. Il servizio e' realizzato tramite
1853 un database distribuito, costituito dai server DNS.</p>
1855 <p>Il nome DNS denota anche il protocollo che regola il
1856 funzionamento del servizio, i programmi che lo implementano,
1857 i server su cui questi girano, l'insieme di questi server che
1858 cooperano per fornire il servizio.</p>
1860 <p>I nomi DNS, o "nomi di dominio", sono una delle
1861 caratteristiche piu' visibili di Internet.</p>
1863 <p>C'e' confusione in merito alla definizione dell'acronimo:
1864 la S spesso viene interpretata come service, ma la
1865 definizione corretta e' system.</p>
1867 <p>L'operazione di convertire un nome in un indirizzo e'
1868 detta risoluzione DNS, convertire un indirizzo IP in nome e'
1869 detto risoluzione inversa.</p>
1871 <div class="section" id="nomi-di-dominio">
1872 <h2><a class="toc-backref" href=
1873 "#id38">4.1 Nomi di dominio</a></h2>
1875 <p>Un nome a dominio e' costituito da una serie di stringhe
1876 separate da punti, ad esempio it.wikipedia.org. A
1877 differenza degli indirizzi IP, dove la parte piu'
1878 importante del numero e' la prima partendo da sinistra, in
1879 un nome DNS la parte piu' importante e' la prima partendo
1880 da destra. Questa e' detta dominio di primo livello (o TLD,
1881 Top Level Domain), per esempio .org o .it.</p>
1883 <p>Un dominio di secondo livello consiste in due parti, per
1884 esempio wikipedia.org, e cosi' via. Ogni ulteriore elemento
1885 specifica un'ulteriore suddivisione. Quando un dominio di
1886 secondo livello viene registrato all'assegnatario, questo
1887 e' autorizzato a usare i nomi di dominio relativi ai
1888 successivi livelli come it.wikipedia.org (dominio di terzo
1889 livello) e altri come some.other.stuff.wikipedia.org
1890 (dominio di quinto livello) e cosi' via.</p>
1893 <div class="section" id="tipologie-di-record">
1894 <h2><a class="toc-backref" href=
1895 "#id39">4.2 Tipologie di record</a></h2>
1897 <p>Ad un nome DNS possono corrispondere diversi tipi di
1898 informazioni. Per questo motivo, esistono diversi tipi di
1899 record DNS. Ogni voce del database DNS deve essere
1900 caratterizzata da un tipo. I principali tipi sono:</p>
1903 <li>Record A - Indica la corrispondenza tra un nome ed
1904 uno (o piu') indirizzi IP (per la precisione indirizzi
1905 IPv4, ovvero la versione attualmente in uso).</li>
1907 <li>Record MX - (Mail eXchange) indica a quali server
1908 debba essere inviata la posta elettronica per un certo
1911 <li>Record CNAME - Sono usati per creare un alias, ovvero
1912 per fare in modo che lo stesso calcolatore sia noto con
1913 piu' nomi. Uno degli utilizzi di questo tipo di record
1914 consiste nell'attribuire ad un host che offre piu'
1915 servizi un nome per ciascun servizio. In questo modo, i
1916 servizi possono poi essere spostati su altri host senza
1917 dover riconfigurare i client, ma modificando solo il
1920 <li>Record PTR - Il DNS viene utilizzato anche per
1921 realizzare la risoluzione inversa, ovvero per far
1922 corrispondere ad un indirizzo IP il corrispondente nome a
1923 dominio. Per questo si usano i record di tipo "PTR" (e
1924 una apposita zona dello spazio dei nomi
1927 <li>Record AAAA - Restituisce un indirizzo IPv6.</li>
1929 <li>Record SRV - Identificano il server per un
1930 determinato servizio all'interno di un dominio. Possono
1931 essere considerati una generalizzazione dei record
1934 <li>Record TXT - Associano campi di testo arbitrari ad un
1935 dominio. Questi campi possono contenere una descrizione
1936 informativa oppure essere utilizzati per realizzare
1940 <p>Vi sono anche tipi di record "di servizio", necessari al
1941 funzionamento del database distribuito: * Record NS -
1942 Utilizzato per indicare quali siano i server DNS
1943 autoritativi per un certo dominio, ovvero per delegarne la
1944 gestione. * Record SOA - (Start of Authority) usato per la
1945 gestione delle zone DNS.</p>
1948 <div class="section" id="utilizzo">
1949 <h2><a class="toc-backref" href=
1950 "#id40">4.3 Utilizzo</a></h2>
1952 <p>I computer vengono identificati in rete grazie agli
1953 indirizzi <em>IP</em>, questi pero' non sono comodi per gli
1954 utenti come riferimento per i vari server. Ad esempio
1955 sarebbe scomodoriferirsi al motore di ricerca Goggle con
1956 uno dei suoi IP: <tt class="docutils literal"><span class=
1957 "pre">74.125.43.104</span></tt>, e' preferibile usare il
1958 nome di dominio <em>www.google.com</em>:</p>
1959 <pre class="literal-block">
1960 ping -c 1 www.google.com
1961 PING www.l.google.com (74.125.43.104) 56(84) bytes of data.
1965 <div class="section" id="risoluzione-dei-nomi-di-dominio">
1966 <h2><a class="toc-backref" href=
1967 "#id41">4.4 Risoluzione dei nomi di
1970 <p>Ci sono vari strumenti per interrogare i server DNS e
1971 ottenere l'indirizzo IP associato al nome di dominio che ci
1973 <pre class="literal-block">
1974 $ host www.piffa.net
1975 www.piffa.net is an alias for piffa.net.
1976 piffa.net has address 65.98.21.97
1977 piffa.net mail is handled by 10 65.98.21.97
1980 $ nslookup www.piffa.net
1981 Server: 192.168.0.10
1982 Address: 192.168.0.10#53
1984 Non-authoritative answer:
1985 www.piffa.net canonical name = piffa.net.
1987 Address: 65.98.21.97
1992 ; <<>> DiG 9.6.0-P1 <<>> www.piffa.net
1993 ;; global options: +cmd
1995 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47751
1996 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 4
1998 ;; QUESTION SECTION:
1999 ;www.piffa.net. IN A
2002 www.piffa.net. 3489 IN CNAME piffa.net.
2003 piffa.net. 3489 IN A 65.98.21.97
2005 ;; AUTHORITY SECTION:
2006 piffa.net. 86289 IN NS ns2.mydomain.com.
2007 piffa.net. 86289 IN NS ns1.mydomain.com.
2008 piffa.net. 86289 IN NS ns4.mydomain.com.
2009 piffa.net. 86289 IN NS ns3.mydomain.com.
2011 ;; ADDITIONAL SECTION:
2012 ns1.mydomain.com. 96208 IN A 64.94.117.193
2013 ns2.mydomain.com. 96208 IN A 64.94.31.67
2014 ns3.mydomain.com. 96208 IN A 66.150.161.137
2015 ns4.mydomain.com. 96208 IN A 63.251.83.74
2017 ;; Query time: 1 msec
2018 ;; SERVER: 192.168.0.10#53(192.168.0.10)
2019 ;; WHEN: Sun May 10 21:23:11 2009
2020 ;; MSG SIZE rcvd: 209
2023 <p>Lo strumento piu' esaustivo e' <tt class=
2024 "docutils literal"><span class="pre">dig</span></tt>,
2025 installabile con il pacchetto <tt class=
2026 "docutils literal"><span class="pre">dnsutils</span></tt>
2030 <div class="section" id="dig">
2031 <h2><a class="toc-backref" href=
2032 "#id42">4.5 Dig</a></h2>
2034 <p>Vediamo alcune opzioni utili nell'utilizzo di <tt class=
2035 "docutils literal"><span class="pre">dig</span></tt> per
2036 l'inerrogazione dei DNS Server:</p>
2037 <pre class="literal-block">
2040 ; <<>> DiG 9.6.0-P1 <<>> www.google.it
2041 ;; global options: +cmd
2043 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18816
2044 ;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 7, ADDITIONAL: 0
2046 ;; QUESTION SECTION:
2047 ;www.google.it. IN A
2050 www.google.it. 250683 IN CNAME www.google.com.
2051 www.google.com. 334819 IN CNAME www.l.google.com.
2052 www.l.google.com. 186 IN A 74.125.43.103
2053 www.l.google.com. 186 IN A 74.125.43.104
2054 www.l.google.com. 186 IN A 74.125.43.147
2055 www.l.google.com. 186 IN A 74.125.43.99
2057 ;; AUTHORITY SECTION:
2058 l.google.com. 80856 IN NS f.l.google.com.
2059 l.google.com. 80856 IN NS d.l.google.com.
2060 l.google.com. 80856 IN NS b.l.google.com.
2061 l.google.com. 80856 IN NS c.l.google.com.
2062 l.google.com. 80856 IN NS a.l.google.com.
2063 l.google.com. 80856 IN NS e.l.google.com.
2064 l.google.com. 80856 IN NS g.l.google.com.
2066 ;; Query time: 1 msec
2067 ;; SERVER: 192.168.0.10#53(192.168.0.10)
2068 ;; WHEN: Sun May 10 21:34:47 2009
2069 ;; MSG SIZE rcvd: 255
2072 <dl class="docutils">
2075 <dd>(semza opzioni o oggetti) Fornisce l'elenco dei
2076 <em>root servers</em> utilizzati. I root server sono i
2077 server che mantengono le informazioni sui domini di primo
2078 livello (TLD) e sono quindi il punto di partenza per
2079 scorrere nella directory dei DNS per recuperare le
2080 informazioni (tipicamente un campo <tt class=
2081 "docutils literal"><span class="pre">A</span></tt> per un
2082 indirizzo IP) che ci servono per raggiungere un certo
2091 <p>;; ANSWER SECTION: . 192032 IN NS C.ROOT-SERVERS.NET.
2092 . 192032 IN NS E.ROOT-SERVERS.NET. . 192032 IN NS
2093 B.ROOT-SERVERS.NET. . 192032 IN NS L.ROOT-SERVERS.NET. .
2094 192032 IN NS A.ROOT-SERVERS.NET. . 192032 IN NS
2095 F.ROOT-SERVERS.NET. . 192032 IN NS H.ROOT-SERVERS.NET. .
2096 192032 IN NS G.ROOT-SERVERS.NET. . 192032 IN NS
2097 K.ROOT-SERVERS.NET. . 192032 IN NS M.ROOT-SERVERS.NET. .
2098 192032 IN NS I.ROOT-SERVERS.NET. . 192032 IN NS
2099 J.ROOT-SERVERS.NET. . 192032 IN NS
2100 D.ROOT-SERVERS.NET.</p>
2107 <div class="section" id="dnsmasq">
2108 <h1><a class="toc-backref" href=
2109 "#id43">5 DNSmasq</a></h1>
2111 <p>Dnsmasq puo' svolgere le funzioni di un DNS cache /
2112 forwarder e un server DHCP caratterizzato dalla facilita' di
2113 configurazione, dalla leggerezza e dalla possibilita' di
2114 modificare rapidamente i record DNS serviti alla rete. Puo'
2115 essere anche utilizzato come <cite>server per il boot da rete
2116 <http://www.debian-administration.org/articles/478>_</cite>
2119 <p>Dnsmasq e' un interessante alternativa all'uso del server
2120 DNS Bind in modalita' cache-only (non autoritativo)
2121 accompagnato dal server DHCPD. I vantaggi sono:</p>
2124 <li>Leggerezza: puo' essere fatto girare su una macchina
2125 relativamente debole in caso di bisogno.</li>
2127 <li>Rapidita' di configurazione (in particolare per servire
2128 dei record A / MX alla rete, modificando al volo i valori
2129 originali ospitati sul server DNS Publico).</li>
2131 <li>Ben integrato con connssioni PPP (utile se dovete
2132 rendere disponibile rapidamente una connessione a internet
2133 a una rete in difficolta').</li>
2136 <p>Tutto cio' rende Dnsmasq una soluzione valida in
2137 particolare quando si deve intervenire in una rete
2138 pre-esistente in cui il server principale e' in crisi: si
2139 potra' utilizzare Dnsmasq anche su una macchina piu' debole e
2140 <em>mascherare</em> i servizi al momento non disponibili.
2141 Molto utile per scopi didattici, sopratutto per testare
2142 server SMTP impostando al volo i campi MX per nomi di dominio
2146 <div class="section" id="samba">
2147 <h1><a class="toc-backref" href=
2148 "#id44">6 Samba</a></h1>
2150 <p>Samba e' un progetto libero che fornisce servizi di
2151 condivisione di file e stampanti a client SMB/CIFS.</p>
2153 <p>Samba e' liberamente disponibile, al contrario di altre
2154 implementazioni SMB/CIFS, e permette di ottenere
2155 interoperabilita' tra Linux, Unix, Mac OS X e Windows.</p>
2157 <p>Samba e' un software che puo girare su piattaforme che non
2158 siano Microsoft Windows, per esempio, UNIX, Linux, IBM System
2159 390, OpenVMS e altri sistemi operativi. Samba utilizza il
2160 protocollo TCP/IP utilizzando i servizi offerti sul server
2161 ospite. Quando correttamente configurato, permette di
2162 interagire con client o server Microsoft Windows come se
2163 fosse un file e print server Microsoft agendo da Primary
2164 Domain Controller (PDC) o come Backup Domain Controller, puo'
2165 inoltre prendere parte ad un dominio Active Directory.</p>
2167 <div class="section" id="pacchetti">
2168 <h2><a class="toc-backref" href=
2169 "#id45">6.1 Pacchetti</a></h2>
2171 <p>Pacchetti da installare per utilizzare Samba in
2172 modalita' client <a class="footnote-reference" href="#id5"
2173 id="id4" name="id4">[2]</a></p>
2174 <pre class="literal-block">
2178 <p>Pacchetti da installare per utilizzare Samba in
2179 modalita' server:</p>
2180 <pre class="literal-block">
2181 samba smbfs smbclient
2184 <table class="docutils footnote" frame="void" id="id5"
2191 <tbody valign="top">
2193 <td class="label"><a class="fn-backref" href=
2196 <td>Anche se nato per i sistemi Windows, Samba puo'
2197 essere usato anche per montare cartelle sotto
2198 GNU/Linux come alternativa a NFS. Per la condivisione
2199 di stampanti sarebbe invece opportuno intervenire
2200 direttamente su <tt class=
2201 "docutils literal"><span class=
2202 "pre">CUPS</span></tt>.</td>
2207 <p>Durante la prima installazione viene chiesto il nome del
2208 gruppo di appartenenza, il default per Windows e'
2209 <tt class="docutils literal"><span class=
2210 "pre">WORKGROUP</span></tt>. In aula usiamo invece
2211 <tt class="docutils literal"><span class=
2212 "pre">208</span></tt> .</p>
2214 <p>Per riconfigurare Samba si usi il comando:</p>
2215 <pre class="literal-block">
2216 dpkg-reconfigure samba-common
2220 <div class="section" id="passwords-e-autenticazione">
2221 <h2><a class="toc-backref" href=
2222 "#id46">6.2 Passwords e
2223 autenticazione</a></h2>
2225 <p>Per poter configurare Samba in modo che usi un sistema
2226 di negoziazione degli accessi alle cartelle condivise
2227 basato su accoppiate <em>nome utente / password</em>
2228 bisogna distinguere tra 3 livelli di password (e
2229 generalmente volete usare <em>sempre la stessa
2230 password</em> per ognuno di questi) e delle differenze tra
2231 le modalita' di <em>autenticazione</em> (e quindi anche di
2232 criptaggio delle passwords) usate da sistemi GNU/Linux e
2235 <dl class="docutils">
2236 <dt>1 Sistema *Unix ( GNU/Linux )</dt>
2238 <dd>E' la password dell'<em>utente di sistema</em> che
2239 viene usata sul sistema operativo su cui gira il software
2240 Samba. E' importante tenere conto anche delle
2241 <em>user-id</em> e <em>group-id</em> degli utenti che
2242 dovranno fisicamente scrivere sui file system. Se un
2243 utente non puo' scrivere in una certa posizione del file
2244 system (ad esempio nella cartella <tt class=
2245 "docutils literal"><span class=
2246 "pre">/mnt/condivisione</span></tt> che sara' stata
2247 necessariamente creata inizialmente dall'utente
2248 <tt class="docutils literal"><span class=
2249 "pre">root</span></tt>) per mancanza dei privilegi di
2250 scrittura allora neanche Samba potra' farlo nel momento
2251 in mette a disposizione la risorsa all'utente. Se si
2252 montano file-system dedicati per le condivisioni
2253 controllare i permessi e propieta' dei <em>punti di
2254 mount*</em>. Queste passwords sono salvate nel solito
2255 file /etc/shadow (richiamato da /etc/passwd).</dd>
2257 <dt>2 Password per l'applicativo Samba</dt>
2259 <dd>Samba deve essere compatibile con Windows e quindi
2260 utilizzare un sistema di criptazione delle password
2261 diverso da /etc/shadow . Le password per Samba possono
2262 essere gestite ad esempio col comando <tt class=
2263 "docutils literal"><span class=
2264 "pre">smbpasswd</span></tt> e vengono generalmente
2265 salvate all'interno di <tt class=
2266 "docutils literal"><span class=
2267 "pre">/var/lib/samba/passdb.tdb</span></tt> .</dd>
2269 <dt>3 Password per Windows.</dt>
2271 <dd>Gli utenti Windows effettuano il log-in alla partenza
2272 della sessione di Windows. Se si avra' l'accortezza di
2273 usare sempre la <em>stessa password</em> data
2274 precedentemente anche a Windows (o viceversa impostare la
2275 password per GNU/Linux / Samba uguale a quella di
2276 Windows) l'utente potra' accedere automaticamente alle
2277 condivisioni a lui disponibili.</dd>
2281 <div class="section" id="creazione-utenti">
2282 <h2><a class="toc-backref" href=
2283 "#id47">6.3 Creazione Utenti</a></h2>
2285 <p>Creiamo per primo l'utente sotto GNU/Linux, facendo
2286 attenzione a <em>non dargli una shell di sistema</em>. Gli
2287 utenti Windows che accedono al server solo per le
2288 condivisioni non hanno bisogno di poter eseguire comandi
2291 <p>Creazione di un utente denominato sambo:</p>
2292 <pre class="literal-block">
2293 adduser --shell /bin/false sambo
2296 <p>Nel file <tt class="docutils literal"><span class=
2297 "pre">/etc/passwd</span></tt> avremo qualcosa come:</p>
2298 <pre class="literal-block">
2299 sambo:x:1001:1001:Sambo utente Samba,,,:/home/sambo:/bin/false
2302 <p>Aggiunta dell'utente al database delle password per
2303 Samba e generazione della sua password:</p>
2304 <pre class="literal-block">
2308 <p>Se successivamente si vorra' modificare la password di
2309 un utente gia' esistente si usi:</p>
2310 <pre class="literal-block">
2314 <p>La password sotto Windows verra' modificata sul sistema
2318 <div class="section" id="creare-la-condivisione">
2319 <h2><a class="toc-backref" href=
2320 "#id48">6.4 Creare la
2321 condivisione</a></h2>
2323 <p>La condivisione altro non e' che una cartella sul server
2324 che viene resa disponibile ai client negoziando l'accesso
2325 in base a una autenticazione basata su <em>user-name /
2326 password</em>. E' per altro possibile permettere l'accesso
2327 a una risorsa a chiunque indiscriminatamente (a tutti i
2328 <tt class="docutils literal"><span class=
2329 "pre">guest</span></tt>) ma la cosa e' sconsigliabile dal
2330 punto di vista della sicurezza. Si decida se la cartella
2331 condivisa debba risiedere nella <em>home</em> di un utente
2332 (nel caso quest'ultimo ne sia l'unico fruitore) o in una
2333 cartella in /mnt/ (nel caso piu' utenti accedano a questa).
2334 Nel secondo caso si potranno gestire gli accessi sotto
2335 GNU/Linux tramite i gruppi.</p>
2337 <p>Creazione della risorsa sambo_share nella home
2338 dell'utente sambo:</p>
2339 <pre class="literal-block">
2340 # mkdir /home/sambo/sambo_share
2341 # chown sambo:sambo /home/sambo/sambo_share/
2344 <div class="section" id=
2345 "sicurezza-permessi-di-esecuzione-sul-server">
2346 <h3><a class="toc-backref" href=
2347 "#id49">6.4.1 Sicurezza: permessi di
2348 esecuzione sul server</a></h3>
2350 <p>Bisognerebbe notare sul server i permessi di
2351 esecuzione del file-system che ospita la cartella da
2352 condividere. Se i file che saranno contenuti nella
2353 condivisione saranno da usarsi sotto Windows non c'e'
2354 motivo che questi siano eseguibili sotto GNU/Linux. Si
2355 potrebbe avere quindi, ipotizzando una condivisione in
2356 <tt class="docutils literal"><span class=
2357 "pre">/mnt/share</span></tt> che risieda su di un file
2358 system dedicato:</p>
2360 <p><tt class="docutils literal"><span class=
2361 "pre">/etc/fstab</span></tt></p>
2364 /dev/hda10 /mnt/share ext3 rw,
2365 <strong>nosuid,noexec</strong> 0 3
2368 <p>Si noti anche l'uso di <em>nosuid</em> per evitare la
2369 possibilita' di eseguire programmi con credenziali
2374 <div class="section" id=
2375 "configurazione-dell-applicativo-samba-vero-e-proprio">
2376 <h2><a class="toc-backref" href=
2377 "#id50">6.5 Configurazione
2378 dell'applicativo Samba vero e proprio.</a></h2>
2380 <p>Avendo preparato gli utenti (ancora una volta: non si
2381 dia una shell completa a un utente che serve solo per Samba
2382 o la posta elettronica) e la cartella sul file system si
2383 puo' procedere a configurare la condivisione su Samba.</p>
2385 <p>/etc/samba/smb.conf riga ~235 , Share Definitions (in
2386 vim si usi 235gg ):</p>
2387 <pre class="literal-block">
2389 # Percorso della cartella condivisa
2390 path = /home/sambo/sambo_share
2391 # Se gli utenti possono scrivere / modificare file
2393 # Negoziazione degli accessi su base utenti / passwords
2396 # #######################################
2397 # Altri parametri opzionali di interesse
2398 # Se posso vedere la condivisione da esplora risorse
2399 # anche se non ho i privilegi per accedervi.
2401 # Commento indicativo della risorsa
2402 comment = Condivisione per Sambo
2405 <p>Dopo aver salvato il file si puo' fare un primo
2406 controllo tramite l'utility <tt class=
2407 "docutils literal"><span class="pre">testparm</span></tt> ,
2408 che controlla la sintassi del file di configurazione di
2409 Samba. Se questo non rileva problemi si puo' procedere a un
2410 <tt class="docutils literal"><span class="pre">#</span>
2411 <span class="pre">/etc/init.d/samba</span> <span class=
2412 "pre">restart</span></tt> .</p>
2415 <div class="section" id="testare-il-servizio">
2416 <h2><a class="toc-backref" href=
2417 "#id51">6.6 Testare il Servizio</a></h2>
2419 <p>Come testare il servizio</p>
2422 <pre class="literal-block">
2423 smbclient -U sambo -L localhost
2426 <p>Questo comando permette di esplorare la risorsa
2427 qualificandosi come utente, in questo modo potete testare
2428 il corretto funzionamento dell'autenticazione. Si provi
2429 inizialmente a sbagliare la password deliberatamente, poi a
2430 inserirla correttamente: dovrebbero essere visibili le
2431 risorse disponibili al solo utente sambo: la suo /home e la
2432 cartella samba_share:</p>
2433 <pre class="literal-block">
2434 Sharename Type Comment
2435 --------- ---- -------
2436 sambo_share Disk Condivisione per Sambo
2437 print$ Disk Printer Drivers
2438 IPC$ IPC IPC Service (base server)
2439 sambo Disk Home Directories
2442 <p>In particolare l'ultima voce relativa alla home
2443 directory dell'utente dovrebbe essere visibile solo agli
2444 utenti autenticati.</p>
2446 <p>In alternativa e' possibile montare realmente la
2447 condivisone anche su GNU/Linux tramite un client per samba
2448 e testarne il corretto funzionamento:</p>
2449 <pre class="literal-block">
2450 mount -t smbfs //localhost/sambo_share /mnt/sambo_mount/ --verbose -o user=sambo
2455 <div class="section" id="firewall">
2456 <h1><a class="toc-backref" href=
2457 "#id52">7 Firewall</a></h1>
2459 <p>In Informatica, nell'ambito delle reti di computer, un
2460 firewall (termine inglese dal significato originario di
2461 parete refrattaria, muro tagliafuoco, muro ignifugo; in
2462 italiano anche parafuoco o parafiamma) e' un componente
2463 passivo di difesa perimetrale che può anche svolgere
2464 funzioni di collegamento tra due o piu' tronconi di rete.
2465 Usualmente la rete viene divisa in due sottoreti: una, detta
2466 esterna, comprende l'intera Internet mentre l'altra interna,
2467 detta LAN (Local Area Network), comprende una sezione piu' o
2468 meno grande di un insieme di computer locali. In alcuni casi
2469 e' possibile che si crei l'esigenza di creare una terza
2470 sottorete detta DMZ (o zona demilitarizzata) atta a contenere
2471 quei sistemi che devono essere isolati dalla rete interna ma
2472 devono comunque essere protetti dal firewall.</p>
2474 <p>Una prima definizione chiusa di firewall è la
2477 <p>Apparato di rete hardware o software che filtra tutti i
2478 pacchetti entranti ed uscenti, da e verso una rete o un
2479 computer, applicando regole che contribuiscono alla sicurezza
2482 <p>In realtà un firewall può essere realizzato con un
2483 normale computer (con almeno due schede di rete e software
2484 apposito), può essere una funzione inclusa in un router o
2485 può essere un apparato specializzato. Esistono inoltre i
2486 cosiddetti "firewall personali", che sono programmi
2487 installati sui normali calcolatori, che filtrano solamente i
2488 pacchetti che entrano ed escono da quel calcolatore; in tal
2489 caso viene utilizzata una sola scheda di rete.</p>
2491 <p>La funzionalità principale in sostanza è quella di
2492 creare un filtro sulle connessioni entranti ed uscenti, in
2493 questo modo il dispositivo innalza il livello di sicurezza
2494 della rete e permette sia agli utenti interni che a quelli
2495 esterni di operare nel massimo della sicurezza. Il firewall
2496 agisce sui pacchetti in transito da e per la zona interna
2497 potendo eseguire su di essi operazioni di: controllo modifica
2500 <p>Questo grazie alla sua capacità di "aprire" il
2501 pacchetto IP per leggere le informazioni presenti sul suo
2502 header, e in alcuni casi anche di effettuare verifiche sul
2503 contenuto del pacchetto.</p>
2505 <div class="section" id="links">
2506 <h2><a class="toc-backref" href=
2507 "#id53">7.1 Links</a></h2>
2510 <li><a class="reference external" href=
2511 "http://openskill.info/topic.php?ID=124">http://openskill.info/topic.php?ID=124</a></li>
2513 <li><a class="reference external" href=
2514 "http://iptables-tutorial.frozentux.net/iptables-tutorial.html">
2515 http://iptables-tutorial.frozentux.net/iptables-tutorial.html</a></li>
2519 <div class="section" id="ipfilter">
2520 <h2><a class="toc-backref" href=
2521 "#id54">7.2 Ipfilter</a></h2>
2523 <p>Link: <a class="reference external" href=
2524 "http://iptables-tutorial.frozentux.net/iptables-tutorial.html#IPFILTERING">
2525 http://iptables-tutorial.frozentux.net/iptables-tutorial.html#IPFILTERING</a></p>
2527 <p>Natura di un firewall ip: su cosa lavora (livello 2 e un
2528 po' del 3) e su cosa <em>non</em> lavora (livello 4).
2529 Netfilter lavora anche su parti del livello 3 (TCP, UDP,
2530 etc) e del livello 1 (MAC source address). Iptables
2531 comunque permette di fare il <em>connection-tracking</em>,
2532 mediante il quale possiamo implementare il Network Address
2535 <p>Netfilter non ricostruisce il flusso di dati tra
2536 pacchetti, non puo' quindi rilevare la presenza di virus o
2537 simili che si trasmettono su pacchetti separati:
2538 ricomporre, analizzare e tornare a scomporre i frammenti
2539 rtichiederebbe troppa RAM e risorse di sistema, con il
2540 conseguente rischio di saturare il firewall fino
2541 all'abbandono dei nuovi pacchetti in transito. Ci sono
2542 altri software piu' adatti a questi compiti, ad esempio un
2543 proxy HTTP come Squid che e' appunto una applicazione di
2544 quarto livello, progettata e strutturata per analizzare e
2545 modificare i flussi di dati (il <em>contenuto</em> dei
2546 pacchetti, non le sole <em>inestazioni</em>) facendo
2547 abbondate uso delle risorse RAM e di calcolo del sistema.
2548 Non a caso su macchine embedded dalle prestazioni molto
2549 ridotte (CPU ARM ~250Mhz con ~30MB di RAM) Squid sfrutta al
2550 massimo le risorse di sistema per gestire il traffico di
2551 una rete 10/100, mentre il lavoro tipico svolto da
2552 netfilter e' quasi irrilevante.</p>
2555 <div class="section" id="progettazione-di-un-firewall">
2556 <h2><a class="toc-backref" href=
2557 "#id55">7.3 Progettazione di un
2560 <p>Per implementare un firewall bisogna decidere un aio di
2561 cose: la collocazione e l'approccio (inclusivo o esclusivo)
2562 al filtraggio, il tipo di hardware.</p>
2564 <div class="section" id="collocazione">
2565 <h3><a class="toc-backref" href=
2566 "#id56">7.3.1 Collocazione</a></h3>
2568 <p>DMZ e MZ, internet, intranet, extranet. Frammentazione
2569 della rete, decidere se diversi reparti di una azienda si
2570 possano vedere tra loro e in che misura.</p>
2572 <p>Collocazione:</p>
2575 <ol class="arabic simple">
2578 <li>tra router e servers / LAN</li>
2580 <li>Unico server / router / firewall e connessi
2581 rischi. considerare l'acquisto di un router hardware
2586 <dl class="docutils">
2587 <dt>Layeed security:</dt>
2589 <dd>Implementare piu' device / software sui diversi
2590 livelli: <a class="reference external" href=
2591 "http://iptables-tutorial.frozentux.net/iptables-tutorial.html#HOWTOPLANANIPFILTER">
2592 http://iptables-tutorial.frozentux.net/iptables-tutorial.html#HOWTOPLANANIPFILTER</a></dd>
2596 <div class="section" id="policy-di-default">
2597 <h3><a class="toc-backref" href=
2598 "#id57">7.3.2 Policy di default</a></h3>
2600 <p>Drop o Accept: conseguenze per sicurezza, facilita' di
2604 <div class="section" id="hardware">
2605 <h3><a class="toc-backref" href=
2606 "#id58">7.3.3 Hardware</a></h3>
2608 <p>Sostanzialmente potremmo distinquere due tipologie di
2611 <dl class="docutils">
2612 <dt>Network appliance dedicata::</dt>
2614 <dd>Un dispositivo hardware dedicato alla funzione di
2615 Firewall, ad es un Cisco / Fortigate. Si noti che molti
2616 firewall economici altro non sono che Linux box molto
2619 <dt>Server / Personal computer:</dt>
2621 <dd>Un server sul quale viene fatto girare Netfilter ad
2622 uso del server stesso e della rete connessa.</dd>
2625 <p>Vantaggi e svantaggi: consumo elettrico, efficenza,
2626 flessibilita', strumenti di gestione, sicurezza,
2631 <div class="section" id=
2632 "percorso-dei-pacchetti-tra-tabelle-e-catene">
2633 <h2><a class="toc-backref" href=
2634 "#id59">7.4 Percorso dei pacchetti tra
2635 tabelle e catene</a></h2>
2637 <p>link: <a class="reference external" href=
2638 "http://iptables-tutorial.frozentux.net/iptables-tutorial.html#TRAVERSINGOFTABLES">
2639 http://iptables-tutorial.frozentux.net/iptables-tutorial.html#TRAVERSINGOFTABLES</a></p>
2642 <div class="section" id="concetti-di-base">
2643 <h2><a class="toc-backref" href=
2644 "#id60">7.5 Concetti di base</a></h2>
2646 <div class="section" id="tabelle-catene-regole">
2647 <h3><a class="toc-backref" href=
2648 "#id61">7.5.1 Tabelle, catene,
2651 <p>Iptables lavora su 3 tabelle (tables) di default:</p>
2654 <li>filter - Regola il firewalling: quali pacchetti
2655 accettare, quali bloccare</li>
2657 <li>nat - Regola le attività di natting</li>
2659 <li>mangle - Interviene sulla alterazione dei
2663 <p>Ogni tabella ha delle catene (chains) predefinite
2664 (INPUT, OUTPUT, FORWARD ... ) a cui possono essere
2665 aggiunte catene custom. Ogni catena è composta da un
2666 elenco di regole (rules) che identificano pacchetti di
2667 rete secono criteri diversi (es: -p tcp --dport 80 -d
2668 10.0.0.45) Ogni regola termina con una indicazione
2669 (target) su cosa fare dei pacchetti identificati dalla
2670 regola stessa (es: -j ACCEPT, -j DROP ...)</p>
2673 <div class="section" id="match">
2674 <h3><a class="toc-backref" href=
2675 "#id62">7.5.2 Match</a></h3>
2677 <p>I Match di una regola (rule) servono a testare un
2678 pacchetto per valutare se corrisponda a certe
2679 caratteriscttiche. I match di possono servire a
2680 controllare se un pacchetto e' destinato a una porta
2681 particolare o utilizza un protocollo particolare.</p>
2683 <p>Alcuni esempi:</p>
2685 <dl class="docutils">
2686 <dt>-p [!] proto</dt>
2688 <dd>Protocollo IP. Secondo IP number o nome (es: tcp,
2689 udp, gre, ah...)</dd>
2691 <dt>-s [!] address[/mask]</dt>
2693 <dd>Indirizzo IP sorgente (o network con maschera di
2696 <dt>-d [!] address[/mask]</dt>
2698 <dd>Indirizzo IP destinazione (o network)</dd>
2700 <dt>-i [!] interface[+]</dt>
2702 <dd>Interfaccia di rete di entrata ([+] wildcard)</dd>
2704 <dt>-o [!] interface[+]</dt>
2706 <dd>Interfaccia di rete di uscita ([+] wildcard)</dd>
2709 <table class="docutils option-list" frame="void" rules=
2711 <col class="option">
2712 <col class="description">
2714 <tbody valign="top">
2716 <td class="option-group"><kbd><span class=
2717 "option">-f</span></kbd></td>
2719 <td>Frammento di pacchetto</td>
2725 <div class="section" id="targets">
2726 <h3><a class="toc-backref" href=
2727 "#id63">7.5.3 Targets</a></h3>
2729 <p>Se un pacchetto soddisfa le condizioni del Match
2730 <em>salta</em> (jump) su uno dei target possibili, in
2731 caso contrario continua il suo percorso tra regole catene
2734 <p>Target principali:</p>
2736 <dl class="docutils">
2737 <dt><em>-j ACCEPT</em></dt>
2739 <dd>Il pachetto matchato viene accettato e procede
2740 verso la sua destinazione. Si usa per definire il
2741 traffico permesso.</dd>
2743 <dt><em>-j DROP</em></dt>
2745 <dd>Il pacchetto viene rifiutato e scartato, senza
2746 alcuna notifica al mittente. Si usa, in alternativa a
2747 REJECT, per bloccare traffico.</dd>
2749 <dt><em>-j REJECT</em></dt>
2751 <dd>Il pacchetto viene rifiutato. Al mittente viene
2752 mandato un pacchetto (configurabile) di notifica tipo
2753 ICMP port-unreachable (--reject-with
2754 icmp-port-unreachable)</dd>
2757 <table class="docutils option-list" frame="void" rules=
2759 <col class="option">
2760 <col class="description">
2762 <tbody valign="top">
2764 <td class="option-group"><kbd><span class=
2765 "option">-t <var>LOG</var></span></kbd></td>
2767 <td>Il pacchetto viene loggato via syslog e procede
2768 l'attraversamento della catena. Opzioni:
2769 (--log-level, --log-prefix, --log-tcp-sequence,
2770 --log-tcp-options, --log-ip-options)</td>
2774 <td class="option-group"><kbd><span class=
2775 "option">-j <var>DNAT</var></span></kbd></td>
2777 <td>Viene modificato l'IP di destinazione del
2778 pacchetto. Target disponibile solo in nat /
2779 PREROUTING e nat / OUTPUT. L'opzione
2780 --to-destination IP:porta definisce il nuovo IP di
2781 destinazione. Si usa tipicamente su network
2782 firewall che nattano server di una DMZ</td>
2786 <td class="option-group"><kbd><span class=
2787 "option">-j <var>SNAT</var></span></kbd></td>
2789 <td>Viene modificato l'IP sorgente. Solo in nat /
2790 POSTROUTING. Prevede l'opzione --to-source
2791 IP:porta. Si usa per permettere l'accesso a
2792 Internet da una rete locale con IP privati.</td>
2796 <td class="option-group"><kbd><span class=
2797 "option">-j <var>MASQUERADE</var></span></kbd></td>
2799 <td>Simile a SNAT, si applica quando i pacchetti
2800 escono da interfacce con IP dinamico (dialup, adsl,
2801 dhcp...). Si usa solo in nat / POSTROUTING e
2802 prevede l'opzione --to-ports porte.</td>
2806 <td class="option-group"><kbd><span class=
2807 "option">-j <var>REDIRECT</var></span></kbd></td>
2809 <td>Redirige il pacchetto ad una porta locale.
2810 Usabile solo in nat / PREROUTING e nat / OUTPUT è
2811 previsto per fare un transparent proxy (con proxy
2812 server in esecuzione sulla macchina con
2817 <td class="option-group"><kbd><span class=
2818 "option">-j <var>RETURN</var></span></kbd></td>
2820 <td>Interrompe l'attraversamento della catena. Se
2821 questa è una secondaria, il pacchetto torna ad
2822 attraversare la catena madre da punto in cui aveva
2823 fatto il salto nella secondaria. Se il RETURN è in
2824 una delle catene di default, il pacchetto
2825 interrompe l'attraversamento e segue la policy di
2830 <td class="option-group"><kbd><span class=
2831 "option">-j <var>TOS</var></span></kbd></td>
2833 <td>Usabile solo nella tabella mangle, permette di
2834 cambiare il TOS (Type Of Service) di un pacchetto
2835 con l'opzione --set-tos. Per un elenco dei
2836 parametri disponibili: iptables -j TOS -h</td>
2840 <td class="option-group"><kbd><span class=
2841 "option">-j <var>MIRROR</var></span></kbd></td>
2843 <td>Curioso e sperimentale, questo target invia un
2844 pacchetto speculare al mittente. In pratica è come
2845 se facesse da specchio per tutti i pacchetti
2846 ricevuti. Da usare con cautela, per evitare
2847 attacchi DOS indiretti.</td>
2854 <div class="section" id="tabella-filter">
2855 <h2><a class="toc-backref" href=
2856 "#id64">7.6 Tabella Filter</a></h2>
2858 <p>E' quella implicita e predefinita (-t filter) Riguarda
2859 le attività di filtraggio del traffico. Ha 3 catene
2860 di default: INPUT - Riguarda tutti i pacchetti destinati al
2861 sistema. In entrata da ogni interfaccia. OUTPUT - Riguarda
2862 i pacchetti che sono originati dal sistema e destinati ad
2863 uscire. FORWARD - Riguarda i pacchetti che attraversano il
2864 sistema, con IP sorgente e destinazione esterni.</p>
2866 <p>Esempio per permettere accesso alla porta 80 locale:
2867 iptables -t filter -I INPUT -p tcp --dport 80 -j ACCEPT
2868 Analoga a: iptables -I INPUT -p tcp --dport 80 -j
2871 <p>Esempio per permettere ad un pacchetto con IP sorgente
2872 10.0.0.4 di raggiungere il server 192.168.0.1 attraversando
2873 il firewall: iptables -I FORWARD -s 10.0.0.4 -d 192.168.0.1
2877 <div class="section" id="gestione-regole-rules">
2878 <h2><a class="toc-backref" href=
2879 "#id65">7.7 Gestione regole
2882 <p>Il comando iptables viene usato per ogni attivitÃ
2883 di gestione e configurazione.</p>
2885 <p>Inserimento regole:</p>
2887 <dl class="docutils">
2888 <dt>iptables -A CATENA ...</dt>
2890 <dd>Aggiunge una regola alla fine della catena
2893 <dt>iptables -I CATENA [#] ...</dt>
2895 <dd>Inserisce alla riga # (default 1) una regola nella
2896 catena indicata</dd>
2898 <dt>iptables -N CATENA</dt>
2900 <dd>Crea una nuova catena custom</dd>
2902 <dt>iptables -P CATENA TARGET</dt>
2904 <dd>Imposta il target di default per la catena
2908 <p>Rimozione regole e azzeramenti:</p>
2910 <dl class="docutils">
2911 <dt>iptables -F [catena]</dt>
2913 <dd>Ripulisce tutte le catene (o quella indicata)</dd>
2915 <dt>iptables -X [catena]</dt>
2917 <dd>Ripulisce tutte le catene custom (o quella
2920 <dt>iptables -Z [catena]</dt>
2922 <dd>Azzera i contatori sulle catene</dd>
2924 <dt>iptables -D catena #</dt>
2926 <dd>Cancella la regola numero # dalla catena
2930 <p>Interrogazione:</p>
2932 <dl class="docutils">
2933 <dt>iptables -L</dt>
2935 <dd>Elenca le regole esistenti</dd>
2937 <dt>iptables -L -n -v</dt>
2939 <dd>Elenca, senza risolvere gli host, in modo verboso le
2940 regole esistenti</dd>
2945 <div class="section" id="note">
2946 <h1><a class="toc-backref" href=
2947 "#id66">8 NOTE</a></h1>
2950 <li>controllare apache</li>
2953 <p>sintassi: in <tt class="docutils literal"><span class=
2954 "pre">monospace</span></tt> :</p>
2957 <li>nomi di files</li>