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)