CORSO BASE LINUX

Transcript

CORSO BASE LINUX
CORSO BASE LINUX
Capitolo N.1
Versione 1.0
CORSO BASE LINUX
Ing. Mauro Tedesco
Informazioni generali
➢
➢
Questo corso può essere seguito da chiunque,
non è richiesta nessuna conoscenza.
Esistono diverse distribuzioni Linux, più o
meno facili da installare, useremo la RedHat e
la Suse come esempio poiché ritengo siano le
più diffuse.
STORIA DI UNIX/LINUX
➢
1969-1970 Nascita di Unix
➢
Primi pc con Dos
➢
Nascita del FreeBSD
➢
1991 Albori di Linux
Possibili applicazioni
➢
In ambito universitario viene usato dai primi
giorni di vita
➢
Per progetti che richiedono uno sviluppo
apposito di software
➢
Progetti di alta affidabilità
Caratteristiche del Sistema
Operativo Linux
➢
Linux è un sistema operativo:
➢
Interattivo
➢
Multi-tasking
➢
Multi-utente
Prezzi
➢
Linux e tutti i suoi programmi sono gratuiti
➢
I programmi prodotti per Linux sono di solito
sotto GPL, le librerie sotto LGPL
➢
Esistono dei programmi a pagamento, questi
comunque hanno un costo competitivo.
Principali componenti del S.O.
Linux
➢
➢
➢
➢
➢
➢
Il sistema Operativo Linux non è monolitico
ma è costituito da diversi programmi che
interagiscono tra di loro.
Il programma principale è il Kernel, che è il
cuore del sistema operativo.
Gli altri componenti sono:
il file system
la shell
le utility
Hardware Computer
➢
Computer basati su Intel (I386)
➢
Computer basati su PowerPC
➢
Computer basati su Alpha
Hardware dei Computer con Intel
(I Controller )
➢
➢
➢
➢
➢
➢
➢
➢
Controller primario
Master (/dev/hda) e slave (/dev/hdb)
Controller secondario
Master (/dev/hdc) e slave (/dev/hdd)
controller scsi
/dev/sda, /dev/sdb...
Controller dei dischetti
/dev/fd0
Partizionare un disco
➢
➢
➢
➢
➢
Ogni disco può essere partizionato con:
da una a quattro partizioni primarie
/dev/hda1, /dev/hda2 … /dev/hda4
tre partizioni primarie ed estesa
Con un numero minore di quattro partizioni
Scelta delle partizioni da
utilizzare per Linux
➢
Una Partizione di Swap
➢
Una partizione di root (/)
➢
Una partizione per mettere i file applicativi
(/usr)
➢
Far convivere più Sistemi
Operativi
➢
Windows, RedHat, Suse
➢
Scegliere un boot-loader
➢
LILO
Installare Lilo
➢
Durante l’installazione
➢
Dopo l’installazione
➢
Su un dischetto di boot
Scegliere la distribuzione
➢
Comprare una rivista con una distribuzione in
regalo
➢
Comprare una distribuzione in libreria
➢
Chiedere ad amici che l’hanno già usato
Reperire le informazioni
Hardware
➢
Scheda grafica
➢
Scheda video
➢
Mouse, scheda di rete
Installare Linux
➢
Installare da CD-Rom
➢
Installare da dischetto
➢
Installare via NFS
Fare l’installazione (1)
➢
Identificare la partizione di root ( / )
➢
Dare i punti di “mount point”
➢
Formattare
Fare l’installazione (2)
➢
Scegliere i pacchetti da installare
➢
Lanciare l’installazione
➢
Configurare il Xwindows
Configurare il sistema
➢
Configurare l’ora
➢
Configurare il modem
➢
Configurare LILO
Bibliografia
Appunti di informatica teorica di Daniele Giacomini
● www.pluto.linux.it
● www.linuxservizi.com
●
CORSO BASE LINUX
Capitolo N.2
Versione 1.0
CORSO BASE LINUX
Ing. Mauro Tedesco
Fare il disco di boot
➢
Prima della fine dell’installazione
➢
Dopo l’installazione
➢
Su un altro computer
Riavviare il pc
➢Tutto
➢Non
OK
funziona X Windows
➢Riavviare
in modalità grafica o testuale
Boot = accensione
➢Sistema
con solo Linux
➢Sistema
con più sistemi operativi
➢Non
mi ricordo come si chiama uno dei S.O.
Login al sistema
login:
nome utente
(viene visualizzato)
password: password (non viene visualizzata)
Nome utente e password
➢Nome
utente, account, user name
➢password
➢super
➢utente
utente (root)
ordinario
➢Comando su
Modifica della password
$ passwd
changing password for topolino
old password ( inserire la vecchia password)
New password: (inserire la nuova password che
non viene visualizzata)
Re-enter new password: (inserire ancora la nuova
password che non viene visualizzata)
$
Directory utente (home dell’utente)
Ogni utente ha una sua home directory dove può
fare quello che vuole.
Profilo utente: /etc/profile, .bash_profile
La home directory si trova in una struttura
gerarchica di directory e solo da questa
directory in giù l’utente ha il controllo.
Manuale in linea
Linux come tutti i sistemi like unix ha sempre in
linea il manuale dei comandi.
$ man comando
ci dà la sintassi e la descrizione di quello
fa il comando
$ man -k parola
che
Tipi di file Linux
➢File
ordinari
➢Directory
➢Link
➢Devices
➢Named pipes
➢Socket
Il tipo file
➢d
= directory
➢- = dati
➢b = devices gestito a blocchi
➢c = devices gestito a carattere
➢l = link ad un altro file o directory
➢s= socket
➢p= pipe
Formato di una riga di una
directory
modo
links
-r-xrw-r-lettera.doc
owner
group
size
date&time
2
mauro
adm
1224
Jul
file name
12
12:32
Una riga come quella sopra si ottiene per tutti i file della directory digitando
il comando ls -l.
Struttura delle directory
/
/bin
/sbin
/root
/etc
/lib
/boot
/dev
rc.d
rc0.d
rc1.d
rc2.d
rc3.d
rc4.d
rc5.d
/tmp
Comandi Linux
comando [opzioni] [espressione]
$ ls -l /etc
$ grep -v pippo /etc/passwd
file
Pathname
$ pwd
/home/mauro
$ cd /home
$ cd mauro
pathname:
completo:
/home/mauro
parziale o relativo : mauro (relativo alla directory /home)
Elenco dei file
$ ls /home/mauro
lettera.doc
lettera.old
$cd /home/mauro
$ ls
lettera.doc
lettera.old
Cambio di directory
1)
$ cd /usr/netscape
2)
$ cd /usr
$cd netscape
3)
$ cd
Comando cat
$ cat /etc/passwd
(Elenca il contenuto del file)
$ cat /etc/shadow /etc/hosts
(Elenca il contenuto dei file, uno di seguito
all’altro)
Comando file
$ file /etc/passwd
/bin/ls /usr
/etc/passwd
ascii text
/bin/ls
/usr
executable file
directory
Comando cp
$ cp lettera.doc lettera.copy
$ cp /usr/netscape/index.htm .
$ cp /home/mauro/mio.doc /home/pippo/suo.doc
Comando mv
$ mv lettera.doc lettera.new
$ mv /home/luca/lettera.doc /home/mio.doc
$ mv /home/mio.doc .
Per rinominare un file si usa il comando mv
Comando rm
$ rm lettera.doc
$ rm lettera.doc hosts.txt
$ rm -i *.o
Comando mkdir
$ mkdir /home/mauro/immagini
$ mkdir programmi
$ cd programmi
$ mkdir office documenti
Comando rmdir
$ cd /home/paolo
$ rmdir programmi
$ rmdir office
office is not empty
$ rm -i ./office/*.*
Bibliografia
Appunti di informatica libera di Daniele Giacomini
● http://a2.swlibero.org
●
www.pluto.linux.it
● www.linuxservizi.com
●
CORSO BASE LINUX
Capitolo N. 3
Versione 1.0
CORSO BASE LINUX
Ing. Mauro Tedesco
Comando echo
➢
$ echo ciao
➢
$ echo $PATH
➢
$ echo “Numero file= ‘ ls -l |wc -l ’ “
Creazione di file
➢Usando
cat, touch, ecc.
➢Usando
il vi
➢Usando
qualsiasi editor
Distinguere gli utenti
➢Proprietario
➢Gruppo
➢Tutti
(user)
(group)
gli altri (other)
Protezioni e permessi
➢Linux
utilizza lo stesso criterio di protezione dei
sistemi Unix.
➢Tutti i file hanno un proprietario.
➢Il proprietario può modificare i permessi dei file.
➢Solo il super-utente può modificare i permessi di
tutti i file.
Tipi di accesso
➢Lettura
(read)
➢Scrittura
(write)
➢esecuzione
r
w
(execute) x
Suddivisione dei permessi
rwx
(owner )
sola lettura
r-Solo scrittura
-w-
rwx
(group)
rwx
(other)
r-- w-
r--w-
Protezione per il proprietario
Solo il proprietario può accedere al file.
rwx
----rw-
---
---
Comando chmod
chmod valore file
$ chmod +r file
$ chmod 642 file
$ chmod u=wx file
$chmod +x -r file
File standard
➢Tastiera
Standard Input
➢Video
Standard output
➢Video
Standard error
Associazione dei file standard
➢
Standard input
0
➢
Standard output
1
➢
Standard error
2
Redirezione
➢Redirezione
standard output
>
➢Redirezione
standard input
<
$ ls -l > lista_file
$ programma < lista_file
Redirezione dello standard error
$ cat file1 file2 2> file_errori
$cat file1 file2 1>file_ok 2>file_errori
$ ls -l /etc 1>file_etc 2>error_etc
Redirezione dello standard output,
append
$ ls -l > lista
Il file lista viene prima svuotato
$ ls -l >> lista
L’output viene aggiunto al file lista
Il file /dev/null
Il file /dev/null è un file speciale, non esiste un
altro file uguale a questo.
$ ls -l >lista_file 2>/dev/null
$ grep lettera /etc/* 2>/dev/null
FILTRI
(input) --------> |<------- (otput)
^
|
|
( Pipe )
Pipeline
➢$
ps -ef |wc -l
➢$
ls -l |grep doc
➢$
ps -ef |grep mail
➢$
ls -l |sort +4nr
Pipeline (2)
$ ls -l | grep doc | wc -l
$ ls -l >lista
$ cat lista |grep doc > lista2
$ cat lista2 |wc -l
Background e foreground
➢Processi
in esecuzione nascosta (Background)
➢Processi
in esecuzione visibile (Foreground)
➢il
carattere &
➢bg,
fg
Comando ps
➢$
ps
➢$
ps -efx
➢$
ps aux
➢ps
-efx | grep http
Comando nice
$ nice find
$ nice [+] [-] processo
Comando Kill
➢Kill
[segnale] processo
➢$
kill netscape
➢$
kill -9 netscape
Segnali del comando kill
➢I
segnali del comando Kill sono tanti, quelli più
usati sono il 9 e il 15.
➢Il
segnale 9 significa terminare un processo
subito
➢Il
segnale 15 significa terminare un processo in
modo soft.
Bibliografia
➢Appunti di informatica
➢http://a2.swlibero.org
➢www.pluto.linux.it
➢www.linuxservizi.com
libera di Daniele Giacomini
CORSO BASE LINUX
Capitolo N. 4
Versione 1.0
(Comunicazioni (mail, write, talk) e vi)
CORSO BASE LINUX
Ing. Mauro Tedesco
Comunicare tra utenti
➢
write
Scrive ad un utente collegato
➢
mail
Scrive ad un utente definito
➢
talk
Instaura una comunicazione a due
➢
wall
Manda un messaggio in broadcasting
Disabilitare la ricezione dei
messaggi
$ mesg n
$ mesg y
$ mesg
is y
Utente collegato su più terminali
Individuare l’utente e il terminale
➢ # who
➢ Mandare un messaggio all’utente
➢ # write root tty2
➢ Mandare un messaggio a tutti
➢ # wall “Attenzione spegnimento server”
➢
Comando who
➢Usare
➢$
who per individuare gli utenti
who
root tty1
root ttyp1
➢$ who -u
➢$ who am i
Messaggi con write
➢
#write root
➢
#write root tty1
➢
#write root@localhost
Messaggi di posta
➢
mail
➢
uscire da mail con q
➢
leggere i messaggi di posta
➢
help in linea
“Parlare” con un utente
➢
$ talk [email protected]
➢
$ talk root@localhost
➢
Lo schermo si divide in due parti
➢
L’interazione avviene in tempo reale
Comandi di stampa
$ lp
$ lp -h
$ lpstat
$ lprm
Comando sort
Ordinamento alfabetico, numerico, posizionale
$ sort
$ ls -l | sort -r
$ ls -l | sort +4n
Comando grep
➢ grep
[ opzione ] chiave file
➢ grep
pippo *
➢ ps
efx | grep -v mail
➢ ps
efx | grep netscape
Comando mount
➢
$ mount -t iso9660 /dev/cdrom /cdrom
➢
$ mount /dev/fd0 /floppy
➢
$ mount all
Comando df
➢
$ df
➢
$ df -k
➢
$ df -h
➢
df -T
➢
$ df -k |grep hd
Comando du
➢$
du
➢$
du -s *
➢$
du -s /home/*
Sostituzione dei caratteri
➢Carattere
jolly: *
➢Carattere ?, sostituisce un solo carattere
➢Caratteri tra [ ]
$ ls prova*
$ ls prova.???
$ ls prova[1-8].doc
Comando awk
➢
Programma per gestire file di testo
➢
awk è un programma complesso
➢
awk ha un suo linguaggio di programmazione
Editors di Linux
➢
Vi
➢
ex
➢
ed
➢
Sed
Vi
$ vi file
➢
modalità comando
➢
Modalità inserimento
➢
modalità ricerca
➢
Modalita comando fine pagina
Iniziare a lavorare con il vi
➢
Il tasto esc
➢
i=insert
➢
ogni lettera equivale ad un comando
➢
i due punti ( : )
Usare i comandi del vi
➢
le lettere i, c, a, r
➢
r=replace
➢
c=command
Uscire dal vi
➢Digitare
esc, seguito dai due punti per entrare in
modalità comando.
Inserire il comando
➢:x
➢ : wq
➢ : ZZ
➢ :q!
Movimenti del cursore
Movimenti del cursore in vi
k
h
l
j
Bibliografia
e Link
➢Appunti di informatica libera
➢http://a2.swlibero.org
➢
➢www.pluto.linux.it
➢www.linuxservizi.com
di Daniele Giacomini
CORSO BASE LINUX
Capitolo N.5
(Ambiente di lavoro utility e Grafica)
versione 1.0
CORSO BASE LINUX
Ing. Mauro Tedesco
Profilo utente

File nascosti che iniziano con il . (.nomefile)

Il .profile

Il .login

Il .xinitrc
Personalizzare l’ambiente di lavoro

Modificare il .profile

Al login far eseguire dei comandi

Modificare la grafica
La shell

La shell è un programma

E’ un interprete dei comandi

Effettua delle espanzioni dei comandi

Si possono fare dei programmi interpretati dalla
shell
Variabili di shell

La shell legge i file di configurazione

Variabili globali

Variabili personalizzate
Modifica delle variabili di shell
➢
➢
➢
➢
➢
➢
Tutte le variabili si possono modificare
Azzerare una variabile
Modificare una variabile
Il metodo dipende dalla shell usata
cshell, bash, Korn-shell e zsh
Il comando export, il comando setenv
Dove la shell trova i programmi

La variabile PATH

Visualizzare il contenuto della variabile PATH

$ echo $PATH

PATH=$PATH:nuovopath
Fare delle procedure di shell

Le procedure di shell sono dei file eseguibili

All’interno dei file ci sono comandi interpretati
dalla shell

si possono utilizzare comandi complessi
Programmare in linguaggio di
shell

Si usa un linguaggio di alto livello

Non occorre compilare il programma

E' possibile fare un minimo di debug
Programmare in linguaggio di
shell (2)

Un programma di shell dipende dalla shell
usata per eseguirlo.

Iniziare il file con la dichiarazione: #!/bin/sh

Settare le variabili
Passare argomenti alle shell

Si possono fare delle procedure di shell che
accettano delle variabili

Passaggio di variabili usando il carattere $

Le variabili si passano dalla riga dei comandi

# mioprogramma variabile1 variabile2
Applicazioni e non

Gestori delle finestre

Configurare il sistema

Collegamenti ad Internet

Grafica

Utility
Window Manager
 olvm
 fwm95
 KDE
 Gnome
 After
Step
Collegamento ad Internet

Kppp

script

eznet

yast

redhat-config-network
Gimp
-
Giochi

Myth II: Soulblighter

Tetris

Rubik's Kube

Space Racer

DUMB (Doom-like 3D game)

Quake
Enciclopedia Linux
http://stommel.tamu.edu/~baum/linuxlist/linuxlist/linuxlist.html
LinuxBerg (TUCOWS)
Pluto per la Documentazione
-
Mini distribuzioni

Linux Router project (LRP)

Mulinux

Tomsrtbt ( http://www.toms.net/rb/)

Trinux (http://www.trinux.org/)
Distribuzioni Live

Knoppix (http://www.knoppix.org)

Dynebolic

Movix

TSD
Open source

Il software è libero insieme ai sorgenti

Licenza Gpl

Si può modificare un programma per i propri
usi
Bibliografia
e Link
➢ Appunti
di informatica libera di Daniele Giacomini
➢ http://a2.swlibero.org
➢ www.pluto.linux.it
➢ www.linuxservizi.com
➢ http://www.tuxfinder.com/
➢ http://linux.davecentral.com
➢ http://www.linuxberg.com
➢ La linux Gazette (http://www.linuxgazette.com)
➢ Linux Journal (http://www.linuxjournal.it)
➢ http://www.linux.org
➢ http://www.kernel.org
CORSO BASE LINUX
Capitolo N.6
(Linux e il TCP/IP)
(configurare la rete e il collegamento ad Internet)
Versione 1.0
CORSO BASE LINUX
Ing. Mauro Tedesco
Introduzione al TCP/IP
LAN (Local Area Network, rete locale)
 MAN (Metropolitan Area Network, rete
metropolitana)
 WAN (Wide Area Network, rete geografica)
 Topologia
 stella, anello,bus.

Modello OSI/ISO
Protocollo
 Il modello OSI (Open System Interconnection)
 Livello 7 Applicazione


Interfaccia di comunicazione con i programmi (Application Program Interface).

Livello 6 Presentazione

Formattazione e trasformazione dei dati a vario titolo, compresa la cifratura e decifratura.

Livello 5 Sessione

Instaurazione, mantenimento e conclusione delle sessioni di comunicazione.
Modello OSI/ISO (2)

Livello 4 Trasporto

Invio e ricezione di dati in modo da controllare e, possibilmente, correggere gli errori.

Livello 3 Rete

Definizione delle trame (frame), dell'indirizzamento e dell'instradamento in modo astratto rispetto
al tipo fisico di comunicazione.

Livello 2 Collegamento dati (data link)

Definizione dei pacchetti e dell'indirizzamento in funzione del tipo fisico di comunicazione.

Livello 1 Fisico

Trasmissione dei dati lungo il supporto fisico di comunicazione.
TCP/IP e il modello OSI/ISO
Tratta da ”Appunti di informatica libera” di Daniele Giacomini
Collegamento tra le reti
➢
➢
➢
➢
➢
➢
➢
COLLEGAMENTO FISICO
Bridge
Router
Gateway
PROTOCOLLI
TCP/IP
UDP/IP
Indirizzi IPv4
Indirizzo di rete e indirizzo del nodo
 Indirizzo di rete e indirizzo broadcast
 Sottoreti
 Maschera di rete o netmask
 Classi di indirizzi


classse A 0rrrrrrr.hhhhhhhh.hhhhhhhh.hhhhhhhh

classse B 10rrrrrr.rrrrrrrr.hhhhhhhh.hhhhhhhh

classse C 110rrrrr.rrrrrrrr.rrrrrrrr.hhhhhhhh
Indirizzi speciali

Classi per usi speciali

classse D 1110----.--------.--------.--------

classse E 11110---.--------.--------.--------
Indirizzi broadcast in generale
 Indirizzo di loopback
 Indirizzi riservati per le reti private




Classe A tutta la rete 10.0.0.0
Classe B da 172.16.0.0 a 172.31.0.0
Classe C tutta la rete 192.168.0.0
Maschere IP e maschere di rete

Sottoreti

Maschera di rete o netmask

Classe C
255.255.255.0

Classe B
255.255.0.0

Classe A
255.0.0.0

Sottoreti e routing
Nomi di dominio







Servizio di risoluzione dei nomi di dominio
(DNS)
Gestione centralizzata e distribuita
Tipi di domini
.net
.org
.com
.it
Kernel per il supporto di rete

Networking options [y]

TCP/IP networking [y]

Network device support

Abilitare i diversi tipi di schede

Abilitare il tipo di scheda che stiamo usando
Hardware di rete

Leggere l’hardware compatibility-howto

Schede di rete ethernet

Schede di rete Token-Ring

Modem

Schede per la connettività radio

lo, ethn, pppn, plipn, trn
Definizione dei protocolli e dei
servizi
 TCP
e UDP
 Protocolli
di trasporto
 /etc/protocols
 Servizi
 /etc/services
# ifconfig

ifconfig [<interfaccia>]

ifconfig [<interfaccia>... [<famigliaindirizzamento>] [<indirizzo>] <opzioni>]

# ifconfig lo 127.0.0.1

# ifconfig eth0 192.168.1.1 netmask 255.255.255.0

ifconfig eth0

# risultato della configurazione di eth0
Indirizzi (usare ifconfig)
➢
ifconfig <interfaccia> <indirizzo-diinterfaccia> [netmask <maschera-di-rete>]
➢
Loopback
➢
# ifconfig lo 127.0.0.1
➢
Ethernet
➢
# ifconfig eth0 192.168.1.1 netmask
255.255.255.0
➢
PLIP
➢
# ifconfig plip1 192.168.7.1 pointopoint
192.168.7.2 netmask 255.255.255.0
Modem e porte seriali
Tratta da ”Appunti di informatica libera” di Daniele Giacomini
File di dispositivo e collegamenti

$ ls -l /dev/cua[0-1] /dev/ttyS[0-1]
[Invio]

chmod a+rw /dev/cua1[Invio]

Fare un link tra /dev/modem e /dev/cua1
 #ln
-s /dev/modem /dev/cua1e
Configurazione del modem
➢Comandi
AT
➢# cat < /dev/modem &[Invio]
➢# cat > /dev/modem[Invio]
➢Profilo di configurazione del modem
➢$ minicom[Invio]
➢AT&V[Invio]
➢ATX3[Invio]
➢ATDT 0665679907[Invio]l
PPP per l'accesso a Internet
attraverso un ISP

daemon pppd e il programma chat

Script per la connessione

X-ISP

KPPP

EZNET

NETUSE
Programmi

FTP

Telnet

PING

talk

write

Posta elettronica
Posta elettronica

Sendmail

Qmail

Pine

Netscape

Kmail
Bibliografia
e Link
➢ Appunti di informatica libera di Daniele Giacomini
➢http://a2.swlibero.org
➢
➢ www.pluto.linux.it
➢ www.linuxservizi.com
➢ Linux Journal (http://www.linuxjournal.it)
➢ http://www.linux.org
➢ http://www.kernel.org
CORSO BASE LINUX
Capitolo N.7
(Linux e il Firewalling)
(Scegliere un firewall per collegare ad Internet
l’intranet)
Versione 1.0
CORSO BASE LINUX
Ing. Mauro Tedesco
Introduzione alle reti

COLLEGAMENTO FISICO


schede di rete
cavi di rete
accessori che garantiscono la connettività

PROTOCOLLI

Standardizzazione dei metodi di comunicazione

Uso di protocolli di comunicazione.

Collegamento tra le reti
➢
➢
➢
➢
➢
➢
➢
COLLEGAMENTO FISICO
Bridge
Router
Gateway
PROTOCOLLI
TCP/IP
UDP/IP
Indirizzi IPv4
Indirizzo di rete e indirizzo del nodo
 Indirizzo di rete e indirizzo broadcast
 Sottoreti
 Maschera di rete o netmask
 Classi di indirizzi


classse A 0rrrrrrr.hhhhhhhh.hhhhhhhh.hhhhhhhh

classse B 10rrrrrr.rrrrrrrr.hhhhhhhh.hhhhhhhh

classse C 110rrrrr.rrrrrrrr.rrrrrrrr.hhhhhhhh
Che cosa è un Firewall?

LETTERALMENTE

Muro di fuoco o Parafiamme

FISICAMENTE

Un computer con alcuni servizi attivi

LOGICAMENTE

E’ la porta di accesso ad Internet per la nostra rete interna
Come funziona un firewall
Funzionalità di un firewall
Tipi di Firewall
 Firewall

Blocco di tutto tranne il traffico di rete selezionato
 Proxy

IP o filtranti
Server
creazione delle connessioni di rete con un unico IP
L’architettura proxy




Basta un PC con un 486 o Pentium con hardware
tipico
Navigazione in Internet con un numero illimitato di
computer attraverso una singola connessione
Utilizzo del concetto del caching che è ampiamente
utilizzato su Internet per ridurre i tempi di accesso e
diminuire il traffico generato nella rete.
Offre un completo sistema di protezione (Firewall)
configurabile per controllare il traffico in ingresso e in
uscita per Internet.
Sono confuso, instradamento,
masquerading, ecc.
 Diverse
tecniche di Firewall
 Diversi
modi di trattare i pacchetti
 Diversi
programmi per fare la stessa cosa
 Iptables,
Ipchains, ipfwadm, firewall builder.
Masquerading (1)
Masquerading (2)
Software per implementare un
Firewall
➢
A Pagamento
➢
➢
TIS
SOCKS (proxy server)
➢
Inclusi nelle distribuzioni
➢
IPCHAINS
IPFWADM
SQUID (proxy web)
➢
➢
Preparazione del Sistema Linux

Compilazione del kernel

Configurazione di due schede di rete

Configurazione degli indirizzi di rete

Verifica del funzionamento della rete

Sicurezza del sistema
Riconfigurare il Kernel per il
firewall
➢“General
➢ Abilitare
Setup”
il “Networking Support”
➢“Network
Options”
➢ Abilitare
“Network Firewalls”
➢ Abilitare “Ip Firewalling”
➢ Abilitare o disabilitare “Ip forwarding/gatewaying” se si vuole o
non si vuole usare il filtraggio IP
➢Controllare
le altre voci, devono essere in
accordo con il sistema che si vuole impostare
Impostare un Firewall

Decidere se usare un proxy server o un Firewall
filtrante

Scegliere la politica di utilizzo

Decidere quali servizi abilitare

Decidere quali servizi disabilitare
Usare TIS

Scaricare il pacchetto da ftp://ftp.tis.com

leggere il README prima di scaricare il
pacchetto

Compilare il pacchetto

File di configurazione

/etc/services

/etc/inetd.conf

/usr/local/etc/netperm-table
IPCHAINS

Firewall filtrante

Il programma inserisce e cancella le regole di
filtraggio

Ipchains rimpiazza ipfwadm

Rendere permanenti le regole

#ipchains-restore<file_regole
IPTABLES
Firewall filtrante
 Il programma inserisce e cancella le regole di
filtraggio
 Iptables si usa al posto di Ipchains con i kernel
della famiglia 2.4.x
 Comandi per rendere permanenti le regole



#iptables-save
#iptables-restore
Strategia di difesa

Organizzare le proprie regole di Firewall

Cosa non filtrare

Quali servizi far passare

Quali rete proteggere
Organizzare le regole

Specificare le regole in ordine di esecuzione

Creare uno script per lanciare il firewall al boot

Specificare i protocolli

Specificare le porte UDP e TCP

Specificare un’interfaccia
Bibliografia
e Link
➢ Appunti di informatica libera
➢http://a2.swlibero.org
➢Ipchains-Howto
di Daniele Giacomini
➢Firewall
Howto
➢Net-Howto
➢
➢
➢
www.pluto.linux.it
www.linuxservizi.com
Linux Journal (http://www.linuxjournal.it)
CORSO BASE LINUX
Capitolo N. 8
LINUX E IL WEB
(Usare Linux per costruire un server web)
Versione 1.0
LINUX E IL WEB
Ing. Mauro Tedesco
Introduzione al web

Url e siti Internet

Reti di computer

Server web

Multimedialità

Pagine dinamiche
Che cosa è un Server Web
➢
➢
➢
➢
➢
➢
LETTERALMENTE
Un server che gestisce le connessioni alle
pagine web
FISICAMENTE
Un computer con alcuni servizi attivi
LOGICAMENTE
E’ la porta di accesso a servizi fruibili
attraverso Internet
Collegamenti ipertestuali
COLLEGAMENTO
FISICO
Residenti sullo steso server
Link ad altri siti
Immagini, suoni, video, ecc..
PROTOCOLLI
HTTP
HTTPS
FTP
Indirizzi Internet
 Indirizzo
 Indirizzi
del dominio
di sottodomini
mail.dominio.it,
 Home-Page
 Siti
Mascherati
ftp.dominio.it
Come funziona un sito Internet
Tipi di siti
Portali
 Siti
dove si trovano link tematici e notizie di vario interesse
Motori
di ricerca
Siti commerciali
 siti
dove si promuove un prodotto o un’azienda
 siti dove si fa E-Commerce
Siti dinamici
Banner
in movimento
Notizie aggiornate in tempo reale
Possibilità di ricerche sul sito
Interattività con l’utente
Strumenti di voto on-line
Possibilità di registrarsi
Possibilità di inserire News
Apache

WEB SERVER

Modulare

Scalabile

Aggiornato

Veloce

E’ gratuito (Software free)
Apache (2)
Installazione tramite sorgenti o pacchetti rpm
 Configurabile
http.conf
Sicuro (Si può usare il modulo SSL)
E’ il più usato
Affidabile

Linguaggi di programmazione
 CGI
(Common Gateway Interface)
 PERL
 JAVA
 PHP
Database
 msql
 Mysql
 Postgres
 Informix
 Oracle
 Sybase
Php
➢
Linguaggio di programmazione
➢
Simile al C
➢
Facile da imparare
➢
Garantisce la connettività con molti database
Mysql

Database

Gratuito

Veloce

Adatto per siti di E-Commerce

Facile da imparare
Pagine protette
➢Sito
pubblico separato da quello privato
➢Accedere
alle pagine protette solo dopo
autenticazione
➢Impostare
una connessione sicura
Connessione Sicura

Protocollo HTTPS

Canale crittografato

Chiave pubblica e privata
Azioni sul web

Leggere le pagine Html

Scaricare file eseguibili, sonori, ed utilità

Scaricare immagini

Utilizzare chat

Fare delle ricerche di documenti

Comprare qualsiasi cosa
Applicazioni evolute

Webmin

MyAdmin

PgAdmin

Phpolls
Bibliografia
e Link
➢ Appunti di informatica libera
➢http://a2.swlibero.org
➢Lezione sul Firewall
➢Lezione sul Linux e
il TCP/IP
di Daniele Giacomini
CORSO BASE LINUX
Capitolo 9
AMMINISTRARE LINUX
(Come usare i tools per amministrare con facilità Linux )
versione 1.0
AMMINISTRARE LINUX
Ing. Mauro Tedesco
Amministrare Linux

Sequenza di boot e di shutdown

Processi da configurare

Nuovi utenti

Backup

Configurazione di rete

Web Server, Database, Firewall….
Configurare il Boot

Attivare i servizi al boot

Aggiungere e togliere alcuni servizi

Runlevel di default

Server grafico o console alfanumerica

Sys V init (Programma di configurazione)
Sys V init
Tools d’amministrazione

Ogni distribuzione ha il suo tools
d’amministrazione

RedHat: setup, comandi redhat-config-*

Suse:Yast e Yast2

Debian: apt, dselect, dpkg
Yast2
Yast, Yast2

Suse usa il tools yast
➢
Il nuovo tools, yast2, è grafico
➢
Amministrazione comune
➢
Backup, rete, utenti
➢
Amministrazione Avanzata
Webmin
Costruito
interamente in Perl
Programma di amministrazione via Web
Interfaccia grafica gradevole
Moduli di espansione
Amministrazione veloce
Problemi con la cache del browser
Webmin
Webmin
Password
di accesso
Diversi utenti con diversi profili
Moduli da configurare
Accesso a tutte le risorse del sistema
Manuale in linea
 http://www.webmin.com/
Interfaccia
di ssh via web
Swat(Samba)
Samba
e il file smbd.conf
Condividere
la rete tra Pc con Windows e PC
con Linux
Share
di directory Linux a macchine Windows
Impostare
Usare
un print server
Swat sulla porta 901
Swat(Samba)
Database
 msql
 Mysql
 Postgres
 Informix
 Oracle
 Sybase
Php
➢
Linguaggio di programmazione
➢
Simile al C
➢
Facile da imparare
➢
Garantisce la connettività con molti database
Mysql

Database

Gratuito

Veloce

Adatto per siti di E-Commerce

Facile da imparare
Pagine protette
➢Sito
pubblico separato da quello privato
➢Accedere
alle pagine protette solo dopo
autenticazione
➢Impostare
una connessione sicura
Azioni sul web

Leggere le pagine Html

Scaricare file eseguibili, sonori, ed utilità

Scaricare immagini

Utilizzare chat

Fare delle ricerche di documenti

Comprare qualsiasi cosa
Applicazioni evolute

Webmin

MyAdmin

PgAdmin

Phpolls
Bibliografia
e Link
➢ Appunti di informatica libera
➢http://a2.swlibero.org
➢Lezione sul Firewall
➢Lezione sul Linux e
il TCP/IP
di Daniele Giacomini
CORSO BASE LINUX
Capitolo N. 10
Intrusion Detection
(Scoprire e difendersi da eventuali attacchi)
Versione 1.0
Intrusion Detection
Ing. Mauro Tedesco
Programmare la difesa

File Integrity Checker

Analisi dei File di Log

PortScan Detection

Antisniffer

“Campanelli d'allarme”

Backup per il ripristino
Controllare i programmi installati
➢
Verifica dei programmi installati
➢
Check dei file
➢
Controllo delle date e dimensioni dei file
➢
Controllo scrittura dei log
Analisi del sistema
Analisi
dall’interno
Analisi
dall’esterno
Uso
di Portscan
Ricerca
di eventuali backdoor
Controlli
dei privilegi sui file
Controllo
della politica di Firewall
Minidistribuzioni
 Trinux
(http://www.trinux.org)
 Mulinux
 Trustix
 Astaro
(http://sunsite.dk/mulinux)
(http://www.trustix.com)
(http://www.astaro.com
 Tomsrtbt
(http://www.toms.net/rb)
Trinux
 Trinux
(http://www.trinux.org)
 Portatile
anche su floppy
 Programmi
 Scansione
 Settaggio
d'attacco
della rete
dei log
Trustix
Trustix
(http://www.trustix.com)
Derivato
Non
dalla RedHat
è grafico
Contiene
solo programmi sicuri
Installazione
di un server sicuro
Programmi d'attacco
Port
Scanner: Nmap
Rootkit
Sniffer:
Buffer
Ethereal, ettercap, ecc.
Overflow
Nmap

Nmap

http://www.insecure.org/nmap

Interfaccia grafica d'amministrazione

Facilità d'uso

Metodi silenziosi (Stealth)
Programmi di difesa

Fcheck

Linux Intrusion Detection System

PortSentry

Snort
NIDS

Network Intrusion Detection System (NIDS)

Sistema completo

Non è semplice da usare

Occorre una buona conoscenza del TCP/IP

Tuning delle regole lungo
SNORT

Snort

http://www.snort.org

Licenza GPL

Uso di un linguaggio ad alto livello

Interfaccia grafica di terze parti
Campanelli d'allarmi

Costruzioni di campanelli

Modifica di alcuni programmi

Sostituzione di alcuni programmi

Segnalazione tramite e-mail
Tools meno specifici

Non tutte le distribuzioni hanno molti tools

Non è vero che linux è solo tastiera

Utilizzare man -k per trovare il tools che
interessa

Esistono tools grafici per fare Intrusion
Detection, controllo dei log, ecc..
Bibliografia
e Link
➢
➢
➢
➢
Appunti di informatica libera di Daniele Giacomini
http://a2.swlibero.org
Linux meting del 2000 (www.lugroma.org), atti di
Fubini
Progetto Abacus (http://www.psionic.com/abacus)