Your SlideShare is downloading. ×
0
Corso Avanzato GNU/Linux

            e
       Op n     n s u l t i n g
           co
Docente:

Gianluca Granero
Di cosa ci occuperemo


           Configurazione e Diagnosi
               Pacchetti
               Rete
               F...
Di cosa ci occuperemo                (2)




           Networking e Servizi di Base
               Accesso Remoto
       ...
Sistemi di pacchettizzazione
           RedHat Package Management
                       Debian Package
Configurazione e Diagnosi


           Sistemi di pacchettizzazione
               DPKG
                Debian Package
   ...
RPM - fondamenti


           Aggiornabilità
           Usando RPM potete aggiornare singoli componenti del
           sis...
RPM - fondamenti                           (2)



           Opzioni di interrogazione
           RPM fornisce potenti opz...
RPM - fondamenti                            (3)




           Verifica del sistema
           Un'altra funzione molto uti...
RPM - fondamenti                           (4)




           Sorgenti inalterate
           Uno degli obiettivi principal...
RPM - fondamenti               (5)




           Il formato standard dei pacchetti
               foo­1.0­1.i386.rpm 
   ...
RPM - utilizzo


      QUERYING PACKAGES...
          rpm {­q|­­query} [select­options] [query­options]
               rpm...
RPM - utilizzo                       (2)




         Opzioni di selezione...
               ­a interroga tutti i pacchett...
RPM - utilizzo                    (3)




           Opzioni di selezione...
               ­g <gruppo> 
                 ...
RPM - utilizzo                      (4)




           Opzioni di interrogazione...
               ­i mostra informazioni ...
RPM - utilizzo             (5)




          Opzioni di interrogazione...
               ­v per trasformare la visualizzaz...
RPM - utilizzo                       (6)




           AND VERIFYING...
               la verifica confronta le dimension...
RPM - utilizzo                   (7)




           Tag di verifica:
           5 - MD5 checksum
               S ­ dimens...
RPM - installazione


           Opzioni:
               ­i : installa
               ­U : aggiorna / installa
           ...
RPM - installazione           (2)




           Utilizzo tipico
               rpm ­Uvh foo­1.0­1.i386.rpm
           Ris...
RPM - installazione       (3)


      La firma di un pacchetto viene verificata
      durante l'installazione o l'aggiorna...
RPM - rimozione

           Rimozione di un pacchetto foo-1.1-1
               rpm ­e foo
           Attenzione ai problem...
RPM - Refresh


           Installa nuove versioni di pacchetti
           già presenti nel sistema
               rpm ­Fv...
RPM - problemi


         Pacchetti già installati
               Package foo­1.0­1 is already installed
               op...
RPM - problemi               (2)




       File in conflitto
           file /usr/bin/foo from install of foo­1.0­1 
    ...
RPM - problemi              (3)




           Dipendenze non risolte
               error: Failed dependencies:
         ...
RPM - problemi           (4)




       •   Dipendenze non risolte   (2)

           –   opzione ­­nodep




Lug Roma Tre ...
RPM - problemi              (4)




   •   Aggiornamento
       –   incompatibilità in avanti
           •
               ...
RPM - il database


       •   Ricostruire il DB dei pacchetti
           –   rpm ­­initdb | ­­rebuilddb
       •   Trovar...
RPM - ricompilazione



   •   RPMS - pacchetto sorgente
       –   rpmbuild ­­clean ­­target=i386 foo.rpms
   •   Serve p...
RPM - documentazione

       •   man rpm
       •   rpm --help
       •   http://www.rpm.org/
       •   Package Managemen...
DPKG - fondamenti

     •   Sistema di pacchettizzazione per
         distribuzione DEBIAN
     •   Molto simile ad RPM
  ...
DPKG - debian pkg

       •   Il pacchetto:
           –   è in formato ar
           –   contiene 
               •
     ...
DPKG - fondamenti (2)
  •   utilizzo di alien
      –   alien ­­to­deb  
          [opzioni ] file_da_convertire
      –  ...
DPKG - utilizzo


       •   dpkg -c zsh_3.1.2-10.deb
           –   Mostra l'elenco dei file che 
               compongo...
DPKG - utilizzo           (2)




       •   dpkg -I zsh_3.1.2-10.deb
           –   Mostra tutte le informazioni 
       ...
DPKG - utilizzo         (3)




       •   dpkg -i zsh_3.1.2-10.deb
           –   Installa, o aggiorna, il pacchetto 
   ...
DPKG - utilizzo         (4)




       •   dpkg -r zsh
           –   Rimuove il pacchetto indicato, senza 
              ...
DPKG - utilizzo        (5)




       •   pkg --purge zsh
           –   Elimina completamente il pacchetto 
             ...
DPKG - utilizzo            (6)




       •   dpkg -l
           –   Elenca lo stato di tutti i pacchetti 
               ...
DPKG - utilizzo           (7)




       •   dpkg -l z*
           –   Elenca lo stato di tutti i pacchetti 
             ...
DPKG - utilizzo         (8)




       •   dpkg -s zsh
           –   Mostra le informazioni sullo stato 
               d...
Stato di un pacchetto

       •   TAG
           –   installed
               •
                   unpacked and configured...
Stato di un pacchetto                 (2)




       •   TAG
           –   unpacked
               •
                   u...
Stato di un pacchetto                    (3)




       •   TAG
           –   config­files
               •
             ...
DPKG - utilizzo          (9)




         •     dpkg -L zsh
               –   Elenca i file che appartengono al 
        ...
DPKG - utilizzo          (10)




       •   dpkg -S /bin/cat
           –   Cerca di scoprire a chi appartiene il 
      ...
DPKG - albero della distribuzione


     •   Distribuzioni
         –     stable, testing, unstable
     •   Gruppi
      ...
APT tool
                     advanced package

   •   Utility di gestione delle sorgenti di
       pacchetto
       –   P...
APT - utilizzo

  •   Aggiornamento della lista dei pacchetti
      –   apt­get update
  •   Aggiornamento dei pacchetti
 ...
APT - utilizzo (2)


      •   Upgrade della distribuzione (opzionale)
          –    apt­get ­f dist­upgrade 
      •   C...
dselect


       •   Tool di configurazione visuale
       •   Shell-mode, molto leggero
       •   Si utilizzano i tasti ...
La rete
Configurazione e Diagnosi
La Rete

       •   Viene mutuata da BSD
       •   Supporta IPv4 e IPv6
       •   Disponibili demoni routing
           ...
La Rete   (2)




       •   Comandi di configurazione
           –   ifconfig
           –   route
           –   arp


L...
ifconfig

   •   ifconfig interface [aftype] options | address
       –   interface ­> eth0, en0, ...
           •
       ...
ifconfig      (2)



  •   ifconfig interface [aftype] options | address
      –   options 
          •
               up,...
ifconfig - utilizzo

       •   ifconfig eth0 193.205.140.245/24 up
           –   attiva la eth0
               •
       ...
Linux- IPv6

       •   Check List per IPv6
           – kernel ready?

               /proc/net/if_inet6
               •...
ifconfig - IPv6


   •   Attivare l’intertfaccia IPv4
       –   ifconfig eth0 193.205.140.243/24 up
   •   Attivare il su...
ifconfig - MAC address

  •   E’ possibile variare il MAC address
      –   ifconfig eth0 hw ether aa:bb:cc:dd:ee:ff
     ...
route

  •   Tool di manipolazione della routing table
      –   mantenimento di rotte statiche
          •
              ...
route - add
       •   route [-v] [-A family] add [-net|-host]
           target [netmask Nm] [gw Gw] [[dev]
           If...
route del

  •   route [-v] [-A family] del [-net|-host]
      target [gw Gw] [netmask Nm] [[dev] If]
      –   attenzione...
route - utilizzo
       •   Inserimento di una rotta
           –   ifconfig inserisce per noi
               •
          ...
route - utilizzo



       •   Cancellazione di una rotta
           –   route del ­net 10.0.0.0/24 eth0




Lug Roma Tre ...
route - utilizzo
       •   Visualizzazione della routing table
           –   route
               •
                   r...
Lettura della routing table



   •   Kernel IP routing table
       Destination Gateway      Genmask Flags Metric Ref    ...
I Flags
   •   193.204.161.0 *            255.255.255.0 U   0   0        0 eth0
       –   U (route is up)
           H (t...
La metrica


       •   Numero di hop che ci vogliono per
           raggiungere quella net|host
           –   non utiliz...
arp

       •   Ogni macchina ha una sua cache ARP
           –   si compila automaticamente
           –   possono essere...
arp - utilizzo

  •    arp [-vn] [<HW>] [-i <if>] [-a] [<hostname>]
      –   visualizza          
  •   arp [-v] [-i <if>...
arp - utilizzo       (2)




     •   arp [-v] [<HW>] [-i <if>] -s <hostname>
         <hwaddr> [temp][nopub]
         –  ...
arp - utilizzo       (3)




       •   arp [-v] [<HW>] [-i <if>] -Ds
           <hostname> <if> [netmask <nm>] pub
      ...
ip




       •   OBSOLETO iproute




Lug Roma Tre                  A.Cecchetti - 2003
La Rete    (3)




       •   Comandi di diagnosi
           –   ping, ping6
           –   traceroute, traceroute6
      ...
netstat

       •   Visualizza
           –   connessioni di rete
           –   tabelle di routing
           –   statist...
ping

     •   Manda un messaggio ICMP (echo request)
     •   Aspetta una risposta ICMP (echo reply)
     •   Parametri:
...
traceroute
  •   Visualizza la rotta seguita da un pacchetto
      IP
      –   ­m <TTL>
      –   ­p <port>
      –   ­s ...
netstat - utilizzo
       •   senza alcun parametro visualizza
           – connessioni di rete aperte

               pro...
netstat - server

         •    netstat -l
              –    mostra le porte in stato LISTEN
    Active Internet connecti...
netstat - statistiche

   •   netstat -s
       –   mostra le statistiche divise per protocollo
 Icmp:                    ...
tcpdump
     •   Tool per il dump del traffico di rete
         –     tcpdump [ ­adeflnNOpqRStuvxX ] [ ­c count ] [ ­C fil...
tcpdump - utilizzo
   •   tcpdump -n not port 80 and host 193.204.161.11
   •   tcpdump -n arp or ( (port 80 and port 23) ...
La Rete   (4)




       •   Demoni di Routing
           –   gated
           –   Zebra



Lug Roma Tre                  ...
gated


  •   Prodotto commerciale di nexthop
      –   rilasciato con licenza GPL usi accademici
      –   gestisce Rip v...
gated           (2)




     •   File di configurazione
         –     rip yes 
               {
                       in...
gated       (3)




       •   File di configurazione:
           –   export proto rip 
               {
                 ...
Zebra
     •   Prodotto Open Source (GPL)
     •   Multi dèmone (uno per ogni protocollo)
         –   bgpd
             M...
Zebra         (2)




    •   File di configurazione
        –   /etc/zebra
        –   <protocollo>.conf
        –   zebr...
Zebra          (3)



       •   router bgp 7675
           ! bgp router-id 10.0.0.1
           ! network 10.0.0.0/8
     ...
La Rete          (5)


       •   I servizi
           –   inetd, telnet, ftp, ssh
           –   lpd, cups 
           – ...
inetd


    •   Il ‘super-server’ internet
        –   gestisce le connessioni con i servizi
        –   serve per ridurre...
inetd     (2)




       •   File di configurazione
           –   /etc/inetd.conf
           –   /etc/hosts.allow
       ...
inetd - inetd.conf

       •   Ogni riga contiene:
           – service name

           – socket type

           – proto...
inetd.conf


  •   ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/proftpd
      –   servizio ftp su TCP multithreaded...
inted.conf - parametri

       •   The service-name entry is the name
           of a valid service in the
           file...
inted.conf - parametri

       •   The wait/nowait entry is applicable
           to datagram sockets only
           –   ...
inetd.conf - parametri


       •   The server-program entry should
           contain the pathname of the program
       ...
tcpwrappers

    •   Prima forma di firewalling host­based
    •   Componenti del controllo:
        –   tcpd ­ access con...
hosts.allow e hosts.deny

   •   Commenti: iniziano per #
   •   Righe di specifica
       –   daemon_list:client_list
   ...
hosts.allow e hosts.deny
                               (2)




       •   Pattern accettabili:
           –   nomi che pa...
hosts.allow e hosts.deny
                                  (3)



       •   Pattern accettabili:
           –   `n.n.n.n/...
tcpwrappers

               •   Peso delle regole nei files:
                   –   più pesanti le regole di allow
       ...
hosts.allow e hosts.deny
                         (4)
     •   /etc/hosts.deny:
               ALL: ALL
     •   /etc/host...
telnet

       •   Controllato da inetd
           –   in.telnetd
       •   esistono server avanzati con
           –   k...
ftp


       •   /etc/ftpusers
           –   definisce gli utenti a cui non è 
               permesso il login
       • ...
ftp - sicurezza

    •   chroot
        –   nella directory chroot devono trovarsi:
            •
                librerie...
proFTPd

       •   Server FTP maggiormente utilizzato
           –   /etc/proftpd.conf
       •   Direttive <Directory> c...
ssh
       •   Secure Shell Protocol v.1 (porta 22)
           –   autenticazione host­based
               •
            ...
ssh

  •   Generazione delle chiavi
      ssh­keygen
      –
ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C
com...
ssh


    •   RSA base authentication
        –   algoritmo crittografia a chiave pubblica
            •
                $...
ssh2
  •   Secure Shell Protocol v.2 (porta 22)
      –   RSA, DSA
  •   file /etc/ssh/sshd_config
      /etc/ssh/ssh_conf...
ssh2


       •   Fasi di autenticazione
           –   metodo hostbased
           –   metodo public key
           –   k...
lpd

       •   line printer spooler daemon
           –   /etc/hosts.equiv o /etc/hosts.lpd
           –   /etc/printcap
...
lpd

       •   Visualizzazione della coda
           –   lpq ­P<nome_coda>
       •   Rimozione del job
           –   lp...
lpd


       •   Tool di creazione della coda
           –   printtool
       •   Filtri per le code
           –   /usr/l...
cups

     •   common unix printing system
         –     sistema evoluto per la gestione delle 
               code di st...
cups

       •   Sistema di gestione web-based
           –   http://localhost:631
       •   Attenzione alle richieste di...
nfs
       •   Network FileSystem
           –   nfsd.o
               •
                   kernel module part
           ...
nfs

    •   Controllo delle esportazioni
        –   /etc/exports
               •
                   /home 10.0.0.3(rw,n...
nfs


       •   Impostare le esportazioni
           –   exportfs ­a
       •   Controllare le esportazioni
           – ...
nfs

  •   Montare una partizione NFS
      –   mount ­t nfs <server>:/<rdir> <mdir>
      –   /etc/fstab
 seneca:/home /h...
samba

     •   SMB/CIFS services per client tipo:
         – MSCLIENT 3.0 for DOS

         – Windows for Workgroups

   ...
samba

       •   smbd
           –   demone SMB/CIFS
       •   nmbd
           –   netbios nameserver (over IP)
       •...
samba
       •   /etc/smb.conf
           –   contiene le configurazioni dei 
               servizi
                     ...
samba

       •   Visualizzare le risorse disponibili
           –   smbclient ­L <indirizzo>
       •   Visualizzare le r...
samba - visualizzare
         Sharename      Type      Comment
               ­­­­­­­­­      ­­­­      ­­­­­­­
           ...
sendmail

  •   mail transport agent
      –   spedisce i messaggi a 1 o più caselle
      –   veicola i messaggi di posta...
sendmail - i file

       •   /etc/mail
           –   /sendmail.conf
               •
                   configurazione d...
sendmail - i file          (2)




       •   Altri file di configurazione
           –   /etc/mail/aliases
              ...
sendmail - m4

   •   Il linguaggio di configurazione è complesso
   •   Si preferisce scrivere delle macro config
       ...
sendmail -
       •   Alcuni famosi FLAGs
           –   dominio per cui gestire la posta
               •
               ...
sendmail - log

   •   I log di sendmail sono gestiti da syslog
       –   si trovano in /var/log/mail
           •
      ...
postfix


       •   mail transfer agent
           –   sviluppato da IBM
           –   rilasciato OPENSOURCE
           ...
postfix - moduli


       •   postfix
           –   modulo di controllo ed interfaccia
       •   master
           –   d...
postfix - i comandi
  •   Comand postfix
      –   start
          •
               inizializza il servizio ­ chk 
       ...
postfix - i comandi                (2)


  •   I comandi
      –   check
          •
               Validazione della conf...
postfix - configurazione
       •   File di configurazione in
           /etc/postfix/
           –   main.cf
            ...
MySQL

       •   RDBMS
           –   supporta BLOB (64MB)
           –   transazionale (bind esterno)
           –   mol...
mysql - fondamenti

       •   Server
           –   mysqld
       •   Interfaccia shell
           –   mysql 
           ...
mysql - accesso


  •   Permette la gestione degli utenti
      –   permessi su singole tabelle
      –   permessi immersi...
mysql - gestione

       •   interfaccia Web - oriented
           –   phpMyAdmin
       •   dump e check
           –   m...
PostgreSQL
      •   (O) Relational DataBase Management
          Sys
          –    Large Object (4GB) (BLOB)
          –...
postgres

       •   Server
           –   postmaster
       •   Interfaccia Shell
           –   psql
               •
  ...
postgres - nuovo DB



       •   Connessione al template1
           –   psql ­Upostgres template1
               •
     ...
postgres - accesso
  •   /etc/postgresql
      –   pg_hba.conf
          •
               client access config file
  •   ...
pgsql - configurazione

       •   /etc/postgresql
           –    postgresql.conf
                •
                    #...
postgres - files
       •   /var/lib/postgres
           –   data/base
               •
                   database reposi...
Apache




       •   Cosa dire?




Lug Roma Tre                     A.Cecchetti - 2003
Logging
syslog ci aiuti...
Il logging

       •   Problema o Necessità ?
           –   controllare un sistema vuol dire
               •
           ...
input e output


     •   Azioni e Reazioni
         –     le possiamo controllare con i LOG
               •
            ...
funzione di trasferimento


       •   Si agisce sui file di configurazione dei
           –   demoni applicativi
        ...
syslogd

       •   demone che gestisce tutto il log
           –   proveniente dalle applicazioni
           –   provenie...
syslog - configurazione


       •   /etc/syslog.conf
           –   ogni linea contiene due parti
               •
      ...
syslog - selettori

   •   Selettore diviso in
       –   facility
           •
               parte del sistema che ha ge...
syslog - produttore


       •   Facility
           –   auth, authpriv, cron, daemon, kern,
                    lpr, mail...
syslog - livello


       •   Level
           –   emerg, alert, crit, err,
               warning, notice, info e debug
 ...
syslog - mix
       •   + produttori, stesso livello
           – prod1,prod2,prod3.livello    azione

       •   1 produt...
syslog - esempio
    •   *.err;kern.*;authpriv,remoteauth.none;mail.crit
        /dev/console
        *.notice;*.info;auth...
logrotate


       •   Utility per la compressione e la
           rotazione dei file di LOG
           –   permette una g...
logrotate.conf


       •   Direttive generiche
           –   # rotate log files weekly
               weekly

          ...
logrotate.conf             (2)



       •   Direttive specifiche
           –   /var/log/messages {
                     ...
Gestione temporizzata
             cron, at et altri
Eseguire compiti

  •   Nei sistemi server è spesso necessario:
      –   eseguire compiti ripetitivi
          •
        ...
schedulazione
       •   crond
           –   esegue job in modo schedulato con 
               differenti granularità (s,...
cron

    •   /var/spool/cron/crontabs
        –   le entry vengono create e distrutte con 
            crontab
          ...
crontab


       •   /etc/crontab
           –   file in cui specifichiamo anche chi è 
               l’utente che sta es...
crontab -l | -e

       •   il formato di una singola linea è:
           –   environment VAR
               •
           ...
crontab



       •   Caratteri speciali
           –   *  (ogni occorrenza)
           –   /<n> (con ripetizione ogni <n>...
crontab - esempio
  # m h dom mon dow user    command
    42 6   *     *       *   root    run­parts ­­report /etc/cron.da...
at

       •   at esegue un comando 1 sola volta
           –   at 4pm  + 3 days
           –   at 10am Jul 31
           ...
at - suite

       •   at
           –    inserimento di un job
       •   atq
           –    coda di job in attesa
     ...
at - inserimento

       •   at TIME
           –   giano:~# at 4pm +3 days
               warning: commands will be 
    ...
at - interrogazione



       •   atq
           –   4       2003­08­02 16:00 a root




Lug Roma Tre                     ...
at - cancellazione



       •   atrm 4
           –   <nulla>




Lug Roma Tre                         A.Cecchetti - 2003
anacron

       •   Controlla se i jobs di cron sono stati
           eseguiti
           –   se non sono stati eseguiti 
...
Filesystem
montare, duplicare, swappare  
Lo swap
  •   Area di memoria virtuale su dispositivo di
      massa
      –   ci vanno a finire i blochi di memoria di jo...
mount


     •   Comando che permette di associare
         –   dispositivo fisico / logico
         –   punto di motaggio...
fstab

       •   /etc/fstab
           –   contiene informazioni su
               •
                   punto di mount pr...
fsck
     •   Utility per la verifica del FS
         –     ripara i blocchi e gli inode danneggiati 
               oppur...
mkfs


       •   Crea un filesystem di un certo tipo
           –   mkfs.ext2 /dev/hda1
           –   mkfs.vfat
        ...
dd
      •   Utility per copiare file
          –    dd if=<input­file> of=<output­file>
               •
                ...
df

       •   Ci da informazioni sullo spazio libero
           nei dispositivi attualmente montati
           –   ­i : i...
Firewalling
iptables e dintorni...
iptables


       •   Tool user-space
       •   Rimpiazza ipchains
       •   Kernel 2.4
       •   Si appoggia a NETFILT...
iptables             (2)




     •   Punti di forza:
         –     Connection tracking
               •
                ...
iptables        (3)


  •   Catene precostituite
      –   INPUT, FORWARD, OUTPUT
          •
               es. il routin...
iptables      (4)



       •   Limite di banda (Rate limit)
           –   prevenzione di DDOS
       •   Capacità di Log...
le catene           (kernel space)


               Prerouting    Forwarding       Postrouting




                 Input ...
IDS

   •   Tool che fanno un mappa del FS
       –   hash dei file (MD5)
       –   marcatura data di creazione e modific...
NIDS


     •   Tool che osservano il traffico di rete
         –     utilizzano pattern di attacco 
               predef...
Snort


       •   NIDS basato su pattern predefiniti
           –   ha azioni predefinite di log
           –   può esser...
Acid e Snort



       •   Acid è un tool web-based per
           –   visualizzazione dei log di snort
           –   car...
Upcoming SlideShare
Loading in...5
×

Lug Roma3 Corso Linux Avanzato

1,046

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,046
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
28
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Lug Roma3 Corso Linux Avanzato"

  1. 1. Corso Avanzato GNU/Linux e Op n     n s u l t i n g co
  2. 2. Docente: Gianluca Granero
  3. 3. Di cosa ci occuperemo Configurazione e Diagnosi Pacchetti Rete Filesystem Demoni Lug Roma Tre A.Cecchetti - 2003
  4. 4. Di cosa ci occuperemo (2) Networking e Servizi di Base Accesso Remoto Condivisione di Risorse Routing Firewalling Intrusion Detection System Lug Roma Tre A.Cecchetti - 2003
  5. 5. Sistemi di pacchettizzazione RedHat Package Management Debian Package
  6. 6. Configurazione e Diagnosi Sistemi di pacchettizzazione DPKG Debian Package RPM RedHat Package Management Lug Roma Tre A.Cecchetti - 2003
  7. 7. RPM - fondamenti Aggiornabilità Usando RPM potete aggiornare singoli componenti del sistema senza reinstallarli completamente. Quando installate una nuova versione di un sistema operativo basato su RPM (come Red Hat Linux), non dovete reinstallare tutto il sistema Lug Roma Tre A.Cecchetti - 2003
  8. 8. RPM - fondamenti (2) Opzioni di interrogazione RPM fornisce potenti opzioni di interrogazione del sistema. Nel vostro database potete effettuare ricerche di pacchetti o di semplici file, nonché sapere a quale pacchetto appartiene un certo file e risalire alle origini del pacchetto. I file contenuti in un pacchetto RPM sono in un archivio compresso, con un header binario personalizzato che racchiude informazioni utili sul pacchetto e sul suo contenuto. Lug Roma Tre A.Cecchetti - 2003
  9. 9. RPM - fondamenti (3) Verifica del sistema Un'altra funzione molto utile è la capacità di verificare pacchetti. Se avete cancellato un file importante per alcuni pacchetti, verificate il pacchetto stesso. Durante la verifica vi viene indicata qualsiasi anomalia. A questo punto, potete reinstallare il pacchetto, se necessario. Tutti i file di configurazione che avete modificato vengono conservati durante la reinstallazione. Lug Roma Tre A.Cecchetti - 2003
  10. 10. RPM - fondamenti (4) Sorgenti inalterate Uno degli obiettivi principali era quello di permettere l'utilizzo delle sorgenti inalterate del software, come distribuite dall'autore stesso. In RPM sono contenuti i sorgenti originali e tutte le modifiche che sono state apportate, nonché tutte le istruzioni per la ricompilazione. Lug Roma Tre A.Cecchetti - 2003
  11. 11. RPM - fondamenti (5) Il formato standard dei pacchetti foo­1.0­1.i386.rpm  nome del pacchetto ( foo ) versione ( 1.0 )  release ( 1 ) architettura ( i386 ) Lug Roma Tre A.Cecchetti - 2003
  12. 12. RPM - utilizzo QUERYING PACKAGES... rpm {­q|­­query} [select­options] [query­options] rpm ­qa ­> visualizza tutti i pacchetti installati rpm ­qai ­> visualizza le info su tutti i pacchetti installati rpm ­qail ­> visualizza le info + files su tutti i pacchetti installati Lug Roma Tre A.Cecchetti - 2003
  13. 13. RPM - utilizzo (2) Opzioni di selezione... ­a interroga tutti i pacchetti installati ­f <file>  interroga il pacchetto contenente il <file> Quando specificate un file, dovete indicare il percorso del  file (per esempio, /usr/bin/ls ) ­p <filepacchetto>  interroga il pacchetto <filepacchetto> Lug Roma Tre A.Cecchetti - 2003
  14. 14. RPM - utilizzo (3) Opzioni di selezione... ­g <gruppo>  gruppo ­> Development/Tools gruppo ­> System Environment/Kernel Lug Roma Tre A.Cecchetti - 2003
  15. 15. RPM - utilizzo (4) Opzioni di interrogazione... ­i mostra informazioni sul pacchetto ­l mostra l'elenco dei file contenuti nel pacchetto ­s mostra lo stato di tutti i file nel pacchetto ­d mostra un elenco dei file di documentazione  ­c mostra un elenco dei file di configurazione  Lug Roma Tre A.Cecchetti - 2003
  16. 16. RPM - utilizzo (5) Opzioni di interrogazione... ­v per trasformare la visualizzazione degli  elenchi in modalità simile a quella del  comando ls ­l Lug Roma Tre A.Cecchetti - 2003
  17. 17. RPM - utilizzo (6) AND VERIFYING... la verifica confronta le dimensioni, MD5, i permessi, il  tipo, il proprietario e il gruppo di ogni file rpm ­V foo verifica che tutti i file nel pacchetto  foo  siano identici a quelli installati originariamente rpm ­Vf  /bin/vi  verifica il pacchetto che contiene il file        /bin/vi Lug Roma Tre A.Cecchetti - 2003
  18. 18. RPM - utilizzo (7) Tag di verifica: 5 - MD5 checksum S ­ dimensioni del file  L ­ link simbolico T ­ ora di modifica del file D ­ dispositivo U ­ utente G ­ gruppo M - modalità (include permessi e tipo di file) ? ­ file non leggibile  Lug Roma Tre A.Cecchetti - 2003
  19. 19. RPM - installazione Opzioni: ­i : installa ­U : aggiorna / installa ­h : stampa una progress bar ­v : aumenta il tasso d’informazione Lug Roma Tre A.Cecchetti - 2003
  20. 20. RPM - installazione (2) Utilizzo tipico rpm ­Uvh foo­1.0­1.i386.rpm Risposta in caso di successo Preparing...                 ########################################### [100%]    1:foo                     ########################################### [100%] Lug Roma Tre A.Cecchetti - 2003
  21. 21. RPM - installazione (3) La firma di un pacchetto viene verificata durante l'installazione o l'aggiornamento di un pacchetto Se la verifica della firma non riesce, verrà visualizzato un messaggio di errore come il seguente: error: V3 DSA signature: BAD,key ID 0352860f Lug Roma Tre A.Cecchetti - 2003
  22. 22. RPM - rimozione Rimozione di un pacchetto foo-1.1-1 rpm ­e foo Attenzione ai problemi di DIPENDENZA error: removing these packages break dependencies:         foo is needed by  bar­2.0.20­3.i386.rpm  Lug Roma Tre A.Cecchetti - 2003
  23. 23. RPM - Refresh Installa nuove versioni di pacchetti già presenti nel sistema rpm ­Fvh *.rpm  vengono aggiornati solo i pacchetti  già presenti nel sistema Lug Roma Tre A.Cecchetti - 2003
  24. 24. RPM - problemi Pacchetti già installati Package foo­1.0­1 is already installed opzione ­­replacepkgs installa i file di configurazione originali  Lug Roma Tre A.Cecchetti - 2003
  25. 25. RPM - problemi (2) File in conflitto file /usr/bin/foo from install of foo­1.0­1  conflicts with file from package  bar­2.0.20  opzione ­­replacefiles  Lug Roma Tre A.Cecchetti - 2003
  26. 26. RPM - problemi (3) Dipendenze non risolte error: Failed dependencies:         bar.so.2 is needed by foo­1.0­1     Suggested resolutions:         bar­2.0.20­3.i386.rpm  rpm ­q ­­redhatprovides bar.so.2  – sito www.rpmfind.net Lug Roma Tre A.Cecchetti - 2003
  27. 27. RPM - problemi (4) • Dipendenze non risolte (2) – opzione ­­nodep Lug Roma Tre A.Cecchetti - 2003
  28. 28. RPM - problemi (4) • Aggiornamento – incompatibilità in avanti • file originali rinominati .rpmsaved – installazione di versioni precedenti • rpm ­Uvh ­­oldpackage foo­1.0­1.i386.rpm  Lug Roma Tre A.Cecchetti - 2003
  29. 29. RPM - il database • Ricostruire il DB dei pacchetti – rpm ­­initdb | ­­rebuilddb • Trovare i file di RPM – /var/lib/rpm/ Lug Roma Tre A.Cecchetti - 2003
  30. 30. RPM - ricompilazione • RPMS - pacchetto sorgente – rpmbuild ­­clean ­­target=i386 foo.rpms • Serve per ottimizzare un pacchetto Lug Roma Tre A.Cecchetti - 2003
  31. 31. RPM - documentazione • man rpm • rpm --help • http://www.rpm.org/ • Package Management Tool • http://rhn.redhat.com/ Lug Roma Tre A.Cecchetti - 2003
  32. 32. DPKG - fondamenti • Sistema di pacchettizzazione per distribuzione DEBIAN • Molto simile ad RPM • Esiste ‘alien’ per trasformare RPM in DEB • nome_pacchetto_versione-revisione.deb Lug Roma Tre A.Cecchetti - 2003
  33. 33. DPKG - debian pkg • Il pacchetto: – è in formato ar – contiene  • data.tar.gz • control.tar.gz Lug Roma Tre A.Cecchetti - 2003
  34. 34. DPKG - fondamenti (2) • utilizzo di alien – alien ­­to­deb   [opzioni ] file_da_convertire – alien ­­to­rpm   [opzioni ] file_da_convertire  – alien ­­to­tgz   [opzioni ] file_da_convertire – alien ­­to­slp   [opzioni ] file_da_convertire Lug Roma Tre A.Cecchetti - 2003
  35. 35. DPKG - utilizzo • dpkg -c zsh_3.1.2-10.deb – Mostra l'elenco dei file che  compongono il pacchetto zsh,  contenuti nell'archivio indicato,  esclusi i file che vengono creati  dagli script del pacchetto stesso  Lug Roma Tre A.Cecchetti - 2003
  36. 36. DPKG - utilizzo (2) • dpkg -I zsh_3.1.2-10.deb – Mostra tutte le informazioni  disponibili sull'archivio indicato  Lug Roma Tre A.Cecchetti - 2003
  37. 37. DPKG - utilizzo (3) • dpkg -i zsh_3.1.2-10.deb – Installa, o aggiorna, il pacchetto  contenuto nell'archivio indicato,  ammesso che ciò sia possibile in  relazione alle dipendenze di questo  Lug Roma Tre A.Cecchetti - 2003
  38. 38. DPKG - utilizzo (4) • dpkg -r zsh – Rimuove il pacchetto indicato, senza  eliminare i file di configurazione  Lug Roma Tre A.Cecchetti - 2003
  39. 39. DPKG - utilizzo (5) • pkg --purge zsh – Elimina completamente il pacchetto  indicato, compresi i file di  configurazione  Lug Roma Tre A.Cecchetti - 2003
  40. 40. DPKG - utilizzo (6) • dpkg -l – Elenca lo stato di tutti i pacchetti  installati, o dei quali rimangono i  file di configurazione  Lug Roma Tre A.Cecchetti - 2003
  41. 41. DPKG - utilizzo (7) • dpkg -l z* – Elenca lo stato di tutti i pacchetti  conosciuti che iniziano con la lettera  «z»  Lug Roma Tre A.Cecchetti - 2003
  42. 42. DPKG - utilizzo (8) • dpkg -s zsh – Mostra le informazioni sullo stato  del pacchetto indicato, in modo più  dettagliato  Lug Roma Tre A.Cecchetti - 2003
  43. 43. Stato di un pacchetto • TAG – installed • unpacked and configured OK – half installed • not completely installed – not­installed Lug Roma Tre A.Cecchetti - 2003
  44. 44. Stato di un pacchetto (2) • TAG – unpacked • unpacked but not configured – half­configured • not completely configured Lug Roma Tre A.Cecchetti - 2003
  45. 45. Stato di un pacchetto (3) • TAG – config­files • only configuration files exist Lug Roma Tre A.Cecchetti - 2003
  46. 46. DPKG - utilizzo (9) • dpkg -L zsh – Elenca i file che appartengono al  pacchetto zsh  Lug Roma Tre A.Cecchetti - 2003
  47. 47. DPKG - utilizzo (10) • dpkg -S /bin/cat – Cerca di scoprire a chi appartiene il  file /bin/cat  Lug Roma Tre A.Cecchetti - 2003
  48. 48. DPKG - albero della distribuzione • Distribuzioni – stable, testing, unstable • Gruppi – main, contrib, non­free, non­US, local Lug Roma Tre A.Cecchetti - 2003
  49. 49. APT tool advanced package • Utility di gestione delle sorgenti di pacchetto – Programma fondamentale apt­get – File di configurazione /etc/apt/source.list • deb file:/dir/ stable main contrib non­free non­US • deb file:/dir/ stable main contrib non­free  • deb http://sito/debian stable main contrib non­ free • deb http://sito/debian­non­US stable non­US  Lug Roma Tre A.Cecchetti - 2003
  50. 50. APT - utilizzo • Aggiornamento della lista dei pacchetti – apt­get update • Aggiornamento dei pacchetti – apt­get upgrade  • Installazione di un pacchetto (+ dipendenze) – apt­get install zsh  Lug Roma Tre A.Cecchetti - 2003
  51. 51. APT - utilizzo (2) • Upgrade della distribuzione (opzionale) – apt­get ­f dist­upgrade  • Configurazione dei pacchetti aggiornati – dpkg ­­configure ­­pending  Lug Roma Tre A.Cecchetti - 2003
  52. 52. dselect • Tool di configurazione visuale • Shell-mode, molto leggero • Si utilizzano i tasti +,-,_ – risolve direttamente le dipendenze Lug Roma Tre A.Cecchetti - 2003
  53. 53. La rete Configurazione e Diagnosi
  54. 54. La Rete • Viene mutuata da BSD • Supporta IPv4 e IPv6 • Disponibili demoni routing – gated, routed e Zebra • Supporta IPSec – freeSwan o USAGI Lug Roma Tre A.Cecchetti - 2003
  55. 55. La Rete (2) • Comandi di configurazione – ifconfig – route – arp Lug Roma Tre A.Cecchetti - 2003
  56. 56. ifconfig • ifconfig interface [aftype] options | address – interface ­> eth0, en0, ... • ifconfig ­a mostra tutte le interfacce – address family type ­> inet (TCP/IP), inet6  (IPv6), ax25 (AMPR Packet Radio), ddp (Appletalk Phase   2),  ipx (Novell  IPX) e netrom (AMPR Packet radio) Lug Roma Tre A.Cecchetti - 2003
  57. 57. ifconfig (2) • ifconfig interface [aftype] options | address – options  • up, down, [­]arp, [­]promisc, [­]allmulti,  metric [n], mtu [n], dstaddr, pointopoint • add addr/prefixlen (IPv6 address) • del addr/prefixlen (IPv6 address) • tunnel aa.bb.cc.dd (IPv6­in­IPv4) Lug Roma Tre A.Cecchetti - 2003
  58. 58. ifconfig - utilizzo • ifconfig eth0 193.205.140.245/24 up – attiva la eth0 • indirizzo IPv4 193.205.140.245 • netmask 255.255.255.0 • network 193.205.140.0 Lug Roma Tre A.Cecchetti - 2003
  59. 59. Linux- IPv6 • Check List per IPv6 – kernel ready? /proc/net/if_inet6 • modprobe ­a ipv6 – – net tools ready? route ­?   • ifconfig ­? • family inet6 – Lug Roma Tre A.Cecchetti - 2003
  60. 60. ifconfig - IPv6 • Attivare l’intertfaccia IPv4 – ifconfig eth0 193.205.140.243/24 up • Attivare il supporto IPv6 – ifconfig eth0 inet6 add 3ffe:ffff:0:f101::1/64  Lug Roma Tre A.Cecchetti - 2003
  61. 61. ifconfig - MAC address • E’ possibile variare il MAC address – ifconfig eth0 hw ether aa:bb:cc:dd:ee:ff • non si è cambiato definitivamente • alla successiva accensione viene ripristinato • attenzione al MAC­Spoofing Lug Roma Tre A.Cecchetti - 2003
  62. 62. route • Tool di manipolazione della routing table – mantenimento di rotte statiche • add • del – visulizzazione della tabella Lug Roma Tre A.Cecchetti - 2003
  63. 63. route - add • route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If] – ­v Verbose  – ­A inet | inet6 | ... – ­net il target è una rete (netmask) – ­host il target è un host – gw indirizzo del gateway per il target Lug Roma Tre A.Cecchetti - 2003
  64. 64. route del • route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If] – attenzione al matching di rete e netmask  • route del 10.0.0.0 cancella solo se esiste  una sola rotta 10.0.0.0 – 10.0.0.0/24 e 10.0.1.0/24 sono fuorvianti Lug Roma Tre A.Cecchetti - 2003
  65. 65. route - utilizzo • Inserimento di una rotta – ifconfig inserisce per noi • route add ­net 10.0.0.0 eth0 – la netmask ?? • Inserimento della rotta di default – descrive chi è il default gw • route add default gw 10.0.0.1 eth0 Lug Roma Tre A.Cecchetti - 2003
  66. 66. route - utilizzo • Cancellazione di una rotta – route del ­net 10.0.0.0/24 eth0 Lug Roma Tre A.Cecchetti - 2003
  67. 67. route - utilizzo • Visualizzazione della routing table – route • risolve i nomi – route ­C • visualizza la cache del kernel – route ­A inet6 • visualizza solo le rotte IPv6 Lug Roma Tre A.Cecchetti - 2003
  68. 68. Lettura della routing table • Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 193.204.161.0 * 255.255.255.0 U 0 0 0 eth0 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default exomi-gw.unirom 0.0.0.0 UG 0 0 0 eth0 Lug Roma Tre A.Cecchetti - 2003
  69. 69. I Flags • 193.204.161.0 * 255.255.255.0 U 0 0 0 eth0 – U (route is up) H (target is a host) G (use gateway) – R (reinstate route for dynamic routing) D (dynamically installed by daemon or redirect) M (modified from routing daemon or redirect) A (installed by addrconf) –  C (cache entry)   !  (reject route) Lug Roma Tre A.Cecchetti - 2003
  70. 70. La metrica • Numero di hop che ci vogliono per raggiungere quella net|host – non utilizzata dal Kernel – utilizzata dai demoni di routing – impostabile con il parametro metric Lug Roma Tre A.Cecchetti - 2003
  71. 71. arp • Ogni macchina ha una sua cache ARP – si compila automaticamente – possono essere aggiunte delle entry – possono essere cancellate delle  entry Lug Roma Tre A.Cecchetti - 2003
  72. 72. arp - utilizzo • arp [-vn] [<HW>] [-i <if>] [-a] [<hostname>] – visualizza           • arp [-v] [-i <if>] -d <hostname> [pub] [nopub] – cancella  • arp [-vnD] [<HW>] [-i <if>] -f [<filename>] – inserisce da file               Lug Roma Tre A.Cecchetti - 2003
  73. 73. arp - utilizzo (2) • arp [-v] [<HW>] [-i <if>] -s <hostname> <hwaddr> [temp][nopub] – inserisce l’entry relativa a <hostname>  • arp [-v] [<HW>] [-i <if>] -s <hostname> <hwaddr> [netmask<nm>] pub – inserisce e propaga l’entry (proxy arp) Lug Roma Tre A.Cecchetti - 2003
  74. 74. arp - utilizzo (3) • arp [-v] [<HW>] [-i <if>] -Ds <hostname> <if> [netmask <nm>] pub – inserisce e propaga l’entry – ricava  <HW> dall’interfaccia <if> Lug Roma Tre A.Cecchetti - 2003
  75. 75. ip • OBSOLETO iproute Lug Roma Tre A.Cecchetti - 2003
  76. 76. La Rete (3) • Comandi di diagnosi – ping, ping6 – traceroute, traceroute6 – netstat – tcpdump Lug Roma Tre A.Cecchetti - 2003
  77. 77. netstat • Visualizza – connessioni di rete – tabelle di routing – statistiche d’interfaccia – connessioni mascherate – gruppi multicast Lug Roma Tre A.Cecchetti - 2003
  78. 78. ping • Manda un messaggio ICMP (echo request) • Aspetta una risposta ICMP (echo reply) • Parametri: – ­c <count> – ­f (flooding) – ­s <packet size> Lug Roma Tre A.Cecchetti - 2003
  79. 79. traceroute • Visualizza la rotta seguita da un pacchetto IP – ­m <TTL> – ­p <port> – ­s <src­addr> • Permette LSR - loose source routing – ­g <host> Lug Roma Tre A.Cecchetti - 2003
  80. 80. netstat - utilizzo • senza alcun parametro visualizza – connessioni di rete aperte protocollo di livello 4 • byte in uscita • byte in ingresso • indirizzi (locale e remoto) • stato della connessione • tcp   0  0 tocai.dia.uniroma3.:ssh 193.204.161.67:1317  ESTABLISHED  Lug Roma Tre A.Cecchetti - 2003
  81. 81. netstat - server • netstat -l – mostra le porte in stato LISTEN Active Internet connections (only servers) Proto Recv­Q Send­Q Local Address         Foreign Address         State       tcp        0               0        *:mysql                        *:*                     LISTEN tcp        0               0        *:http                           *:*                     LISTEN tcp        0               0        *:ftp                             *:*                     LISTEN  tcp        0               0        *:ssh                            *:*                     LISTEN Lug Roma Tre A.Cecchetti - 2003
  82. 82. netstat - statistiche • netstat -s – mostra le statistiche divise per protocollo Icmp: Ip:     712 ICMP messages      266096303 total packets received received     0 forwarded     2 input ICMP message      0 incoming packets discarded failed.     265662628 incoming packets      ICMP input histogram: delivered         destination      263532112 requests sent out unreachable: 8         echo requests: 695         echo replies: 7 Lug Roma Tre A.Cecchetti - 2003
  83. 83. tcpdump • Tool per il dump del traffico di rete – tcpdump [ ­adeflnNOpqRStuvxX ] [ ­c count ] [ ­C file_size  ] [ ­F file ] [ ­i interface ] [ ­m module ] [ ­r file ] [ ­s snaplen  ]   [ ­T type ] [ ­U user ] [ ­w file ] [ ­E algo:secret ]  [ expression ] • Può salvare e leggere da file • Usa espressioni booleane come filtro • Abilita il promiscuous mode (default) • Risolve i nomi Lug Roma Tre A.Cecchetti - 2003
  84. 84. tcpdump - utilizzo • tcpdump -n not port 80 and host 193.204.161.11 • tcpdump -n arp or ( (port 80 and port 23) or host pippo.plu.to ) • tcpdump -i lo • tcpdump -r file-scrittura.dump • tcpdump -w file-lettura.dump • tcpdump -vvv • Protocolli supportati – ether, fddi, tr, ip, ip6, arp, rarp, decnet, tcp and udp Lug Roma Tre A.Cecchetti - 2003
  85. 85. La Rete (4) • Demoni di Routing – gated – Zebra Lug Roma Tre A.Cecchetti - 2003
  86. 86. gated • Prodotto commerciale di nexthop – rilasciato con licenza GPL usi accademici – gestisce Rip v1, OSPF, Rip v2 – file di configurazione /etc/gated.conf Lug Roma Tre A.Cecchetti - 2003
  87. 87. gated (2) • File di configurazione – rip yes  {         interface all ripin ripout version 2; } – import proto rip  {        all ;        default restrict ; } Lug Roma Tre A.Cecchetti - 2003
  88. 88. gated (3) • File di configurazione: – export proto rip  {        proto direct ;        proto static metric 1; } Lug Roma Tre A.Cecchetti - 2003
  89. 89. Zebra • Prodotto Open Source (GPL) • Multi dèmone (uno per ogni protocollo) – bgpd Manages BGP-4 and BGP-4+ protocol – ripd Manages RIPv1, v2 protocol – ripngd Manages RIPng protocol – ospfd Manages OSPFv2 protocol – ospf6d Manages OSPFv3 protocol Lug Roma Tre A.Cecchetti - 2003
  90. 90. Zebra (2) • File di configurazione – /etc/zebra – <protocollo>.conf – zebra.conf • per lo scambio di informazioni fra i protocolli Lug Roma Tre A.Cecchetti - 2003
  91. 91. Zebra (3) • router bgp 7675 ! bgp router-id 10.0.0.1 ! network 10.0.0.0/8 ! neighbor 10.0.0.2 remote-as 7675 ! neighbor 10.0.0.2 route-map set-nexthop out ! neighbor 10.0.0.2 ebgp-multihop ! neighbor 10.0.0.2 next-hop-self ! ! access-list all permit any ! !route-map set-nexthop permit 10 ! match ip address all ! set ip next-hop 10.0.0.1 Lug Roma Tre A.Cecchetti - 2003
  92. 92. La Rete (5) • I servizi – inetd, telnet, ftp, ssh – lpd, cups  – nfs, smb – sendmail, postfix – MySql, PostgreSQL – Apache, Squid Lug Roma Tre A.Cecchetti - 2003
  93. 93. inetd • Il ‘super-server’ internet – gestisce le connessioni con i servizi – serve per ridurre il carico applicativo – può prendere decisioni Lug Roma Tre A.Cecchetti - 2003
  94. 94. inetd (2) • File di configurazione – /etc/inetd.conf – /etc/hosts.allow – /etc/hosts.deny Lug Roma Tre A.Cecchetti - 2003
  95. 95. inetd - inetd.conf • Ogni riga contiene: – service name – socket type – protocol – wait/nowait[.max] – user[.group] – server program – server program arguments Lug Roma Tre A.Cecchetti - 2003
  96. 96. inetd.conf • ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/proftpd – servizio ftp su TCP multithreaded dell’utente root gestito dai  tcp­wrappers che passano il controllo a proftpd • daytime dgram udp wait root internal – servizio di sincronizzazione temporale udp, con gestione del  datagramma (max 40 server serializzabili) dell’utente root  gestito dal demone inetd stesso Lug Roma Tre A.Cecchetti - 2003
  97. 97. inted.conf - parametri • The service-name entry is the name of a valid service in the file/etc/services • The socket-type should be one of ‘stream’, ‘dgram’, ‘raw’, ‘rdm’,or ‘seqpacket’ • The protocol must be a valid protocol as given in /etc/protocols Lug Roma Tre A.Cecchetti - 2003
  98. 98. inted.conf - parametri • The wait/nowait entry is applicable to datagram sockets only – gli altri devono avere nowait • nowait fa diventare il server un ‘multithreaded server’ lasciando libero il canale a priori del processamento (no - timeout) Lug Roma Tre A.Cecchetti - 2003
  99. 99. inetd.conf - parametri • The server-program entry should contain the pathname of the program • The server program arguments should be just as arguments normally are, starting with argv[0] Lug Roma Tre A.Cecchetti - 2003
  100. 100. tcpwrappers • Prima forma di firewalling host­based • Componenti del controllo: – tcpd ­ access control facility – hosts_access ­ host access control files – utilizzati in congiunzione con inetd Lug Roma Tre A.Cecchetti - 2003
  101. 101. hosts.allow e hosts.deny • Commenti: iniziano per # • Righe di specifica – daemon_list:client_list • process names (argv[0] values) • host names, host addresses, patterns • daemon@host and user@host Lug Roma Tre A.Cecchetti - 2003
  102. 102. hosts.allow e hosts.deny (2) • Pattern accettabili: – nomi che partono con ‘.’ • .lugroma3.org – stringhe che finiscono con ‘.’ • 193.205. Lug Roma Tre A.Cecchetti - 2003
  103. 103. hosts.allow e hosts.deny (3) • Pattern accettabili: – `n.n.n.n/m.m.m.m' – `n.n.n.n/mm' • ip + netmask • Wildcards: – ALL, LOCAL, PARANOID, EXCEPT Lug Roma Tre A.Cecchetti - 2003
  104. 104. tcpwrappers • Peso delle regole nei files: – più pesanti le regole di allow – non c’è precedenza ordinale Lug Roma Tre A.Cecchetti - 2003
  105. 105. hosts.allow e hosts.deny (4) • /etc/hosts.deny: ALL: ALL • /etc/hosts.allow: ALL:127.0.0.1 ALL:10.0.0.0/255.0.0.0 in.telnetd:cecchetti@10.0.0.102 sshd:.lugroma3.org proftpd:ALL Lug Roma Tre imapd:ALL A.Cecchetti - 2003
  106. 106. telnet • Controllato da inetd – in.telnetd • esistono server avanzati con – kerberos 5 – SSL Lug Roma Tre A.Cecchetti - 2003
  107. 107. ftp • /etc/ftpusers – definisce gli utenti a cui non è  permesso il login • /etc/ftpd.conf – command class [arguments] Lug Roma Tre A.Cecchetti - 2003
  108. 108. ftp - sicurezza • chroot – nella directory chroot devono trovarsi: • librerie • eseguibili • tutto il necessario per l’esecuzione.... Lug Roma Tre A.Cecchetti - 2003
  109. 109. proFTPd • Server FTP maggiormente utilizzato – /etc/proftpd.conf • Direttive <Directory> come Apache – <Directory *>      <Limit WRITE>        DenyAll      </Limit> </Directory> Lug Roma Tre A.Cecchetti - 2003
  110. 110. ssh • Secure Shell Protocol v.1 (porta 22) – autenticazione host­based • /etc/hosts.equiv o  /etc/ssh/shosts.equiv • .rhosts o .shosts – autenticazione combinata • chiave RSA + rhost Lug Roma Tre – /etc/ssh/ssh_known_hosts A.Cecchetti - 2003
  111. 111. ssh • Generazione delle chiavi ssh­keygen – ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment][-f output_keyfile] • Agente di autenticazione – ssh­agent padre delle applicazioni di login – ssh­add aggiunge identità da gestire Lug Roma Tre A.Cecchetti - 2003
  112. 112. ssh • RSA base authentication – algoritmo crittografia a chiave pubblica • $HOME/.ssh/authorized_keys – challenge con random number Lug Roma Tre A.Cecchetti - 2003
  113. 113. ssh2 • Secure Shell Protocol v.2 (porta 22) – RSA, DSA • file /etc/ssh/sshd_config /etc/ssh/ssh_config – attenzione  • PermitRootLogin • X11Forwarding Lug Roma Tre A.Cecchetti - 2003
  114. 114. ssh2 • Fasi di autenticazione – metodo hostbased – metodo public key – keyboard­interactive Lug Roma Tre A.Cecchetti - 2003
  115. 115. lpd • line printer spooler daemon – /etc/hosts.equiv o /etc/hosts.lpd – /etc/printcap – porta 515 – directory di spooling /var/spool/lpd Lug Roma Tre A.Cecchetti - 2003
  116. 116. lpd • Visualizzazione della coda – lpq ­P<nome_coda> • Rimozione del job – lprm <numero> • Consolle di gestione – lpc Lug Roma Tre A.Cecchetti - 2003
  117. 117. lpd • Tool di creazione della coda – printtool • Filtri per le code – /usr/lib/printfilters Lug Roma Tre A.Cecchetti - 2003
  118. 118. cups • common unix printing system – sistema evoluto per la gestione delle  code di stampa basato su IPP – compatibile con lpd – /etc/cups/cupsd.conf – /etc/cups/printers.conf Lug Roma Tre A.Cecchetti - 2003
  119. 119. cups • Sistema di gestione web-based – http://localhost:631 • Attenzione alle richieste di discovery – BrowseAddress x.y.z.255 – BrowseAllow 127.0.0.1 BrowseAllow @LOCAL BrowseDeny All Lug Roma Tre A.Cecchetti - 2003
  120. 120. nfs • Network FileSystem – nfsd.o • kernel module part – rpc.nfsd • user level part – rpc.mountd • mount request daemon Lug Roma Tre A.Cecchetti - 2003
  121. 121. nfs • Controllo delle esportazioni – /etc/exports • /home 10.0.0.3(rw,no_root_squash,sync) – rw, ro – [no_]root_squash – [a]sync Lug Roma Tre A.Cecchetti - 2003
  122. 122. nfs • Impostare le esportazioni – exportfs ­a • Controllare le esportazioni – exportfs Lug Roma Tre A.Cecchetti - 2003
  123. 123. nfs • Montare una partizione NFS – mount ­t nfs <server>:/<rdir> <mdir> – /etc/fstab seneca:/home /home nfs defaults, rsize=8192, wsize=8192  0  0 Lug Roma Tre A.Cecchetti - 2003
  124. 124. samba • SMB/CIFS services per client tipo: – MSCLIENT 3.0 for DOS – Windows for Workgroups – Windows 95/98/ME  – Windows NT, Windows 2000 –  OS/2 – DAVE  for Macintosh Lug Roma Tre A.Cecchetti - 2003
  125. 125. samba • smbd – demone SMB/CIFS • nmbd – netbios nameserver (over IP) • smbclient – SMB/CIPF resource client Lug Roma Tre A.Cecchetti - 2003
  126. 126. samba • /etc/smb.conf – contiene le configurazioni dei  servizi [public] • directory    path = /tmp • stampanti    public = yes • autenticazione    only guest = yes    writable = yes    printable = no Lug Roma Tre A.Cecchetti - 2003
  127. 127. samba • Visualizzare le risorse disponibili – smbclient ­L <indirizzo> • Visualizzare le risorse di un gruppo – smbclient ­L <indirizzo> ­W Lug Roma Tre A.Cecchetti - 2003
  128. 128. samba - visualizzare   Sharename      Type      Comment         ­­­­­­­­­      ­­­­      ­­­­­­­         public       Disk               IPC$         IPC       IPC Service (Samba 2.2.3a (build 26))         ADMIN$  Disk      IPC Service (Samba 2.2.3a (build 26))         Server             Comment         ­­­­­­­­­            ­­­­­­­         ORATIO          Samba 2.2.3a (build 26)         Workgroup               Master         ­­­­­­­­­                     ­­­­­­­         LADISPOLI            GIANO         WORKGROUP       ORATIO Lug Roma Tre A.Cecchetti - 2003
  129. 129. sendmail • mail transport agent – spedisce i messaggi a 1 o più caselle – veicola i messaggi di posta fra diverse reti – gestisce il forwarding – non è dotato di un MUA predefinito Lug Roma Tre A.Cecchetti - 2003
  130. 130. sendmail - i file • /etc/mail – /sendmail.conf • configurazione del server – /sendmail.cf • configurazione del servizio Lug Roma Tre A.Cecchetti - 2003
  131. 131. sendmail - i file (2) • Altri file di configurazione – /etc/mail/aliases • alias di posta nel formato alias:mail – /var/spool/mqueue/* • message repository Lug Roma Tre A.Cecchetti - 2003
  132. 132. sendmail - m4 • Il linguaggio di configurazione è complesso • Si preferisce scrivere delle macro config – si passa la macro config al macro compiler – il Mcompiler produce il file di  configurazione finale • in questo modo si evitano anche problemi di  configurazione su differenti versioni Lug Roma Tre A.Cecchetti - 2003
  133. 133. sendmail - • Alcuni famosi FLAGs – dominio per cui gestire la posta • Cw<dominio> – macchine locali al dominio • Fw<file con nomi di host FQDN> – macchine/domini per cui fare relay • FR­o <file con nomi di dominio> Lug Roma Tre A.Cecchetti - 2003
  134. 134. sendmail - log • I log di sendmail sono gestiti da syslog – si trovano in /var/log/mail • danno info sugli accessi e sulle spedizioni Jul 28 18:07:05 seneca sm­mta[11960]: h6SG75Rt011960:  from=<clubtiscali@it.tiscali.com>, size=12960, class=0, nrcpts=1,  msgid=<3F1E2054002E30E8@mail­8.tiscali.it> (added by  postmaster@mail­8.tiscali.it), proto=ESMTP, daemon=MTA,  relay=ricciardi@localhost [127.0.0.1] Jul 28 18:07:05 seneca sm­mta[11970]: h6SG75Rt011960:  to=<ricciardi@localhost>, delay=00:00:00, xdelay=00:00:00, mailer=local,  pri=43164, dsn=2.0.0, stat=Sent Lug Roma Tre A.Cecchetti - 2003
  135. 135. postfix • mail transfer agent – sviluppato da IBM – rilasciato OPENSOURCE – compatibile con sendmail Lug Roma Tre A.Cecchetti - 2003
  136. 136. postfix - moduli • postfix – modulo di controllo ed interfaccia • master – demone SMTP Lug Roma Tre A.Cecchetti - 2003
  137. 137. postfix - i comandi • Comand postfix – start • inizializza il servizio ­ chk  configurazione – stop • ferma il servizio in modo conservativo – flush • Lug Roma Tre forza la spedizione dei messaggi  A.Cecchetti - 2003
  138. 138. postfix - i comandi (2) • I comandi – check • Validazione della configurazione – reload • rilettura della configurazione – abort • stop immediato del processo Lug Roma Tre A.Cecchetti - 2003
  139. 139. postfix - configurazione • File di configurazione in /etc/postfix/ – main.cf • configurazione del servizio – master.cf • configurazione del demone SMTP – transport Lug Roma Tre • configurazione del delivery A.Cecchetti - 2003
  140. 140. MySQL • RDBMS – supporta BLOB (64MB) – transazionale (bind esterno) – molto veloce – ODBC, JDBC, nativo php – esistono degli HOWTO Lug Roma Tre A.Cecchetti - 2003
  141. 141. mysql - fondamenti • Server – mysqld • Interfaccia shell – mysql  • ­h <host> ­u<user> ­p<password> Lug Roma Tre A.Cecchetti - 2003
  142. 142. mysql - accesso • Permette la gestione degli utenti – permessi su singole tabelle – permessi immersi in mysql.user – attivazione con mysqladmin flush­privileges Lug Roma Tre A.Cecchetti - 2003
  143. 143. mysql - gestione • interfaccia Web - oriented – phpMyAdmin • dump e check – mysqldump, mysqlcheck • database – /var/lib/mysql Lug Roma Tre A.Cecchetti - 2003
  144. 144. PostgreSQL • (O) Relational DataBase Management Sys – Large Object (4GB) (BLOB) – Transazionale – Supporto per Store Procedures (PL/SQL) – OBDC, JDBC, nativo php e perl – non esistono HOWTO Lug Roma Tre A.Cecchetti - 2003
  145. 145. postgres • Server – postmaster • Interfaccia Shell – psql • ­U<utente> <database>  • ­h <host> Lug Roma Tre A.Cecchetti - 2003
  146. 146. postgres - nuovo DB • Connessione al template1 – psql ­Upostgres template1 • CREATE DATABASE <nome> Lug Roma Tre A.Cecchetti - 2003
  147. 147. postgres - accesso • /etc/postgresql – pg_hba.conf • client access config file • # TYPE DATABASE IP_ADDRESS MASK AUTH_TYPE local all trust host all 10.0.0.110 255.255.255.255 sameuser – pg_ident.conf • client user map file Lug Roma Tre A.Cecchetti - 2003
  148. 148. pgsql - configurazione • /etc/postgresql – postgresql.conf • #tcpip_socket = false #ssl = false #max_connections = 32 #port = 5432  #hostname_lookup = false #show_source_port = false #unix_socket_directory = '' #unix_socket_group = '' #unix_socket_permissions = 0777 Lug Roma Tre A.Cecchetti - 2003
  149. 149. postgres - files • /var/lib/postgres – data/base • database repository – global • file di runtime – pg_clog pg_xlog • transaction logging Lug Roma Tre A.Cecchetti - 2003
  150. 150. Apache • Cosa dire? Lug Roma Tre A.Cecchetti - 2003
  151. 151. Logging syslog ci aiuti...
  152. 152. Il logging • Problema o Necessità ? – controllare un sistema vuol dire • monitorare gli INPUT • monitorare l’OUTPUT • modificare la funzione funzione di  trasferimento per rendere minimo  l’errore  Lug Roma Tre A.Cecchetti - 2003
  153. 153. input e output • Azioni e Reazioni – le possiamo controllare con i LOG • ogni applicazione dovrebbe averne uno • sarebbe ottimo poter scegliere il livello  di dettaglio da visualizzare Lug Roma Tre A.Cecchetti - 2003
  154. 154. funzione di trasferimento • Si agisce sui file di configurazione dei – demoni applicativi – sistemi di firewalling – sistemi di routing Lug Roma Tre A.Cecchetti - 2003
  155. 155. syslogd • demone che gestisce tutto il log – proveniente dalle applicazioni – proveniente dal kernel – legge messaggi da • /dev/log • /dev/klog Lug Roma Tre A.Cecchetti - 2003
  156. 156. syslog - configurazione • /etc/syslog.conf – ogni linea contiene due parti • selettore • azione Lug Roma Tre A.Cecchetti - 2003
  157. 157. syslog - selettori • Selettore diviso in – facility • parte del sistema che ha generato il msg – . (dot) – livello • gravità del messaggio Lug Roma Tre A.Cecchetti - 2003
  158. 158. syslog - produttore • Facility – auth, authpriv, cron, daemon, kern,      lpr, mail, mark, news, syslog,  user, uucp  – local0 ... local7 Lug Roma Tre A.Cecchetti - 2003
  159. 159. syslog - livello • Level – emerg, alert, crit, err, warning, notice, info e debug – none • disabilita la facility Lug Roma Tre A.Cecchetti - 2003
  160. 160. syslog - mix • + produttori, stesso livello – prod1,prod2,prod3.livello    azione • 1 produttore, tutti i livelli – prod1.*      azione • tutti i produttori, 1 livello – *.emerg    azione • + produttori, stessa azione – prod1.lev1;prod2.lev2     azione Lug Roma Tre A.Cecchetti - 2003
  161. 161. syslog - esempio • *.err;kern.*;authpriv,remoteauth.none;mail.crit /dev/console *.notice;*.info;authpriv,remoteauth /var/log/system.log kern.debug;mail.crit /var/log/system.log # The authpriv log file should be restricted access; these # messages shouldn't go to terminals or publically-readable # files. authpriv.*;remoteauth.crit /var/log/secure.log lpr.info /var/log/lpr.log mail.* /var/log/mail.log ftp.* /var/log/ftp.log netinfo.err Lug Roma Tre /var/log/netinfo.log A.Cecchetti - 2003
  162. 162. logrotate • Utility per la compressione e la rotazione dei file di LOG – permette una gestione parzializzata – molto più snella la ricerca – prevede azioni post­log Lug Roma Tre A.Cecchetti - 2003
  163. 163. logrotate.conf • Direttive generiche – # rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 4 # create new (empty) log files after rotating old ones create Lug Roma Tre A.Cecchetti - 2003
  164. 164. logrotate.conf (2) • Direttive specifiche – /var/log/messages {            rotate 5            weekly            postrotate                /sbin/killall ­HUP syslogd            endscript        } Lug Roma Tre A.Cecchetti - 2003
  165. 165. Gestione temporizzata cron, at et altri
  166. 166. Eseguire compiti • Nei sistemi server è spesso necessario: – eseguire compiti ripetitivi • a scadenze ed orari non ‘umani’ • senza attesa attiva da parte di processi – sono disponibili demoni di ‘schedulazione’ Lug Roma Tre A.Cecchetti - 2003
  167. 167. schedulazione • crond – esegue job in modo schedulato con  differenti granularità (s,m,h,d,w,m,y) • atd – esegue jobs ad un determinato  orario • anacrond – attiva i lavori non eseguiti da cron Lug Roma Tre A.Cecchetti - 2003
  168. 168. cron • /var/spool/cron/crontabs – le entry vengono create e distrutte con  crontab • crontab ­l (lista) • crontab ­e (edit) • crontab ­r (remove) Lug Roma Tre A.Cecchetti - 2003
  169. 169. crontab • /etc/crontab – file in cui specifichiamo anche chi è  l’utente che sta eseguendo un  comando –  m h dom m dow   user   command Lug Roma Tre A.Cecchetti - 2003
  170. 170. crontab -l | -e • il formato di una singola linea è: – environment VAR • nome = valore (PATH=/usr/bin) – info sulla temporizzazione • m h d­of­m m d­of­w  comando  Lug Roma Tre A.Cecchetti - 2003
  171. 171. crontab • Caratteri speciali – *  (ogni occorrenza) – /<n> (con ripetizione ogni <n>) Lug Roma Tre A.Cecchetti - 2003
  172. 172. crontab - esempio  # m h dom mon dow user    command    42 6   *     *       *   root    run­parts ­­report /etc/cron.daily   */1 *   *     *      7    root    run­parts ­­report /etc/cron.weekly   52  1­6/2 * *     *    root    run­parts ­­report /etc/cron.monthly               @reboot        Run once, at startup.               @yearly        Run once a year, "0 0 1 1 *".               @annually      (same as @yearly)               @monthly       Run once a month, "0 0 1 * *".               @weekly        Run once a week, "0 0 * * 0".               @daily         Run once a day, "0 0 * * *".               @midnight      (same as @daily)               @hourly        Run once an hour, "0 * * * *". Lug Roma Tre A.Cecchetti - 2003
  173. 173. at • at esegue un comando 1 sola volta – at 4pm  + 3 days – at 10am Jul 31 – at 1am  tomorrow • specifica completa – /usr/share/doc/at/timespec Lug Roma Tre A.Cecchetti - 2003
  174. 174. at - suite • at – inserimento di un job • atq – coda di job in attesa • atrm – rimozione dalla coda dei job Lug Roma Tre A.Cecchetti - 2003
  175. 175. at - inserimento • at TIME – giano:~# at 4pm +3 days warning: commands will be  executed using /bin/sh at> ls at> <EOT> job 4 at 2003­08­02 16:00 Lug Roma Tre A.Cecchetti - 2003
  176. 176. at - interrogazione • atq – 4       2003­08­02 16:00 a root Lug Roma Tre A.Cecchetti - 2003
  177. 177. at - cancellazione • atrm 4 – <nulla> Lug Roma Tre A.Cecchetti - 2003
  178. 178. anacron • Controlla se i jobs di cron sono stati eseguiti – se non sono stati eseguiti  (SRVdown) • li esegue – altrimenti • si rimette in attesa Lug Roma Tre A.Cecchetti - 2003
  179. 179. Filesystem montare, duplicare, swappare  
  180. 180. Lo swap • Area di memoria virtuale su dispositivo di massa – ci vanno a finire i blochi di memoria di job • in attesa di input • in attesa di dati da dispositivi di I/O • in stato Suspended (CTRL + z) • in stato di processo non in esecuzione Lug Roma Tre A.Cecchetti - 2003
  181. 181. mount • Comando che permette di associare – dispositivo fisico / logico – punto di motaggio nell’albero del FS • mount -t <tipo> </dev/dispositivo> <dir> Lug Roma Tre A.Cecchetti - 2003
  182. 182. fstab • /etc/fstab – contiene informazioni su • punto di mount predefinito • check del dispositivo • tipologia del filesystem • opzioni di mounting (ro,rw) Lug Roma Tre A.Cecchetti - 2003
  183. 183. fsck • Utility per la verifica del FS – ripara i blocchi e gli inode danneggiati  oppure li marca in /lost+found – utilizzato se il FS non è correttamente  smontato – fsck.ext2 /dev/hda3 ­y • risponde automaticamente ‘y’ a tutte le  domande di riparazione Lug Roma Tre A.Cecchetti - 2003
  184. 184. mkfs • Crea un filesystem di un certo tipo – mkfs.ext2 /dev/hda1 – mkfs.vfat – mkfs.<tipo> Lug Roma Tre A.Cecchetti - 2003
  185. 185. dd • Utility per copiare file – dd if=<input­file> of=<output­file> • opzioni – bs=BYTES (at time) – count=BLOCCHI  – skip=BLOCCHI (da start of input) – seek=BLOCCHI (da start of output) Lug Roma Tre A.Cecchetti - 2003
  186. 186. df • Ci da informazioni sullo spazio libero nei dispositivi attualmente montati – ­i : inode – senza opzioni blocchi liberi – ­k : in kilobyte – ­h : human readable Lug Roma Tre A.Cecchetti - 2003
  187. 187. Firewalling iptables e dintorni...
  188. 188. iptables • Tool user-space • Rimpiazza ipchains • Kernel 2.4 • Si appoggia a NETFILTER Lug Roma Tre A.Cecchetti - 2003
  189. 189. iptables (2) • Punti di forza: – Connection tracking • stateful packet inspection – ICMP, UDP, TCP – Smurf amplification attack, a Tribe Flood Network  communication between master and daemon, or a Loki 2  back­door  Lug Roma Tre A.Cecchetti - 2003
  190. 190. iptables (3) • Catene precostituite – INPUT, FORWARD, OUTPUT • es. il routing fra interfacce di un host segue  solo le regole della FORWARD • Separazione fra packet filtering e NAT – masquerading caso particolare di SNAT – redirection caso particolare di DNAT   Lug Roma Tre A.Cecchetti - 2003
  191. 191. iptables (4) • Limite di banda (Rate limit) – prevenzione di DDOS • Capacità di Logging – prevenzione di DOS • Filtering su opzioni e flag TCP • Filtering rispetto al MAC address Lug Roma Tre A.Cecchetti - 2003
  192. 192. le catene (kernel space) Prerouting Forwarding Postrouting Input Output Processi Locali Lug Roma Tre A.Cecchetti - 2003
  193. 193. IDS • Tool che fanno un mappa del FS – hash dei file (MD5) – marcatura data di creazione e modifica – marcatura della testa/coda del file • Tripwire • slocate - checksecurity Lug Roma Tre A.Cecchetti - 2003
  194. 194. NIDS • Tool che osservano il traffico di rete – utilizzano pattern di attacco  predefiniti – utilizzano informazioni statistiche – sono dotati di reazioni di default Lug Roma Tre A.Cecchetti - 2003
  195. 195. Snort • NIDS basato su pattern predefiniti – ha azioni predefinite di log – può essere utilizzato per comandare  iptables Lug Roma Tre A.Cecchetti - 2003
  196. 196. Acid e Snort • Acid è un tool web-based per – visualizzazione dei log di snort – caratterizzazione statistica attacchi Lug Roma Tre A.Cecchetti - 2003
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×