11.07.2015 Views

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

8.1. LA GESTIONE DEI SERVIZI GENERICI 301(come ottenibile attraverso il comando ps) sarebbe risultato -ant, mentre le opzioni sarebberostate perse.A questo punto si può verificare il funzionamento del nostro nuovo servizio usando telnet;avremo allora che:[piccardi@gont corso]$ telnet localhost netstatTrying 127.0.0.1...Connected to localhost.Escape character is ’^]’.Active Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 0.0.0.0:709 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:15 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:111 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:884 0.0.0.0:* LISTENtcp 0 0 192.168.1.1:53 0.0.0.0:* LISTENtcp 0 0 127.0.0.1:53 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:22 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:119 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:631 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:25 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:444 0.0.0.0:* LISTENtcp 0 0 192.168.1.1:32777 195.110.124.18:993 ESTABLISHEDtcp 0 0 127.0.0.1:32944 127.0.0.1:15 ESTABLISHEDtcp 0 0 192.168.1.1:32778 62.177.1.107:5223 ESTABLISHEDtcp 0 0 192.168.1.1:32772 192.168.1.168:5901 ESTABLISHEDtcp 0 0 127.0.0.1:15 127.0.0.1:32944 ESTABLISHEDConnection closed by foreign host.e come si può notare si ottiene il risultato del comando netstat, come se lo si fosse eseguitosulla nostra macchina.Questa è una caratteristica generale del comportamento di inetd. Il superdemone infatti èin grado di eseguire un programma qualsiasi; in generale sarà compito del programma eseguitogestire la connessione di rete, ma inetd quando lancia il programma fa sì che standard input,standard output e standard error siano comunque associati al socket su cui è stata aperta laconnessione. Questo significa che si può lanciare attraverso inetd un programma qualsiasi, equesto accetterà l’input dal socket e su di esso scriverà il suo output.Nell’esempio appena mostrato quello che è successo è che è stato eseguito il programmanetstat sul server remoto che come al solito ha prodotto la lista dei socket attivi scrivendola sullostandard output, per poi terminare. Questo ha fatto sì che noi la ricevessimo sul socket creatodalla connessione effettuata con telnet, che è stato automaticamente chiuso alla terminazionedel processo. La cosa è applicabile in generale a qualunque comando di shell per cui potremmodefinire un servizio di rete ps (assegnandogli una porta in /etc/services) che ci fornisce l’elencodei processi, o quello che vogliamo.8.1.2 Il superdemone xinetdIl programma xinetd nasce come estensione di inetd per eseguire lo stesso compito: far partirei server appropriati in caso di connessione al relativo servizio, evitando di lanciare e tenere inmemoria dei programmi che resterebbero dormienti per la gran parte del tempo.Rispetto ad inetd esso supporta nativamente il controllo di accesso come per i TCP wrapper,ma oltre a questo ha una serie di funzionalità ulteriori come la possibilità di mettere a disposizionei servizi in orari determinati, dei meccanismi di redirezione delle connessione, delle capacità dilogging estese, dei meccanismi di protezione nei confronti dei portscan, delle capacità di limitareil numero di istanze del server lanciate, per resistere agli attacchi di denial of service.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!