GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare e configurare un servizio di esempio con xinetd su RHEL 8 / CentOS 8 Linux

Xinetd, o Extended Internet Services Daemon, è un cosiddetto super-server. Puoi configurarlo per l'ascolto al posto di molti servizi e avviare il servizio che dovrebbe gestire una richiesta in arrivo solo quando arriva effettivamente al sistema, risparmiando così risorse. Anche se questo potrebbe non sembrare un grosso problema su un sistema in cui il traffico è relativamente permanente, questo servizio rispetto a un altro approccio presenta alcuni vantaggi evidenti, come la registrazione o il controllo dell'accesso.

In questo articolo installeremo xinetd su un RHEL 8 / CentOS 8 e inseriremo sshd demone sotto la sua cura. Dopo aver verificato la configurazione, modificheremo un po' la configurazione per vedere il controllo di accesso in azione.

In questo tutorial imparerai:

  • Come installare xinetd
  • Come configurare sshd su RHEL 8 / CentOS 8 come servizio xinetd
  • Come consentire l'accesso solo da una rete specifica al servizio sshd da xinetd
  • Come controllare il traffico dalle voci di log di xinetd

Consentire l'accesso da un determinato segmento di rete a sshd.

Requisiti e convenzioni software utilizzati

Requisiti software e convenzioni della riga di comando Linux
Categoria Requisiti, convenzioni o versione del software utilizzata
Sistema RHEL 8 / CentOS 8
Software xinetd 2.3.15-23, OpenSSH 7.8p1
Altro Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando.
Convenzioni # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando
$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato

Come installare il servizio xinetd in Red Hat 8 istruzioni dettagliate

Xinetd può essere trovato nei repository di base dopo aver impostato i repository ufficiali di gestione delle sottoscrizioni. Il sshd il server è installato per impostazione predefinita su qualsiasi Red Hat (e praticamente su qualsiasi distribuzione Linux).

AVVISO
Tieni presente che sshd sarà disattivato durante questa configurazione. NON provare a completare questa guida su un sistema a cui puoi accedere solo con ssh, altrimenti perderai la connessione al sistema nel momento in cui spegni sshd per avviare il server xinetd.
  1. Per prima cosa dobbiamo installare xinetd demone. Useremo dnf :
    # dnf install xinetd
  2. Se per qualche motivo il tuo sistema non contiene l'installazione di OpenSSH, puoi installare pacchetti come in questo caso openssh pacchetto come sopra:
    # dnf install openssh
  3. Xinetd viene fornito con un file di configurazione predefinito /etc/xinetd.conf , oltre ad alcuni ottimi esempi nel /etc/xinetd.d/ directory, tutto disabilitato per impostazione predefinita. Con un editor di testo come vi o nano , creiamo un nuovo file di testo /etc/xinetd.d/ssh con il seguente contenuto (notare che la nuova riga dopo il nome del servizio è obbligatoria):
    service ssh 
    {
     disable     = no
     socket_type = stream
     protocol    = tcp
     port        = 22
     wait        = no
     user        = root
     server      = /usr/sbin/sshd
     server_args = -i
    }
  4. Se il sshd server è in esecuzione sul sistema, dobbiamo fermarlo, altrimenti xinetd impossibile collegarsi alla porta TCP 22. Questo è il passaggio in cui verrai disconnesso se hai effettuato l'accesso tramite ssh.
    # systemctl stop sshd

    Se prevediamo di utilizzare sshd su xinetd a lungo termine, possiamo anche disabilitare systemd service per esso, per impedirne l'avvio all'avvio:

    systemctl disable sshd
  5. Ora possiamo avviare xinetd :
    # systemctl start xinetd

    E facoltativamente abilita l'avvio all'avvio:

    # systemctl enable xinetd
  6. Dopo l'avvio di xinetd, possiamo accedere tramite ssh, poiché la nostra configurazione di base non contiene alcuna restrizione aggiuntiva. Per testare il servizio, chiediamo il login su localhost :
    # ssh localhost
    root@localhost's password: 
    Last login: Sun Mar 31 17:30:07 2019 from 192.168.1.7
    #
  7. Aggiungiamo un'altra riga a /etc/xinetd.d/ssh , appena prima del braccialetto di chiusura:
    [...]
     server      = /usr/sbin/sshd
     server_args = -i
     only_from   = 192.168.0.0
    }

    Con questa impostazione, limitiamo l'accesso solo dal segmento di rete 192.168.*.*. È necessario riavviare xinetd affinché questa modifica alla configurazione abbia effetto:

    # systemctl restart xinetd
  8. La nostra macchina da laboratorio ha più di un'interfaccia. Per testare la restrizione di cui sopra, proveremo a connetterci per connetterci a un'interfaccia che non è consentita dalla configurazione di xinetd e una che è effettivamente consentita:
    # hostname -i
    fe80::6301:609f:4a45:1591%enp0s3 fe80::6f06:dfde:b513:1a0e%enp0s8 10.0.2.15 192.168.1.14 192.168.122.1

    Proveremo ad aprire la connessione dal sistema stesso, quindi il nostro indirizzo IP di origine sarà lo stesso della destinazione a cui stiamo cercando di connetterci. Pertanto, quando proviamo a connetterci a 10.0.2.15 , non siamo autorizzati a connetterci:

    # ssh 10.0.2.15
    ssh_exchange_identification: read: Connection reset by peer

    Mentre l'indirizzo 192.168.1.14 rientra nell'intervallo di indirizzi consentito. Riceveremo la richiesta della password e potremo accedere:

    # ssh 192.168.1.14
    [email protected]'s password:
  9. Dato che non abbiamo modificato la configurazione di registrazione predefinita, i nostri tentativi di accesso (o in altre parole, i nostri tentativi di accesso al servizio xinetd) verranno registrati su /var/log/messages . Le voci di registro possono essere trovate con un semplice grep :
    cat /var/log/messages | grep xinetd
    Mar 31 18:30:13 rhel8lab xinetd[4044]: START: ssh pid=4048 from=::ffff:10.0.2.15
    Mar 31 18:30:13 rhel8lab xinetd[4048]: FAIL: ssh address from=::ffff:10.0.2.15
    Mar 31 18:30:13 rhel8lab xinetd[4044]: EXIT: ssh status=0 pid=4048 duration=0(sec)
    Mar 31 18:30:18 rhel8lab xinetd[4044]: START: ssh pid=4050 from=::ffff:192.168.1.14

    Questi messaggi rendono facile sapere come si accede ai nostri servizi. Sebbene ci siano molte altre opzioni (inclusa la limitazione delle connessioni simultanee o l'impostazione di timeout dopo connessioni non riuscite per prevenire attacchi DOS), si spera che questa semplice configurazione mostri la potenza di questo super-server che può semplificare la vita dell'amministratore di sistema, particolarmente affollato, rivolto a Internet sistemi.


Cent OS
  1. Come installare e configurare Varnish Cache 6 con Nginx su CentOS 8

  2. Come installare Lighttpd con PHP5 FastCGI e MySQL su CentOS 6 / RHEL 6

  3. Come installare Go in Fedora e Rocky Linux/Centos/RHEL

  4. CentOS / RHEL:come installare e avviare il servizio httpd di Apache

  5. CentOS / RHEL 7:come installare e configurare il server ftp (vsftpd)

Come installare WordPress su RHEL 8 / CentOS 8 Linux

Come installare GIMP su CentOS 8 / RHEL 8 Linux

Come installare Lighttpd con PHP FPM e MariaDB su CentOS 7 / RHEL 7

Come installare e utilizzare Neofetch su Linux (RHEL/CentOS/Arch)

Come installare e configurare i contenitori Linux LXC su CentOS / RHEL / Ubuntu

Come installare e configurare il server VNC (TigerVNC) in CentOS / RHEL 7