From fddb1061e75dac58dfa0ac863126b6c190bc5c62 Mon Sep 17 00:00:00 2001 From: Andrea Manni Date: Mon, 18 May 2009 13:02:02 +0200 Subject: [PATCH] Prima stesura di Squid, da correggere --- servizi.html | 630 ++++++++++++++++++++++++++++++++++----------- source/servizi.txt | 181 ++++++++++++- 2 files changed, 662 insertions(+), 149 deletions(-) diff --git a/servizi.html b/servizi.html index ef65002..9c85f5e 100644 --- a/servizi.html +++ b/servizi.html @@ -383,268 +383,327 @@ -
  • 2   Squid
  • +
  • + 2   Squid + + +
  • - 3   Apache + 3   Apache
  • 4   Domain Name + id="id45" name="id45">4   Domain Name System
  • -
  • 5   DNSmasq
  • +
  • 5   DNSmasq
  • - 6   Samba + 6   Samba
  • - 7   Firewall + 7   Firewall
  • -
  • 8   NOTE
  • +
  • 8   NOTE
  • @@ -1081,7 +1140,7 @@ deb-src http://volatile.debian.org/debian-volatile Lenny/volatile main

    Questo file contiene le opzioni di apt, come ad esempio il proxy:

    -Acquire::http::Proxy "http://10.10.208.254:3128"
    +Acquire::http::Proxy "http://10.10.208.254:3128";
     

    Si tenga conto che se si imposta un proxy per apt sul @@ -1095,11 +1154,258 @@ Acquire::http::Proxy "http://10.10.208.254:3128"

    2   Squid

    + +

    Per installare Squid si usino i pacchetti:

    +
    +squid3
    +
    + +
    +

    2.1   Configurazione: + squid.conf

    + +

    Segue un estratto del file di configurazione:

    +
    +#TAG: cache_dir (1628)
    +#       Usage:
    +#
    +#       cache_dir Type Directory-Name Fs-specific-data [options]
    +#
    +#       You can specify multiple cache_dir lines to spread the
    +#       cache among different disk partitions.
    +#       ...
    +#Default:
    +# cache_dir ufs /var/spool/squid3 100 16 256
    +cache_dir aufs /var/spool/squid3 300 24 256
    +#         algoritmo
    +#              path della cache
    +#                                dimensione in MB
    +#                                    directory primo livello
    +#                                       secondo livello di directory
    +
    + +

    Se si modifica la struttura del filesytem della cache di + Squid, ad esempio variando il numero delle directory, puo' + essere (ed in genere lo e') opportuno rigenerare la + struttura della cache di squid. Tipicamente e' opportuno + cancellare la vecchia cache e poi generarne una nuova:

    +
    +# /etc/init.d/squid3 stop
    +# rm -r /var/spool/squid3/??
    +# squid3 -z
    +# /etc/init.d/squid3 start
    +
    + +
    +

    2.1.1   TAG: + maximum_object_size

    + +

    Questa direttiva imposta la dimensione massima degli + oggetti che vengono slvati sul supporto di storaggio, + oggetti di dimensioni superiori verranno scaricati ma non + tenuti in cache.

    + +

    TAG: maximum_object_size (1760):

    +
    +# TAG: maximum_object_size (1760)
    +#       Objects larger than this size will NOT be saved on disk.  The
    +#       value is specified in kilobytes, and the default is 4MB.  If
    +#       you wish to get a high BYTES hit ratio, you should probably
    +#       increase this (one 32 MB object hit counts for 3200 10KB
    +#       hits).  If you wish to increase speed more than your want to
    +#       save bandwidth you should leave this low.
    +#
    +#       NOTE: if using the LFUDA replacement policy you should increase
    +#       this value to maximize the byte hit rate improvement of LFUDA!
    +#       See replacement_policy below for a discussion of this policy.
    +#
    +#Default:
    +# maximum_object_size 4096 KB
    +maximum_object_size 150 MB
    +
    +
    + +
    +

    2.1.2   TAG: cache_mem

    + +

    Cache_mem imposta quanta memoria RAM + utilizzare per la cache di Squid. Questo dipendera' dalla + RAM disponibile sul sistema, e da quanta di questa volete + mettere a disposizione di Squid. Questo paramentro + influisce sulle prestazioni e sul degrado dei supporti di + storaggio (sopratutto se magnetici).

    + +

    TAG: cache_mem (1566):

    +
    +#       'cache_mem' specifies the ideal amount of memory to be used
    +#       for:
    +#               * In-Transit objects
    +#               * Hot Objects
    +#               * Negative-Cached objects
    +#Default:
    +# cache_mem 8 M
    +cache_mem 100 M
    +
    +
    + +
    +

    2.1.3   TAG: + minimum_object_size

    + +

    Questo paramentro imposta la dimensione minima degli + oggetti salvati nella cache. Settato a 0 o a + valori molto piccoli puo' influire negativamente sulla + deframmentazione del filesytem e consumare un numero + elevato di inode.

    + +

    TAG: minimum_object_size:

    +
    +#  TAG: minimum_object_size     (bytes)
    +#       Objects smaller than this size will NOT be saved on disk.  The
    +#       value is specified in kilobytes, and the default is 0 KB, which
    +#       means there is no minimum.
    +#
    +#Default:
    +# minimum_object_size 0 KB
    +minimum_object_size 0 KB
    +
    +
    +
    + +
    +

    2.2   Negoziazione degli accesi al + servizio

    + +

    Squid e' uno di quei servizi soggetto a problemi di tipo + open relay, si deve quindi limitare la rete che + puo' accedere al servizio.

    + +
    +

    2.2.1   ACL e http access

    + +

    Si proceda a creare una ACL di + tipo src per identificare la lostra rete + locale, poi si abiliti l'accesso a questa con la + direttiva http_access. Tutto quanto non e' + espressamente autorizzato viene poi negato da un + http_access deny + all finale.

    +
    +#  TAG: acl
    +#       Defining an Access List
    +#
    +#       Every access list definition must begin with an aclname and acltype,
    +#       followed by either type-specific arguments or a quoted filename that
    +#       they are read from.
    +#       ...
    +#       ***** ACL TYPES AVAILABLE *****
    +#
    +#       acl aclname src ip-address/netmask ...          # clients IP address
    +# riga 588
    +
    +# Example rule allowing access from your local networks.
    +# Adapt to list your (internal) IP networks from where browsing
    +# should be allowed
    +#acl localnet src 10.0.0.0/8    # RFC1918 possible internal network
    +#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
    +#acl localnet src 192.168.0.0/16        # RFC1918 possible internal network
    +#
    +acl localnet src 10.10.208.0/24
    +# Riga 606
    +#  TAG: http_access
    +#       Allowing or Denying access based on defined access lists
    +#
    +#       Access to the HTTP port:
    +#       http_access allow|deny [!]aclname ...
    +#
    +#       NOTE on default values:
    +#
    +#       If there are no "access" lines present, the default is to deny
    +#       the request.
    +
    +# Riga 643
    +# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
    +
    +# Example rule allowing access from your local networks.
    +# Adapt localnet in the ACL section to list your (internal) IP networks
    +# from where browsing should be allowed
    +#http_access allow localnet
    +http_access allow localnet
    +
    +
    +
    + +
    +

    2.3   Testare Squid

    + +

    Configurato squid e' fondamentale testarne il corretto + funzionamento per assicurarsi di non aver creato un + open-relay. Per fare dei test significativi serve + utilizzare degli host remoti: ci si connetta via ssh a + questi per poi utilizzare wget da + riga di comando.

    + +
    +

    2.3.1   wgetrc

    + +

    Nel file .wgetrc (si noti il punto iniziale: e' + un file nascosto) si puo' impostare il proxy per wget. Si + utililizzi l'indirizzo ip del server che si vuole + testare, e si seguano i log /var/log/squid3/access.log sul + server.

    + +

    Da notare che la prova va' fatta su una macchina della + rete che si vuole testare, non da localhost. Per + altro se si utilizzasse direttamente localhost non si testerebbe la + ACL predisposta, dato che si si rientrerebbe + nella ACL (pre-configurata di default) localhost.

    + +
    +
    .wgetrc
    + +
    http_proxy=10.10.208.178:3128
    +
    + +

    Si proceda a scaricare dal client scelto con un + wget:

    +
    +wget http://www.google.it
    +
    + +

    Si puo' controllare il corretto funzionamento del + server seguendo i log di accesso a Squid:

    +
    +# tail -f /var/log/squid3/access.log
    +
    +
    +

    3   Apache

    + "#id25">3   Apache

    Apache HTTP Server, o piu' comunemente Apache, e' il nome dato alla piattaforma server Web modulare piu' diffusa (ma @@ -1117,7 +1423,7 @@ Acquire::http::Proxy "http://10.10.208.254:3128"

    3.1   Pacchetti da + "#id26">3.1   Pacchetti da installare::

    @@ -1131,7 +1437,7 @@ Acquire::http::Proxy "http://10.10.208.254:3128"

    3.2   Configurazione di + "#id27">3.2   Configurazione di Apache

    I file di configurazione di apache si trovano nella @@ -1190,7 +1496,7 @@ Acquire::http::Proxy "http://10.10.208.254:3128"

    3.3   apache.conf

    + "#id28">3.3   apache.conf

    File di configurazione del servizio Apache, contiene le impostazioni generiche (ad esempio utilizzo della RAM e @@ -1247,7 +1553,7 @@ Acquire::http::Proxy "http://10.10.208.254:3128"

    3.4   Installazione di PHP

    + "#id29">3.4   Installazione di PHP

    Pacchetti da installare: php5 @@ -1255,7 +1561,7 @@ Acquire::http::Proxy "http://10.10.208.254:3128"

    3.4.1   Test del modulo + "#id30">3.4.1   Test del modulo php

    Creare nella cartella

    3.4.2   Installazione del supporto + "#id31">3.4.2   Installazione del supporto per Mysql

    Installare i pacchetti:

    @@ -1302,7 +1608,7 @@ php5-mysql phpmyadmin

    3.4.3   phpmyadmin

    + "#id32">3.4.3   phpmyadmin

    L'interfaccia web Phpmyadmin non richede necessariamente la presenza di un database Mysql locale, @@ -1327,7 +1633,7 @@ php5-mysql phpmyadmin

    3.4.4   Installazione del supporto + "#id33">3.4.4   Installazione del supporto per Postgresql

    Installare i pacchetti:

    @@ -1344,7 +1650,7 @@ php5-pgsql phppgadmin

    3.4.5   phppgadmin

    + "#id34">3.4.5   phppgadmin

    L'interfaccia web Phppgadmin per il database server PostgreSQL non richede necessariamente la presenza di un @@ -1369,7 +1675,7 @@ php5-pgsql phppgadmin

    3.5   Virtual hosts

    + "#id35">3.5   Virtual hosts
      @@ -1410,7 +1716,7 @@ php5-pgsql phppgadmin

      3.5.1   Gestione DNS

      + "#id36">3.5.1   Gestione DNS

      Prima di tutto per poter impostare i virtual hosts dovete avere un server DNS che risolva i vostri nomi di @@ -1493,7 +1799,7 @@ php5-pgsql phppgadmin

      3.5.2   Virtual host

      + "#id37">3.5.2   Virtual host

      Esempio di Virtual host:

      @@ -1605,7 +1911,7 @@ php5-pgsql phppgadmin
       
             

      3.6   Negoziazione accessi

      + "#id38">3.6   Negoziazione accessi

      Tipicamente quando si installa un server web il proprio desiderio e' di dare accesso ai materiali disponibili al @@ -1618,7 +1924,7 @@ php5-pgsql phppgadmin

      3.6.1   Limiti su base ip

      + "#id39">3.6.1   Limiti su base ip

      La forma piu' semplice di restrizine degli accessi e' su base degli indirizzi IP dei client: tipicamente i siti @@ -1673,7 +1979,7 @@ php5-pgsql phppgadmin

      3.7   User Authentication

      + "#id40">3.7   User Authentication

      A volte conviene negoziare gli accessi ad un area di un sito tramite autenticazione basata sull'accopiata nome @@ -1690,7 +1996,7 @@ php5-pgsql phppgadmin

      3.7.1   Definire la + "#id41">3.7.1   Definire la cartella

      Decidere quale sara' il path della cartella @@ -1707,7 +2013,7 @@ php5-pgsql phppgadmin

      3.7.2   Creazione del database + "#id42">3.7.2   Creazione del database delle passwords

      Un modo semplice per gestire una database di @@ -1745,7 +2051,7 @@ htpasswd -c /home/utente/passwords luca

      3.7.3   Configurazione di + "#id43">3.7.3   Configurazione di Apache

      Ora possiamo passare alla configurazione vera e @@ -1820,7 +2126,7 @@ require valid-user

      3.8   Cavets

      + "#id44">3.8   Cavets

      Problemi di cache:

      @@ -1845,7 +2151,7 @@ require valid-user

      4   Domain Name System

      + "#id45">4   Domain Name System

      Domain Name System (spesso indicato con DNS) e' un servizio utilizzato per la risoluzione di nomi di host in @@ -1870,7 +2176,7 @@ require valid-user

      4.1   Nomi di dominio

      + "#id46">4.1   Nomi di dominio

      Un nome a dominio e' costituito da una serie di stringhe separate da punti, ad esempio it.wikipedia.org. A @@ -1892,7 +2198,7 @@ require valid-user

      4.2   Tipologie di record

      + "#id47">4.2   Tipologie di record

      Ad un nome DNS possono corrispondere diversi tipi di informazioni. Per questo motivo, esistono diversi tipi di @@ -1947,7 +2253,7 @@ require valid-user

      4.3   Utilizzo

      + "#id48">4.3   Utilizzo

      I computer vengono identificati in rete grazie agli indirizzi IP, questi pero' non sono comodi per gli @@ -1964,7 +2270,7 @@ PING www.l.google.com (74.125.43.104) 56(84) bytes of data.

      4.4   Risoluzione dei nomi di + "#id49">4.4   Risoluzione dei nomi di dominio

      Ci sono vari strumenti per interrogare i server DNS e @@ -2029,7 +2335,7 @@ ns4.mydomain.com. 96208 IN A 63.251.83.74

      4.5   Dig

      + "#id50">4.5   Dig

      Vediamo alcune opzioni utili nell'utilizzo di dig per @@ -2106,7 +2412,7 @@ l.google.com. 80856 IN NS g.l.google.com.

      5   DNSmasq

      + "#id51">5   DNSmasq

      Dnsmasq puo' svolgere le funzioni di un DNS cache / forwarder e un server DHCP caratterizzato dalla facilita' di @@ -2145,7 +2451,7 @@ l.google.com. 80856 IN NS g.l.google.com.

      6   Samba

      + "#id52">6   Samba

      Samba e' un progetto libero che fornisce servizi di condivisione di file e stampanti a client SMB/CIFS.

      @@ -2166,7 +2472,7 @@ l.google.com. 80856 IN NS g.l.google.com.

      6.1   Pacchetti

      + "#id53">6.1   Pacchetti

      Pacchetti da installare per utilizzare Samba in modalita' client

      6.2   Passwords e + "#id54">6.2   Passwords e autenticazione

      Per poter configurare Samba in modo che usi un sistema @@ -2280,7 +2586,7 @@ dpkg-reconfigure samba-common

      6.3   Creazione Utenti

      + "#id55">6.3   Creazione Utenti

      Creiamo per primo l'utente sotto GNU/Linux, facendo attenzione a non dargli una shell di sistema. Gli @@ -2317,7 +2623,7 @@ smbpasswd sambo

      6.4   Creare la + "#id56">6.4   Creare la condivisione

      La condivisione altro non e' che una cartella sul server @@ -2344,7 +2650,7 @@ smbpasswd sambo

      6.4.1   Sicurezza: permessi di + "#id57">6.4.1   Sicurezza: permessi di esecuzione sul server

      Bisognerebbe notare sul server i permessi di @@ -2374,7 +2680,7 @@ smbpasswd sambo

      6.5   Configurazione + "#id58">6.5   Configurazione dell'applicativo Samba vero e proprio.

      Avendo preparato gli utenti (ancora una volta: non si @@ -2414,7 +2720,7 @@ smbpasswd sambo

      6.6   Testare il Servizio

      + "#id59">6.6   Testare il Servizio

      Come testare il servizio

      @@ -2454,7 +2760,7 @@ mount -t smbfs //localhost/sambo_share /mnt/sambo_mount/ --verbose -o user=sambo

      7   Firewall

      + "#id60">7   Firewall

      In Informatica, nell'ambito delle reti di computer, un firewall (termine inglese dal significato originario di @@ -2504,7 +2810,7 @@ mount -t smbfs //localhost/sambo_share /mnt/sambo_mount/ --verbose -o user=sambo