Inetd e TCP Wrappers



Documenti analoghi
Permessi, utenti e gruppi

inetd (the Internet Superserver) Servizi di rete inetd (the Internet Superserver) inetd.conf

Tecnologie di Sviluppo per il Web

Inizializzazione degli Host. BOOTP e DHCP

Stampe in rete Implementazione corretta

Introduzione. Concetti Preliminari Obiettivi. Portscanning. Scan Detector. Modello TCP/IP Three Way Handshake

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Protocolli applicativi: FTP

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.

Introduzione alla rete Internet

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Corso ForTIC C2 LEZIONE n. 3

Elementi sull uso dei firewall

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

Cenni di programmazione distribuita in C++ Mauro Piccolo

Programmazione Orientata agli Oggetti in Linguaggio Java

Installazione del software Fiery per Windows e Macintosh

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Dal protocollo IP ai livelli superiori

Manuale per la configurazione di AziendaSoft in rete

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Programmazione Orientata agli Oggetti in Linguaggio Java

COME DEFINIRE DELLE DOWNLOAD RULES CON VPOP3

Reti di Calcolatori. Il Livello delle Applicazioni

Introduzione alle applicazioni di rete

Il web server Apache Lezione n. 3. Introduzione

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)

P2-11: BOOTP e DHCP (Capitolo 23)

Esercizio 2. Client e server comunicano attraverso socket TCP

appunti delle lezioni Architetture client/server: applicazioni client

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

MANUALE UTENTE Fiscali Free

FPf per Windows 3.1. Guida all uso

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

Reti. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI)

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

Registratori di Cassa

Licenza per sito Manuale dell amministratore

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Il Web Server e il protocollo HTTP

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Word processor funzione Stampa Unione

Reti di Calcolatori

Programmazione Orientata agli Oggetti in Linguaggio Java

Nota: per riavviare un demone, qualsiasi esso sia, nei sistemi con init SystemV basta. /etc/init.d/nomedemone restart

Dispositivi di rete. Ripetitori. Hub

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/ Lato client

Manuale di KWatchGnuPG. Marc Mutz Sviluppatore: Steffen Hansen Sviluppatore: David Faure Traduzione della documentazione: Luciano Montanaro

La sicurezza nel Web

Configurazione account per libreria MXOutlook

Approfondimenti. Contenuti

Studi di Settore. Nota Operativa 22/4/2013

File, Modifica, Visualizza, Strumenti, Messaggio

Tecnologie di Sviluppo per il Web

NetMonitor. Micro guida all uso per la versione di NetMonitor

Corso di recupero di sistemi Lezione 8

MANUALE PARCELLA FACILE PLUS INDICE

Manuale di KSystemLog. Nicolas Ternisien

Proxy. Krishna Tateneni Traduzione del documento: Luciano Montanaro Manutenzione della traduzione: Federico Zenith

2.1 Configurare il Firewall di Windows

Guida rapida alla prima installazione

Reti diverse: la soluzione nativa

Blue s Hotel Pro Il software che hai sempre desiderato per il tuo Hotel!

Mappatura dei canali logici sui canali fisici

Creare connessioni cifrate con stunnel

Cookie. Krishna Tateneni Jost Schenck Traduzione: Luciano Montanaro

PIATTAFORMA DOCUMENTALE CRG

Protezione. Protezione. Protezione. Obiettivi della protezione

Creare una nuova spedizione personalizzata.

Tecnologie di Sviluppo per il Web

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP

Client - Server. Client Web: il BROWSER

FTP. Appunti a cura del prof. ing. Mario Catalano

Il client deve stampare tutti gli eventuali errori che si possono verificare durante l esecuzione.

Altro esempio di HTML

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Transmission Control Protocol

Guida Rapida all uso del License Manager di ROCKEY4Smart (V )

Access Control List (I parte)

Sicurezza delle reti 1. Uso di variabili. Mattia Monga. a.a. 2010/11

Introduzione a JDConnector

Gestione Filtri. InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11

Lo scenario: la definizione di Internet

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

Elementi di Sicurezza e Privatezza Laboratorio 4. Chiara Braghin. Caso di studio: Apache Web Server

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati.

Intel One Boot Flash Update Utility Guida dell utente

Sicurezza delle reti 1

LUdeS Informatica 2 EXCEL. Seconda parte AA 2013/2014

Guida Software GestioneSpiaggia.it

Programmazione Orientata agli Oggetti in Linguaggio Java

Reti di Telecomunicazione Lezione 6

Transcript:

Inetd e TCP Wrappers Daniele Venzano 3 ottobre 2003 Indice 1 Introduzione 1 2 Inetd 2 2.1 Il file di configurazione /etc/inetd.conf.................... 2 2.1.1 Nome del servizio............................ 2 2.1.2 Tipo di socket............................. 2 2.1.3 Protocollo................................ 3 2.1.4 Attesa della fine del processo..................... 3 2.1.5 Utente (e gruppo opzionale)...................... 3 2.1.6 Eseguibile del processo server..................... 3 2.1.7 Opzioni della riga di comando..................... 3 3 TCP Wrappers 3 3.1 tcpd....................................... 3 3.2 hosts.allow e hosts.deny............................ 4 3.2.1 Formato................................. 4 3.2.2 Wildcards................................ 4 4 Dove trovare altre informazioni 5 5 Copyright e altro 5 1 Introduzione C é una serie di servizi, nati all alba di Unix, che sono molto comuni su tutte le distribuzioni Linux. Alcuni esempi sono: rdate, rsh, telnet, tftp, talk, ecc. Tutti questi servizi non hanno controlli di filtraggio per definire da quali computer é possibile utilizzarli, infatti non vengono mai eseguiti direttamente ma attraverso inetd che si occupa di eseguire il servizio corretto e passargli la connessione attraverso tcpd, il tcp-wrapper, che controlla che la connessione provenga da un computer autorizzato. 1

2 Inetd Inetd (e il suo rivale xinetd di Red Hat e Mandrake) funziona rimanendo in ascolto su tutte le porte dei servizi da lui gestiti 1. Quando arriva una richiesta su una di tali porte inetd manda in esecuzione il processo destinato a gestire la connessione. Questo sistema e adatto a servizi poco utilizzati, infatti fa risparmiare memoria perche il processo viene eseguito solo per gestire la connessione, e poi termina liberando tutte le risorse occupate. Per contro il costo di esecuzione di un servizio e abbastanza alto e quindi non e conveniente utilizzare inetd per un servizio molto usato 2. 2.1 Il file di configurazione /etc/inetd.conf Il file di configurazione di inetd é composto da voci, ognuna di una riga, che contiene le informazioni relative alla porta e al servizio da associare ad essa. Tutte le righe che cominciano con un # sono ignorate. Ogni voce é composta da diversi campi separati da spazi o tabulazioni. I campi presenti in ciascuna voce sono: Nome del servizio (es. pop3) Tipo di socket (es. stream) Protocollo (es. tcp) Attesa della fine del processo 3 (es. nowait) Utente (e gruppo opzionale) con cui viene eseguito il processo (es. root) Eseguibile del processo server Opzioni della riga di comando 2.1.1 Nome del servizio Questo campo deve essere preso dal file /etc/services e serve a inetd per capire a quale porta deve mettersi in ascolto. 2.1.2 Tipo di socket Puo essere stream, dgram, raw, rdm o seqpacket a seconda che il processo utilizzi un protocollo con connessione, senza connessione, di basso livello, a messaggi con garanzia di consegna 4, o a pacchetti sequenziali. 1 Vedi il file /etc/services per un elenco delle porte well known e dei processi ad esse associati 2 Ad esempio un server http, che deve gestire molte connessioni di breve durata e poco adatto ad essere gestito attraverso inetd 3 solo per socket di tipo datagram 4 rdm = Reliably Delivered Messages 2

2.1.3 Protocollo Deve essere un protocollo tra quelli presenti nel file /etc/protocols 2.1.4 Attesa della fine del processo E applicabile solo se il tipo di socket e dgram (per tutti gli altri deve essere impostato a nowait). Dice a inetd se deve attendere che il processo termini per indicare la fine della comunicazione (e non ascoltare per nuove comunicazioni) oppure se deve considerare ogni pacchetto come una comunicazione separata che deve essere gestita da una nuova istanza del processo. 2.1.5 Utente (e gruppo opzionale) Questo campo permette di eseguire un processo con permessi piu deboli di quelli di root, per il gruppo viene utilizzato quello di default presente nel file /etc/passwd a meno che non ne sia specificato uno. 2.1.6 Eseguibile del processo server Questo e il percorso completo dell eseguibili del processo che deve essere lanciato per gestire la comunicazione. Alcuni servizi come time, echo vengono gestiti direttamente da inetd e in questo campo hanno la parola internal. 2.1.7 Opzioni della riga di comando Qui vanno tutte le opzioni di cui il programma specificato al punto precedente ha bisogno per essere eseguito. 3 TCP Wrappers I TCP Wrappers sono una suite composta da file di configurazione e da un programma, tcpd. In genere tcpd viene usato insieme a inetd per controllare la validitaá di una connessione prima che venga caricato il gestore vero e proprio. Alcuni servizi 5, invece, supportano direttamente il filtraggio tramite i due file /etc/hosts.allow e /etc/hosts.deny. Questi servizi funzionano come demoni a sé stante e ogni volta che arriva una connessione nuova la confrontano con le regole lette dai due file di cui sopra per decidere se la connessione debba essere accettata o meno. 3.1 tcpd tcpd viene chiamato al posto del vero gestore della connessione, passandogli sulla linea di comando l eseguibile del programma da eseguire nel caso la connessione sia accettata. 5 Ad esempio OpenSSH 3

Tcpd utilizza syslog per scrivere una riga di log sul tentativo di connessione e poi compie nell ordine i seguenti controlli: 1. Controllo di accesso basato sui file hosts.allow e hosts.deny 2. Controllo del nome del computer remoto tramite lookup DNS 3. Come opzione a compile time puó anche fare dei controlli contro lo spoofing solo sulle connessioni TCP. 3.2 hosts.allow e hosts.deny Questi file vengono interpretati nell ordine allow deny, e la ricerca si ferma alla prima corrispondenza, quindi hosts.allow ha la precedenza su hosts.deny. 3.2.1 Formato I commenti iniziano con un # e continuano fino alla fine della riga. Ogni riga contiene una regola di accesso nel formato: lista_di_demoni : lista_di_client lista di demoni é una lista nomi di processi e/o wildcards, e lista di client é una lista di nomi DNS, indirizzi IP e/o wildcards. 3.2.2 Wildcards Le wildcards servono per definire gruppi di processi o gruppi di client: Una stringa che inizia con un. corrisponde a tutti gli host il cui nome finisce con quel dominio. (es..lugge.net corrisponde a pippo.lugge.net ) Una stringa che finisce con un punto corrisponde a tutti gli indirizzi IP che appartengono a quella sottorete (es. 192.168.200. comprende tutti gli indirizzi da 192.168.200.0 a 192.168.200.255 ) Un espressione del tipo n.n.n.n/m.m.m.m é interpretata come una coppia rete/maschera (es. 192.168.200.0/255.255.255.0) Una stringa che inizia con una / é trattato come il nome di un file che contiene una lista di nome o indirizzi di client. I caratteri * e? possono essere usati, ma non insieme ad una delle regole descritte sopra. Inoltre esistono delle parole chiave che descrivono dei gruppi predefiniti: ALL Corrisponde sempre, puó essere utile, ad esempio, in fondo a hosts.deny per negare l accesso a tutti i client che non appartegano a una delle categorie descritte prima. 4

LOCAL Corrisponde a ogni client il cui nome non contiene punti, cioé che appartiene allo stesso dominio. UNKNOWN Corrisponde a tutti gli host i cui nomi non possono essere tradotti in indirizzi IP. KNOWN Il contrario della regola di sopra. PARANOID Corrisponde a tutti client i cui nomi non corrispondono all indirizzo IP usato per la connessione. 4 Dove trovare altre informazioni Le man pages dei comandi descritti qui sono sicuramente delle fonti molto ricche, inoltre anche il comando info può dare utili consigli. La man page di hosts access nella sezione 5 contiene anche descrizioni di funzioni aggiuntive di tcpd che sono state evitate in questa breve introduzione. 5 Copyright e altro Questo documento é stato scritto da Daniele Venzano, c 2002, 2003. This work is licensed under the Creative Commons Attribution-NoDerivs-NonCommercial License. To view a copy of this license, visit http://creativecommons.org/licenses/bynd-nc/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. L ultima versione del documento é disponibile presso: http://teg.homeunix.org/documentation.html. 5