GNU/Linux >> Linux Esercitazione >  >> Panels >> Webmin

Servizi di rete e protocolli

Questo capitolo tratta i super server inetd e xinetd , che sono responsabili dell'avvio di server per protocolli come telnet e FTP quando necessario.

Contenuti

Introduzione ai servizi Internet

I servizi di rete molto utilizzati come e-mail, proxy e servizi Web sono gestiti da processi server che vengono eseguiti continuamente e dispongono di file di configurazione complessi e moduli Webmin propri. Tuttavia, ci sono altri servizi come telnet, finger e POP che non richiedono alcuna configurazione e non necessitano di un proprio processo server permanente. Invece, i loro server vengono eseguiti quando necessario da un super-server come inetd o xinetd che ascolta le connessioni di rete su più porte. Solo quando riceve una connessione avvia il processo appropriato per comunicare con il client, che esce quando la connessione viene chiusa. Ciò consente di risparmiare memoria limitando il numero di processi in esecuzione in qualsiasi momento, ma rende leggermente più lenta la gestione delle nuove connessioni.

Ogni servizio ha un nome breve come telnet o pop3, un numero di porta come 23 o 110 e un protocollo come TCP o UDP. Il file /etc/services elenca tutti i nomi dei servizi ei numeri di porte corrispondenti che il tuo sistema conosce, solo alcuni dei quali potrebbero avere un super-server o un altro server in ascolto su di essi.

Il superserver più comunemente usato è inetd, utilizzato da quasi tutte le distribuzioni Linux e varianti Unix. Tutte le impostazioni del server sono memorizzate nel file di configurazione /etc/inetd.conf. Oltre ad avviare i server in risposta alle connessioni TCP e UDP, può anche gestire le chiamate di funzione RPC (chiamata di procedura remota) in modo simile. Una delle principali carenze di inetd è la sua incapacità di rifiutare le connessioni a seconda dell'indirizzo IP del client. Tuttavia, questo problema può essere superato utilizzando un programma server TCP-wrapper intermedio, che dispone di un proprio file di configurazione del controllo dell'accesso IP.

Un altro super server che sta guadagnando popolarità e ha più funzionalità è xinetd, che utilizza il file di configurazione /etc/xinetd.conf e talvolta altri file nella directory /etc/xinetd.d. Come inetd, può avviare processi server in risposta a connessioni TCP e UDP, ma non supporta RCP. Il suo principale vantaggio è il supporto integrato per limitare le connessioni a determinati indirizzi IP client senza la necessità di un programma configurato separatamente. Può anche reindirizzare una connessione in entrata su determinate porte a un altro host e porta creando la propria connessione client e inoltrando i dati avanti e indietro.

Poiché inetd e xinetd hanno file di configurazione e formati di file completamente diversi, esiste un modulo Webmin separato per la configurazione di ciascuno di essi. La maggior parte delle distribuzioni Linux verrà fornita con una o l'altra, ma in alcuni casi entrambe possono essere installate e coesistere pacificamente. L'unica limitazione è che non possono essere entrambi in ascolto sulla stessa porta contemporaneamente.

Il modulo Servizi di rete e protocolli

Questo modulo si occupa della configurazione di inetd e può essere trovato nella categoria Networking in Webmin. Se l'icona non è visibile, Webmin ha rilevato che non è installata. Ciò potrebbe essere dovuto al fatto che la tua distribuzione utilizza invece xinetd, nel qual caso dovresti saltare alla sezione "Il modulo del servizio Internet esteso". Se nessuno dei moduli è visibile, controlla il CD di distribuzione o il sito Web per un pacchetto inetd o xinetd.

La pagina principale del modulo (mostrata nella Figura 15-1) mostra due tabelle, una per Servizi Internet che rispondono a connessioni TCP o UDP e una per Programmi RCP . Nei Servizi Internet vengono visualizzati i nomi e i protocolli di tutti i servizi – in alcuni casi, lo stesso servizio può essere riconosciuto per più di un protocollo. Ciascun servizio può trovarsi in uno dei tre stati, indicati dal carattere in cui viene visualizzato il nome:

Abilitato (grassetto) Un programma server è stato assegnato a questo servizio ed è attualmente attivo.
Disabilitato (grassetto-corsivo) È stato assegnato un programma server, ma non è attivo. Ciò corrisponde a una voce commentata nel file inetd.conf.
Non assegnato (normale) Nessun programma server è stato assegnato a questo servizio, il che significa che non esiste una voce inetd.conf per esso.

Se l'opzione di configurazione del modulo Mostra servizi senza programma è stato impostato su No , i servizi nello stato non assegnato non verranno visualizzati. Questa è l'impostazione predefinita su alcuni sistemi operativi, a causa dell'elevato numero di servizi di cui il sistema è a conoscenza.

La maggior parte delle distribuzioni Linux viene fornita con quasi tutti i servizi nello stato disabilitato per impostazione predefinita. Ciò limita il numero di servizi non necessari a cui il tuo sistema consente le connessioni e quindi riduce la possibilità che un attacco di sicurezza in uno dei programmi server venga sfruttato da un utente malintenzionato.

La pagina principale del modulo Servizi e protocolli Internet

Poiché ogni servizio viene mostrato solo con un nome breve come telnet o chargen, per un amministratore inesperto non è ovvio cosa faccia ciascuno di essi. Alcuni dei servizi più comunemente utilizzati e le relative finalità sono:

I servizi diurni, eco e chargen per i protocolli TCP e UDP sono gestiti internamente da inetd quando abilitato, non da un programma server separato.

Abilitazione di un servizio Internet

Se si desidera consentire agli utenti di recuperare la posta dal proprio sistema utilizzando il protocollo POP3 o di accedere tramite telnet, è necessario attivare il servizio Internet appropriato se non è attualmente abilitato. Per fare ciò, i passaggi da seguire sono :

  1. Nella pagina principale del modulo, fai clic sul nome del servizio che desideri abilitare nei Servizi Internet tavolo. Questo ti porterà alla pagina mostrata nella Figura 15-2 per modificarne i dettagli. Se i servizi non assegnati non vengono visualizzati sul tuo sistema, puoi inserire il nome del servizio e selezionare il protocollo nei campi accanto a Modifica servizio pulsante. Facendo clic sul pulsante si accede al modulo di modifica, presupponendo che il nome del servizio venga riconosciuto.
  2. Il Nome del servizio , Numero di porta , Protocollo e alias i campi devono essere lasciati invariati a meno che non si desideri rinominare il servizio o modificare la porta su cui è in ascolto. Per i servizi che non hai creato tu stesso, modificare uno qualsiasi di questi campi è una cattiva idea in quanto potrebbe impedire ai programmi sul tuo sistema di connettersi ad altri server.
  3. Nel Programma server sezione, per abilitare il servizio selezionare il Programma abilitato opzione. Se Programma disabilitato è stato selezionato in precedenza, tutte le altre impostazioni nella sezione dovrebbero essere corrette e non dovranno essere modificate. Tuttavia, se Nessun programma assegnato è stato selezionato prima di allora, sarà necessario scegliere un programma server e un utente con cui eseguire il server. Seleziona il Programma campo Comando opzione e immettere il percorso completo del programma server nel campo accanto ad esso, ad esempio /usr/sbin/in.ftpd. Negli Args campo, immettere di nuovo il comando del server e qualsiasi argomento di cui ha bisogno, ad esempio in.ftpd –l –a. Anche se il percorso del programma è nel Comando campo, il nome del programma deve apparire in Args campo pure. Sarà necessario inserire un utente per l'esecuzione del programma server come in Esegui come utente campo. Per quasi tutti i server, questo sarà root. Una delle Modalità di attesa anche le opzioni devono essere impostate:a meno che il server non venga eseguito ed eseguito molto rapidamente, scegli Non aspettare . Alcuni servizi come il giorno, l'eco, l'addebito e lo scarto sono gestiti internamente da inetd. Se ne stai abilitando uno, seleziona Interno a inetd . Non è necessario immettere alcun programma o argomento e l'utente eseguito dal server è irrilevante.
  4. Quando hai finito, fai clic sul pulsante Salva. Finché non ci sono errori e il programma server scelto esiste effettivamente, il browser tornerà all'elenco dei servizi nella pagina principale.
  5. Fai clic su Applica modifiche pulsante in fondo alla pagina per rendere attive le modifiche.
Figure 15-2 “Editing an internet service” 

In alcuni casi, non sarai in grado di abilitare un servizio perché il programma server corrispondente non è ancora installato. In tal caso, utilizzare il modulo Pacchetti software per installarlo dal CD di distribuzione Linux o dal sito Web.

Se vuoi disabilitare un servizio, segui gli stessi passaggi ma seleziona il Programma disabilitato opzione invece. È meglio che scegliere Nessun programma assegnato poiché è facile riattivare il servizio senza dover reinserire i dettagli del programma del server.

Creare il tuo servizio Internet

In alcune situazioni, potresti voler aggiungere un nuovo server al tuo sistema che sia in ascolto su una porta non assegnata a nient'altro. Potresti voler eseguire un server telnet su una porta non standard o reindirizzare il traffico da una porta del tuo sistema a un altro server usando un programma come nc. Se stai solo provando ad attivare alcuni servizi standard come ftp o imap, le istruzioni in questa sezione non fanno per te:consulta invece la sezione "Abilitazione di un servizio Internet".

I passaggi da seguire per creare un nuovo servizio sono :

  1. Nella pagina principale del modulo, fare clic sul collegamento *Crea un nuovo servizio Internet*. Questo ti porterà al modulo di creazione del servizio, che è simile al modulo di modifica della Figura 15-2.
  2. Compila il Nome del servizio campo con un nome univoco per il tuo servizio.
  3. Inserisci il numero di porta a cui desideri associare il servizio nel Numero di porta campo.
  4. Seleziona il protocollo dal Protocollo elenco. Questo sarà quasi sempre TCP, ma in alcuni casi potrebbe essere necessario utilizzare UDP.
  5. Inserisci eventuali nomi alternativi con cui desideri fare riferimento al servizio negli Alias campo.
  6. Supponendo che tu voglia avere un programma server associato a questo servizio, scegli Programma abilitato opzione nel Programma server sezione. In caso contrario, verrà creata solo un'associazione tra un nome di servizio e un numero di porta.
  7. Per il Programma campo, seleziona il Comando opzione e immettere il percorso completo del programma server nel campo accanto ad esso, ad esempio /usr/local/bin/someserver. Negli Args campo, inserisci il nome del programma e qualsiasi argomento della riga di comando con cui dovrebbe essere eseguito, come someserver –foo. Per fare un altro esempio, se volessi creare un servizio che mostrasse tutti i processi in esecuzione sul tuo sistema a chiunque si connettesse tramite telnet, potresti impostare il Comando in /bin/ps e in Args a ps auxwww. Tuttavia, questa sarebbe una cattiva idea dal punto di vista della sicurezza.
  8. Se il programma del server impiega più di un secondo per essere eseguito o se accetta qualsiasi input, imposta la Modalità di attesa campo per Non aspettare . In caso contrario, inetd smetterà di gestire le nuove connessioni di rete fino al termine del programma. L'unico vantaggio di questo Attendere fino al completamento la modalità è una leggera riduzione dell'utilizzo della memoria.
  9. Immettere il nome utente dell'utente Unix su cui deve essere eseguito il programma server in Esegui come utente campo. Di solito è root, ma può essere chiunque.
  10. Per limitare la velocità con cui inetd accetterà le connessioni per il tuo servizio, inserisci un numero in Max al minuto campo. In caso di superamento del limite, le connessioni successive verranno rifiutate fino al minuto successivo.
  11. Per impostazione predefinita, il gruppo eseguito dal programma server come è il gruppo principale dell'utente impostato in Esegui come utente campo. Per cambiarlo, inserisci il nome di un gruppo in Esegui come gruppo campo.
  12. Fai clic su Crea pulsante per creare il tuo servizio. Finché non ci sono errori nel modulo, verrai riportato all'elenco dei servizi nella pagina principale.
  13. Fai clic su Applica modifiche pulsante per rendere attivo il servizio.

Una volta creato un servizio, puoi testarlo eseguendo telnet localhost portnumber al prompt della shell sul tuo sistema. Puoi modificare il tuo servizio in qualsiasi momento facendo clic sul suo nome nella pagina principale e modificando una qualsiasi delle opzioni prima di fare clic su Salva – o Elimina se vuoi liberartene. Dopo aver apportato le modifiche, il Applica modifiche è necessario utilizzare il pulsante per renderli attivi,

Creazione e modifica di programmi RPC

RPC è un protocollo e un formato dati che costituisce la base per altri protocolli come NFS e NIS. I client RPC effettuano chiamate di funzione ai server RPC, passando i parametri e recuperando i risultati. Per il client o il server, effettuare una chiamata di procedura remota non è più difficile che chiamare una normale funzione di libreria, che scrivere programmi che utilizzano RPC è molto più semplice che creare il proprio protocollo da zero.

Un programma RPC è un insieme di funzioni gestite da un server. Ogni programma ha un numero univoco, simile alla porta di un servizio Internet. I programmi non sono associati a un protocollo particolare, poiché generalmente possono accettare connessioni e chiamate di funzioni tramite UDP o TCP. Né ha una porta fissa, poiché vengono assegnate dinamicamente quando necessario.

I server RPC (come i server NIS e NFS) che gestiscono una grande quantità di traffico hanno i propri processi che vengono eseguiti continuamente. Tuttavia, alcuni server che devono essere eseguiti solo occasionalmente possono essere eseguiti da inetd solo quando necessario, proprio come con servizi Internet utilizzati di rado. Alcuni dei programmi RPC più comunemente usati sono:

Su alcuni sistemi, questi programmi RPC possono essere gestiti da server che non vengono eseguiti da inetd ma come processi autonomi. In tal caso, il modulo Bootup and Shutdown (spiegato nel capitolo 9) è il luogo in cui attivarlo o disattivarlo. A causa del piccolo numero di programmi RPC comuni e della loro utilità limitata, molte distribuzioni Linux non hanno alcun programma abilitato o disabilitato nella configurazione inetd per impostazione predefinita. Tuttavia, questo non è il caso di altri sistemi operativi come Solaris.

Se vuoi utilizzare un protocollo RPC che non è attualmente abilitato, puoi utilizzare questo modulo per attivarlo. Naturalmente, è necessario installare prima il programma server RPC appropriato e inetd sul sistema deve supportare i programmi RPC. In tal caso, i passaggi da seguire sono:

  1. Nella pagina principale del modulo, fare clic sul nome del programma da Programmi RPC tavolo. Questo ti porterà al modulo di modifica del programma mostrato nella Figura 15-3.
  2. Nell'ambito del Programma server sezione, selezionare l'opzione *Programma abilitato*. Se Programma disabilitato è stato selezionato in precedenza, tutte le altre impostazioni nella sezione dovrebbero essere corrette e non dovranno essere modificate. Tuttavia, se Nessun programma assegnato è stato selezionato dovrai compilare molti altri campi. Le versioni RPC campo deve essere impostato sull'intervallo di versioni supportate dal programma server, ad esempio 1_ – _3 . Il campo *Tipo di socket* deve essere impostato su Datagram e il Protocollo campo impostato solo su udp opzione. Per il Programma Server campo, immettere il percorso completo del programma RPC, ad esempio /usr/sbin/rpc.rusersd. Per il comando campo, etner il nome del programma e qualsiasi argomento, come rpc.rusersd –a. Per la Modalità di attesa , seleziona *Non aspettare*. Per il campo Esegui come utente, immettere il nome utente che si desidera che il programma server venga eseguito come, solitamente root.
  3. Al termine, fai clic su Salva pulsante. Finché non ci sono errori nel tuo input, verrai riportato alla pagina principale del modulo in cui il programma RPC dovrebbe apparire come abilitato.
  4. Fai clic su Applica modifiche pulsante per rendere attivo il programma.
Figure 15-3 “The RPC program editing form” 

Configurazione del modulo Servizi e protocolli Internet

Per accedere alle opzioni configurabili del modulo Servizi Internet, fare clic su Module Config link nell'angolo in alto a sinistra della sua pagina principale. Questo ti porterà al modulo di configurazione standard, sul quale puoi modificare le seguenti opzioni:

Il resto delle opzioni di configurazione del modulo in Configurazione del sistema vengono impostati automaticamente da Webmin in base al tipo di sistema operativo e quindi non devono essere modificati.

Altri sistemi operativi

Quasi tutte le versioni di Unix includono inetd come standard e lo usano per avviare programmi server eseguiti di rado allo stesso modo di Linux. Tuttavia, il formato e le capacità del file di configurazione sono leggermente diversi su altri sistemi operativi, il che significa che l'interfaccia utente del modulo non sarà esattamente la stessa. La pagina principale mostrerà sempre elenchi di servizi Internet e RPC, ma durante la modifica o la creazione di un servizio saranno disponibili campi e opzioni diversi a seconda della variante Unix in esecuzione:

Sole Solaris
Quando modifichi un servizio Internet, *Max per minuto* e Esegui come gruppo i campi non sono disponibili. - Solaris versioni 8 e successive supportano i protocolli IPv6 TCP e UDP, oltre allo standard IPv4 utilizzato da Linux. - Molti servizi RPC esistono nello stato disabilitato per impostazione predefinita, per cose come le quote e il blocco NFS.
FreeBSD
I servizi RPC non possono avere programmi assegnati. Tutto quello che puoi fare è modificare i nomi dei servizi e i numeri dei programmi. - Durante la modifica o la creazione di un servizio, puoi controllare il numero di programmi server che possono essere attivi in ​​qualsiasi momento con Max Child Processes campo. - Inoltre, durante la modifica, puoi impostare la classe di accesso che il programma server esegue come con Esegui come classe di accesso campo.
NetBSD
Come su FreeBSD, i campi *Max Child Processes ed *Execute as Login Class* sono disponibili durante la modifica o la creazione di un servizio. - Come con Solaris, i servizi Internet possono utilizzare protocolli IPv6 TCP e UDP.

OpenBSD , Compaq Tru64/OSF1 , IBM AIX , SCO OpenServer e SCO UnixWare

Come su Solaris, *Max al minuto e I campi Esegui come gruppo non sono disponibili.
SGI Irix
Il Massimo al minuto e Esegui come gruppo i campi non sono disponibili durante la modifica di un servizio. - C'è una casella di controllo aggiuntiva sotto il programma del server Comando campo etichettato *Il comando potrebbe non esistere?*, che se impostato indica a inetd di ignorare il servizio se il programma del server non è installato. Per impostazione predefinita, questo è attivato per molti servizi relativi ai pacchetti Irix che non sono installati per impostazione predefinita.
HP/UX
Su HP/UX, il modulo ha esattamente le stesse opzioni di Linux.
Apple MacOS X
Come su Solaris, i campi *Max Per Minute ed *Esegui come gruppo* non sono disponibili. - I servizi RPC non possono avere programmi assegnati, come su FreeBSD. - Invece del file /etc/services utilizzato per memorizzare i nomi dei servizi e le porte, si trovano in una tabella NetInfo. Webmin scarica e ricarica questa tabella per leggere e modificare i servizi.

Webmin
  1. Come utilizzare i protocolli SSH e SFTP sulla rete domestica

  2. Come impostare l'indirizzo IP statico e configurare la rete in Linux

  3. Come gestire ed elencare i servizi in Linux

  4. Nozioni di base su Linux - IP statico e configurazione di rete su Debian Linux

  5. VPN Hardening:cos'è e come farlo

Introduzione alla VPN ed ecco come usarla in Linux

Come riavviare i servizi di rete in Linux

Filesystem su disco e di rete

Servizi di rete

SmarterMail e servizi di sicurezza e-mail di terze parti

Come collegare in rete Ubuntu e Windows 10?