GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat a nastavit ukázkovou službu s xinetd na RHEL 8 / CentOS 8 Linux

Xinetd neboli Extended Internet Services Daemon je takzvaný super-server. Můžete jej nakonfigurovat tak, aby naslouchal místo mnoha služeb a službu, která by měla zpracovat příchozí požadavek, spouštěl až ve chvíli, kdy skutečně dorazí do systému – a tím šetříte prostředky. I když se to v systému, kde je provoz relativně stálý, nemusí zdát velký problém, tato služba v popředí jiného přístupu má určité výhody, jako je protokolování nebo řízení přístupu.

V tomto článku nainstalujeme xinetd na RHEL 8 / CentOS 8 a vložíme sshd démon pod její péčí. Po ověření nastavení konfiguraci trochu vyladíme, abychom viděli řízení přístupu v akci.

V tomto tutoriálu se naučíte:

  • Jak nainstalovat xinetd
  • Jak nastavit sshd na RHEL 8 / CentOS 8 jako službu xinetd
  • Jak povolit přístup ke službě sshd od xinetd pouze z konkrétní sítě
  • Jak auditovat provoz ze záznamů protokolu xinetd

Povolení přístupu z určitého segmentu sítě k sshd.

Požadavky na software a použité konvence

Softwarové požadavky a konvence příkazového řádku systému Linux
Kategorie Požadavky, konvence nebo použitá verze softwaru
Systém RHEL 8 / CentOS 8
Software xinetd 2.3.15-23, OpenSSH 7.8p1
Jiné Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz.
Konvence # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz
$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Jak nainstalovat službu xinetd v Red Hat 8 pokyny krok za krokem

Xinetd lze nalézt v základních repozitářích po nastavení oficiálních repozitářů Subscription Management. sshd server je ve výchozím nastavení nainstalován na jakýkoli Red Hat (a v podstatě na jakoukoli distribuci Linuxu).

UPOZORNĚNÍ
Mějte na paměti, že sshd bude během tohoto nastavení vypnuto. NEPOKOUŠEJTE se dokončit tuto příručku na systému, ke kterému máte přístup pouze pomocí ssh, jinak ztratíte připojení k systému ve chvíli, kdy vypnete sshd pro spuštění serveru xinetd.
  1. Nejprve musíme nainstalovat xinetd démon. Použijeme dnf :
    # dnf install xinetd
  2. Pokud váš systém z nějakého důvodu neobsahuje instalaci OpenSSH, můžete nainstalovat balíčky, jako je v tomto případě openssh zabalte stejným způsobem jako výše:
    # dnf install openssh
  3. Xinetd je dodáván s výchozím konfiguračním souborem /etc/xinetd.conf , stejně jako několik úhledných příkladů v /etc/xinetd.d/ adresář, všechny jsou ve výchozím nastavení zakázány. Pomocí textového editoru, jako je vi nebo nano , vytvoříme nový textový soubor /etc/xinetd.d/ssh s následujícím obsahem (všimněte si, že nový řádek za názvem služby je povinný):
    service ssh 
    {
     disable     = no
     socket_type = stream
     protocol    = tcp
     port        = 22
     wait        = no
     user        = root
     server      = /usr/sbin/sshd
     server_args = -i
    }
  4. Pokud sshd server na systému běží, musíme ho zastavit, jinak xinetd nelze se připojit k portu TCP 22. Toto je krok, kdy budete odpojeni, pokud jste přihlášeni přes ssh.
    # systemctl stop sshd

    Pokud plánujeme dlouhodobě používat sshd přes xinetd, můžeme také zakázat systemd služba pro něj, aby se zabránilo jeho spuštění při spouštění:

    systemctl disable sshd
  5. Nyní můžeme spustit xinetd :
    # systemctl start xinetd

    A volitelně povolit spouštění při spouštění:

    # systemctl enable xinetd
  6. Po spuštění xinetd se můžeme přihlásit přes ssh, protože naše základní nastavení neobsahuje žádná další omezení. Abychom mohli službu otestovat, požádáme o přihlášení na localhost :
    # ssh localhost
    root@localhost's password: 
    Last login: Sun Mar 31 17:30:07 2019 from 192.168.1.7
    #
  7. Přidejme další řádek do /etc/xinetd.d/ssh , těsně před závěrečným náramkem:
    [...]
     server      = /usr/sbin/sshd
     server_args = -i
     only_from   = 192.168.0.0
    }

    S tímto nastavením omezíme přístup pouze ze segmentu sítě 192.168.*.*. Aby se tato změna konfigurace projevila, musíme restartovat xinetd:

    # systemctl restart xinetd
  8. Náš laboratorní stroj má více než jedno rozhraní. Abychom otestovali výše uvedené omezení, pokusíme se připojit k jednomu rozhraní, které konfigurace xinetd nepovoluje, a k jednomu, které je skutečně povoleno:
    # 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

    Pokusíme se otevřít připojení ze samotného systému, takže naše zdrojová IP adresa bude stejná jako cíl, ke kterému se pokoušíme připojit. Proto, když se pokusíme připojit k 10.0.2.15 , nesmíme se připojit:

    # ssh 10.0.2.15
    ssh_exchange_identification: read: Connection reset by peer

    Zatímco adresa 192.168.1.14 je v povoleném rozsahu adres. Obdržíme výzvu k zadání hesla a můžeme se přihlásit:

    # ssh 192.168.1.14
    [email protected]'s password:
  9. Vzhledem k tomu, že jsme nezměnili výchozí konfiguraci protokolování, naše pokusy o přihlášení (nebo jinými slovy, pokusy o přístup ke službě xinetd) budou protokolovány do /var/log/messages . Záznamy protokolu lze nalézt pomocí jednoduchého 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

    Tyto zprávy usnadňují zjištění, jak se k našim službám přistupovalo. I když existuje mnoho dalších možností (včetně omezení souběžných připojení nebo nastavení časových limitů po neúspěšných připojeních, aby se zabránilo útokům DOS), toto jednoduché nastavení doufejme ukazuje sílu tohoto super-serveru, který může systémovému správci usnadnit život – zejména přeplněný internet. systémy.


Cent OS
  1. Jak nainstalovat a nastavit Varnish Cache 6 s Nginx na CentOS 8

  2. CentOS / RHEL :Jak nainstalovat a spustit službu Apache httpd

  3. Jak nainstalovat službu a klienta NTP v CentOS/RHEL 8

  1. Jak nainstalovat Lighttpd s PHP5 FastCGI a MySQL na CentOS 6 / RHEL 6

  2. Jak nainstalovat Go ve Fedoře a Rocky Linux/Centos/RHEL

  3. CentOS / RHEL 7:Jak nainstalovat a nakonfigurovat ftp server (vsftpd)

  1. Jak nainstalovat redmine na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat a nastavit ukázkovou službu s xinetd na RHEL 8 / CentOS 8 Linux

  3. Jak nainstalovat a nakonfigurovat R na RHEL 8 / CentOS 8 Linux System