GNU/Linux >> Belajar Linux >  >> Cent OS

Cara menginstal dan mengatur layanan contoh dengan xinetd di RHEL 8 / CentOS 8 Linux

Xinetd, atau Extended Internet Services Daemon, adalah yang disebut super-server. Anda dapat mengonfigurasinya untuk mendengarkan di tempat banyak layanan, dan memulai layanan yang seharusnya menangani permintaan masuk hanya ketika permintaan itu benar-benar tiba ke sistem – sehingga menghemat sumber daya. Meskipun hal ini mungkin tidak menjadi masalah besar pada sistem di mana lalu lintas relatif permanen, layanan ini di depan pendekatan lain memang memiliki beberapa keuntungan yang rapi, seperti logging atau kontrol akses.

Pada artikel ini kita akan menginstal xinetd pada RHEL 8 / CentOS 8, dan kita akan meletakkan sshd daemon di bawah perawatannya. Setelah memverifikasi penyiapan, kami akan mengubah sedikit konfigurasi untuk melihat kontrol akses beraksi.

Dalam tutorial ini Anda akan mempelajari:

  • Cara menginstal xinetd
  • Cara menyiapkan sshd di RHEL 8 / CentOS 8 sebagai layanan xinetd
  • Cara mengizinkan akses hanya dari jaringan tertentu ke layanan sshd dari xinetd
  • Cara mengaudit lalu lintas dari entri log xinetd

Mengizinkan akses dari segmen jaringan tertentu ke sshd.

Persyaratan dan Konvensi Perangkat Lunak yang Digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, Konvensi, atau Versi Perangkat Lunak yang Digunakan
Sistem RHEL 8 / CentOS 8
Perangkat Lunak xinetd 2.3.15-23, OpenSSH 7.8p1
Lainnya Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo perintah.
Konvensi # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa

Cara menginstal layanan xinetd di Red Hat 8 petunjuk langkah demi langkah

Xinetd dapat ditemukan di repositori dasar setelah menyiapkan repositori resmi Manajemen Berlangganan. sshd server diinstal ke Red Hat (dan hampir semua distribusi Linux) secara default.

PERINGATAN
Perlu diingat bahwa sshd akan dimatikan selama pengaturan ini. JANGAN mencoba menyelesaikan panduan ini pada sistem yang hanya dapat Anda akses dengan ssh, jika tidak, Anda akan kehilangan koneksi ke sistem saat Anda mematikan sshd untuk memulai server xinetd.
  1. Pertama kita perlu menginstal xinetd daemon. Kami akan menggunakan dnf :
    # dnf install xinetd
  2. Jika karena alasan tertentu sistem Anda tidak memuat instalasi OpenSSH, Anda dapat menginstal paket seperti dalam hal ini openssh paket dengan cara yang sama seperti di atas:
    # dnf install openssh
  3. Xinetd dilengkapi dengan file konfigurasi default /etc/xinetd.conf , serta beberapa contoh rapi di /etc/xinetd.d/ direktori, semua dinonaktifkan secara default. Dengan editor teks seperti vi atau nano , mari buat file teks baru /etc/xinetd.d/ssh dengan konten berikut (perhatikan bahwa baris baru setelah nama layanan adalah wajib):
    service ssh 
    {
     disable     = no
     socket_type = stream
     protocol    = tcp
     port        = 22
     wait        = no
     user        = root
     server      = /usr/sbin/sshd
     server_args = -i
    }
  4. Jika sshd server sedang berjalan di sistem, kita harus menghentikannya, jika tidak xinetd tidak dapat mengikat ke port TCP 22. Ini adalah langkah di mana Anda akan terputus jika Anda masuk melalui ssh.
    # systemctl stop sshd

    Jika kami berencana untuk menggunakan sshd melalui xinetd dalam jangka panjang, kami juga dapat menonaktifkan systemd service untuk itu, untuk mencegahnya dimulai saat boot:

    systemctl disable sshd
  5. Sekarang kita bisa memulai xinetd :
    # systemctl start xinetd

    Dan secara opsional aktifkan startup saat boot:

    # systemctl enable xinetd
  6. Setelah xinetd dimulai, kita dapat login melalui ssh, karena pengaturan dasar kita tidak mengandung batasan tambahan. Untuk menguji layanan, kami meminta login di localhost :
    # ssh localhost
    root@localhost's password: 
    Last login: Sun Mar 31 17:30:07 2019 from 192.168.1.7
    #
  7. Mari tambahkan baris lain ke /etc/xinetd.d/ssh , tepat sebelum gelang penutup:
    [...]
     server      = /usr/sbin/sshd
     server_args = -i
     only_from   = 192.168.0.0
    }

    Dengan pengaturan ini, kami membatasi akses hanya dari segmen jaringan 192.168.*.*. Kita perlu memulai ulang xinetd agar perubahan konfigurasi ini berlaku:

    # systemctl restart xinetd
  8. Mesin lab kami memiliki lebih dari satu antarmuka. Untuk menguji batasan di atas, kami akan mencoba menghubungkan untuk terhubung ke satu antarmuka yang tidak diizinkan oleh konfigurasi xinetd, dan yang memang diizinkan:
    # 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

    Kami akan mencoba membuka koneksi dari sistem itu sendiri, sehingga alamat IP sumber kami akan sama dengan tujuan yang kami coba sambungkan. Oleh karena itu, ketika kami mencoba menghubungkan ke 10.0.2.15 , kami tidak diizinkan untuk terhubung:

    # ssh 10.0.2.15
    ssh_exchange_identification: read: Connection reset by peer

    Sedangkan alamat 192.168.1.14 berada dalam rentang alamat yang diizinkan. Kami akan mendapatkan prompt kata sandi, dan dapat masuk:

    # ssh 192.168.1.14
    [email protected]'s password:
  9. Karena kami belum mengubah konfigurasi logging default, upaya login kami (atau dengan kata lain, upaya kami untuk mengakses layanan xinetd) akan dicatat ke /var/log/messages . Entri log dapat ditemukan dengan sederhana 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

    Pesan-pesan ini memudahkan untuk mengetahui bagaimana layanan kami diakses. Meskipun ada banyak opsi lain (termasuk membatasi koneksi yang setuju, atau mengatur batas waktu setelah koneksi gagal untuk mencegah serangan DOS), pengaturan sederhana ini diharapkan menunjukkan kekuatan server super ini yang dapat membuat hidup sysadmin lebih mudah – terutama yang ramai, menghadap ke Internet sistem.


Cent OS
  1. Cara Memasang dan Mengatur Varnish Cache 6 dengan Nginx di CentOS 8

  2. Cara Instal Lighttpd Dengan PHP5 FastCGI Dan MySQL Pada CentOS 6 / RHEL 6

  3. CentOS / RHEL :Cara menginstal dan memulai layanan Apache httpd

  1. Cara menginstal Go di Fedora dan Rocky Linux/Centos/RHEL

  2. CentOS / RHEL 7 :Cara menginstal dan mengkonfigurasi server ftp (vsftpd)

  3. Cara Menginstal Layanan dan Klien NTP di CentOS/RHEL 8

  1. Cara menginstal redmine di RHEL 8 / CentOS 8 Linux

  2. Cara menginstal dan mengatur layanan contoh dengan xinetd di RHEL 8 / CentOS 8 Linux

  3. Cara menginstal dan mengkonfigurasi R pada Sistem Linux RHEL 8 / CentOS 8