Daemon INETD FreeBSD dan File Konfigurasi inetd conf
· 2 min read · Label UnixBSDPada sistem operasi FreeBSD, terdapat banyak daemon yang memiliki file dengan ekstensi .conf yang terletak di direktori /etc dan direktori lainnya. Di antara daemon-daemon tersebut, yang paling penting dan sensitif yang harus diperhatikan secara serius adalah inetd atau yang sering disebut "super server". Tugas inetd adalah mendengarkan koneksi pada serangkaian port jaringan tertentu dan menjalankan proses server yang sesuai saat permintaan masuk.
Misalnya, inetd bertanggung jawab atas koneksi telnet; Jika sistem FreeBSD Anda memperbolehkan telnet, Anda dapat membuka koneksi telnet dan menerima prompt login tanpa proses telnetd yang berjalan di server sebelumnya. Setiap kali sistem menerima permintaan koneksi pada Port 23, sistem akan membuat proses telnetd baru untuk menangani koneksi tersebut.
Jadi tidak mengherankan jika kebanyakan orang menyebut inetd sebagai Internet Super-Server karena ia mengelola koneksi untuk beberapa layanan. Ketika koneksi diterima oleh inetd, inetd akan menentukan program mana yang dituju oleh koneksi tersebut, lalu menjalankan proses tertentu dan mendelegasikan soket kepadanya.
Ketika rekan terhubung ke port yang dikelola oleh inetd, maka inetd mengeksekusi perintah dalam sub proses untuk menangani permintaan yang masuk. Sub proses diberi deskriptor berkas soket sebagai input standar, output standar, dan kesalahan standar. Setelah sub proses selesai, misalnya, setelah mencetak halaman web yang diminta ke STDOUT-nya, sub proses keluar, mengembalikan kontrol ke inetd.
Dalam skenario Unix tradisional, satu proses server (daemon) memantau koneksi pada port tertentu dan menangani permintaan yang masuk. Dalam kasus ini, jika server menawarkan banyak layanan, banyak proses daemon yang harus dimulai, sebagian besar dalam status menunggu, tetapi masih menggunakan sumber daya, seperti memori. Server super internet, inetd, adalah pendekatan untuk mengatasi masalah ini. Inetd akan menunggu koneksi pada beberapa port, dan ketika menerima permintaan layanan, ia menentukan aplikasi mana yang harus melayani permintaan tersebut dan meluncurkan contoh program tersebut.
1. konfigurasi inetd
Berkas konfigurasi inetd terletak di /etc/inetd.conf. Setiap baris berkas konfigurasi ini mewakili sebuah aplikasi yang dapat dijalankan oleh inetd. Secara default, setiap baris diawali dengan komentar (#), yang berarti inetd tidak mendengarkan aplikasi apa pun. Jika Anda ingin mengaktifkan aplikasi atau port tertentu di inetd, hapus tanda "#" di awal skrip.Perhatikan isi skrip berkas /etc/inetd.conf.
root@ns1:~ # ee /etc/inetd.conf
# $FreeBSD$
#
# Internet server configuration database
#
# Define *both* IPv4 and IPv6 entries for dual-stack support.
# To disable a service, comment it out by prefixing the line with '#'.
# To enable a service, remove the '#' at the beginning of the line.
#
#ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
#ftp stream tcp6 nowait root /usr/libexec/ftpd ftpd -l
#ssh stream tcp nowait root /usr/sbin/sshd sshd -i -4
#ssh stream tcp6 nowait root /usr/sbin/sshd sshd -i -6
#telnet stream tcp nowait root /usr/libexec/telnetd telnetd
#telnet stream tcp6 nowait root /usr/libexec/telnetd telnetd
#shell stream tcp nowait root /usr/local/sbin/rshd rshd
#shell stream tcp6 nowait root /usr/local/sbin/rshd rshd
#login stream tcp nowait root /usr/local/sbin/rlogind rlogind
#login stream tcp6 nowait root /usr/local/sbin/rlogind rlogind
#finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -k -s
#finger stream tcp6 nowait/3/10 nobody /usr/libexec/fingerd fingerd -k -s
#
# run comsat as root to be able to print partial mailbox contents w/ biff,
# or use the safer tty:tty to just print that new mail has been received.
#comsat dgram udp wait tty:tty /usr/libexec/comsat comsat
#
# ntalk is required for the 'talk' utility to work correctly
#ntalk dgram udp wait tty:tty /usr/libexec/ntalkd ntalkd
#tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot
#tftp dgram udp6 wait root /usr/libexec/tftpd tftpd -l -s /tftpboot
#bootps dgram udp wait root /usr/libexec/bootpd bootpd
Jika Anda ingin salah satu aplikasi di atas aktif dan dapat digunakan, hapus tanda "#". Setelah itu, untuk mengaktifkan super server inetd, Anda harus memasukkan skrip berikut di file /etc/rc.conf.
root@ns1:~ # ee /etc/rc.conf
inetd_enable="YES"
root@ns1:~ # service inetd restart
Stopping inetd.
Waiting for PIDS: 2500.
Starting inetd.
2. Cara membaca skrip inetd.conf
Dalam file /etc/inetd.conf di atas, kita dapat melihat bahwa isi file terdiri dari tiga kolom, seperti pada contoh berikut (diambil dari file /etc/inetd.conf di atas).#ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
Oke, sekarang mari kita bahas arti setiap kolom.
a. Service-name
Nama layanan atau nama program yang mencerminkan nomor port tempat inetd harus mendengarkan koneksi masuk. Ini dapat berupa angka desimal atau nama layanan yang diberikan di /etc/services, seperti ftp, ssh, telnet, login, dan lainnya.b. socket-type
Jenis soket yang digunakan inetd untuk berkomunikasi. Jenis soket harus berupa salah satu dari stream, dgram, raw, rdm, dan seqpacket.stream" untuk soket stream, dgram untuk layanan UDP, raw untuk soket biner, rdm untuk pesan pengiriman terjamin, dan seqpacket untuk soket paket yang dicadangkan. Jenis soket yang paling umum adalah stream dan dgram.
c. Protocol
Jenis protokol yang digunakan oleh Inetd dapat berupa TCP atau UDP, baik IP4 atau IP6.d. wait/nowait
Kolom ini akan memberi tahu inetd apakah harus menunggu program server kembali, atau segera kembali memproses koneksi baru. Banyak koneksi ke server memerlukan respons setelah transfer data selesai, sementara yang lain dapat terus mentransfer data secara terus-menerus, dalam kasus terakhir situasinya adalah "nowait", dan dalam kasus sebelumnya "wait". Dalam kebanyakan kasus, nilai ini sesuai dengan jenis soket, misalnya, koneksi streaming akan sesuai dengan nilai "nowait".e. username[:group]
Nama pengguna atau grup yang digunakan oleh inetd.f. server program
Lokasi direktori program yang akan dijalankan atau dieksekusi oleh inetd.g. argument-list
Kolom terakhir ini berisi daftar argumen untuk menjalankan program, termasuk nama program dan argumen program tambahan yang mungkin perlu disediakan oleh administrator sistem. Dalam inetd, semua layanan atau daemon yang dijalankan oleh inetd harus sesuai dengan layanan yang tercantum dalam berkas /etc/services. Ini menentukan port inetd mana yang mendengarkan koneksi masuk ke layanan tersebut. Saat menggunakan layanan kustom, layanan tersebut harus ditambahkan terlebih dahulu ke /etc/services.Meskipun inetd dikatakan sebagai server super, pada kenyataannya banyak daemon yang dijalankan oleh inetd tidak memperhatikan keamanan. Beberapa daemon, seperti fingerd, dapat memberikan informasi yang mungkin berguna bagi penyerang. Aktifkan hanya layanan yang diperlukan dan pantau sistem untuk upaya koneksi yang berlebihan.
Silahkan Berkomentar, Kakak...! Bunda...!
Posting Komentar