Dalam panduan ini, kita akan mempelajari apa itu Pembungkus TCP, kegunaannya, cara menginstal Pembungkus TCP di Linux, dan cara membatasi akses ke server Linux menggunakan Pembungkus TCP.
Contents
Apa Pembungkus TCP itu? Apakah Pembungkus TCP adalah pengganti untuk Firewall?Instal Pembungkus TCP di LinuxKonfigurasi Pembungkus TCPBerkas /etc/hosts.allowBerkas /etc/hosts.denyAturan yang perlu diingatBatasi Akses ke Server Linux Menggunakan Pembungkus TCPIzinkan semua host kecuali host tertentuKesimpulanApa itu Pembungkus TCP?
TCP Wrapper (juga dikenal sebagai tcp_wrapper ) adalah sistem ACL (Access Control List) berbasis host open source, yang digunakan untuk membatasi layanan jaringan TCP berdasarkan nama host, alamat IP, alamat jaringan, dan sebagainya. Ini memutuskan host mana yang harus diizinkan untuk mengakses layanan jaringan tertentu.
TCP Wrapper dikembangkan oleh seorang programmer dan fisikawan Belanda Wietse Zweitze Venema pada tahun 1990 di Universitas Teknologi Eindhoven. Dia mempertahankannya hingga tahun 1995, dan kemudian merilisnya di bawah Lisensi BSD pada tahun 2001.
Apakah TCP Wrappers merupakan pengganti Firewall?
No. Perlu diketahui bahwa TCP Wrapper bukan pengganti lengkap untuk firewall yang dikonfigurasi dengan benar. Ini hanya tambahan yang berharga untuk meningkatkan keamanan server Linux Anda.
Beberapa distribusi Linux seperti Debian, Ubuntu telah menghapus Pembungkus TCP dari repositori resmi. Sebab, tcp_wrappers versi terakhir dirilis 20 tahun lalu. Pada saat itu alat yang sangat ampuh untuk "memblokir semua lalu lintas".
Namun, hari ini kita dapat melakukan hal yang sama menggunakan firewall/iptables/nftables untuk semua lalu lintas di tingkat jaringan atau menggunakan pemfilteran serupa di tingkat aplikasi. Tetapi Pembungkus TCP memblokir koneksi masuk hanya pada tingkat aplikasi.
Jika Anda masih lebih suka menggunakan Pembungkus TCP karena alasan apa pun, selalu disarankan untuk menggunakan Pembungkus TCP bersama dengan firewall yang dikonfigurasi dengan benar dan mekanisme serta alat keamanan lainnya untuk memperkuat keamanan server Linux Anda .
Instal TCP Wrapper di Linux
TCP Wrappers tersedia di repositori resmi sebagian besar sistem operasi Linux.
Tergantung pada distribusi Linux yang Anda gunakan, TCP Wrappers dapat diinstal seperti yang ditunjukkan di bawah ini.
Pada sistem berbasis Arch, pastikan repositori [Komunitas] adalah aktifkan dan jalankan perintah berikut untuk TCP Wrappers di Arch Linux dan variannya seperti EndeavourOS dan Manjaro Linux:
$ sudo pacman -S tcp-wrappers
On Fedora , RHEL, CentOS, AlmaLinux dan Rocky Linux:
Pastikan Anda telah mengaktifkan [ EPEL] repositori:
$ sudo dnf install epel-release
Dan kemudian instal pembungkus TCP menggunakan perintah:
$ sudo dnf di stall tcp_wrappers
Pada sistem RHEL 6, Anda perlu menggunakan yum daripada dnf untuk menginstal TCP wrappers.
$ sudo yum install tcp_wrappersConfigure TCP Wrappers
TCP Wrappers mengimplementasikan kontrol akses dengan bantuan dua file konfigurasi:
/etc/etchosts.allow /hosts.deny.
Kedua file daftar kontrol akses ini memutuskan apakah klien tertentu diizinkan untuk mengakses server Linux Anda.
File /etc/hosts.allow
File /etc/hosts.allow berisi daftar yang diizinkan atau tidak diizinkan host atau jaringan. Ini berarti bahwa kita dapat mengizinkan atau menolak koneksi ke layanan jaringan dengan mendefinisikan aturan akses dalam file ini.
File /etc/hosts.deny
File /etc/hosts.deny berisi daftar host atau jaringan yang tidak diizinkan untuk mengakses server Linux. Aturan akses dalam file ini juga dapat diatur di /etc/hosts.allow dengan opsi 'tolak'.
Sintaks umum untuk mendefinisikan aturan akses adalah:
daemon_list : client_list : option : option ...
Where,
daemon_list - The nama layanan jaringan seperti SSH, FTP, Portmap etc.clients_list - Daftar nama host, alamat IP, atau alamat jaringan yang valid yang dipisahkan koma. Opsi - Tindakan opsional yang menentukan sesuatu yang harus dilakukan setiap kali aturan cocok.
Sintaksnya adalah sama untuk kedua file.
Rules yang perlu diingat
Sebelum menggunakan TCP Wrapper, Anda perlu mengetahui aturan penting berikut. Harap diperhatikan bahwa Pembungkus TCP hanya merujuk pada dua file ini (hosts.allow dan hosts.deny).
Aturan akses dalam file /etc/hosts.allow diterapkan terlebih dahulu. Mereka lebih diutamakan daripada aturan di file /etc/hosts.deny. Oleh karena itu, jika akses ke layanan diizinkan di file /etc/hosts.allow, dan aturan yang menolak akses ke layanan yang sama di /etc/hosts.deny akan diabaikan.Hanya satu aturan per layanan yang diizinkan di kedua file (hosts. izinkan dan host.deny file). Urutan aturan sangat penting. Hanya aturan pencocokan pertama untuk layanan tertentu yang akan diperhitungkan. Hal yang sama berlaku untuk kedua file. Jika tidak ada aturan yang cocok untuk layanan di salah satu file atau jika tidak ada file, maka akses ke layanan akan diberikan ke semua host jarak jauh. Setiap perubahan pada kedua file akan segera berlaku tanpa memulai ulang layanan jaringan.Batasi Akses ke Server Linux Menggunakan TCP Wrappers
Pendekatan yang disarankan untuk mengamankan server Linux adalah dengan memblokir semua koneksi yang masuk, dan hanya mengizinkan beberapa host atau jaringan tertentu.
Untuk melakukannya, edit /etc/hosts.deny file:
$ sudo vi /etc/hosts.deny
Tambahkan baris berikut. Baris ini menolak koneksi ke SEMUA layanan dan SEMUA jaringan.
ALL: ALL
Kemudian, edit /etc/hosts.allow file:
$ sudo vi /etc/hosts.allow
and izinkan host atau jaringan tertentu pilihan Anda.
sshd: 192.168.43.192 192.168 .43.193
Anda juga dapat menentukan nama host yang valid alih-alih alamat IP seperti yang ditunjukkan di bawah ini.
sshd: server1.ostechnix.lan server2.ostechnx.lan
Atau, Anda dapat melakukan hal yang sama dengan mendefinisikan semua aturan (baik mengizinkan dan menolak) di /etc/hosts. izinkan file sendiri.
Edit file /etc/hosts.allow dan tambahkan baris berikut.
sshd: 192.168.43.192 192.168.43.193 sshd: ALL: DENY
Dalam hal ini, Anda tidak perlu menentukan aturan apa pun di /etc/hosts.deny file.
Sesuai aturan di atas, semua koneksi masuk akan ditolak untuk semua host kecuali dua host 192.168.43.192, 192.168.43.193.
Sekarang, coba SSH ke server Linux Anda dari host mana pun kecuali host di atas, Anda akan mendapatkan yang berikut error.
ssh_exchan ge_identification: baca: Reset koneksi oleh peer
Anda dapat memverifikasi ini dari file log server Linux Anda seperti yang ditunjukkan di bawah ini.
$ cat /var/log/secure
Contoh output:
Jun 16 19:40:17 server sshd[15782]: menolak terhubung dari 192.168. 43.150 (192.168.43.150)
Demikian pula, Anda dapat menentukan aturan untuk layanan lain, misalnya vsftpd, dalam file /etc/hosts.allow seperti yang ditunjukkan di bawah ini.
vsftpd: 192.168.43.192 vsftpd: ALL: DENY
Sekali lagi, Anda tidak perlu melakukannya tentukan aturan apa pun di file /etc/hosts.deny. Sesuai aturan di atas, host jarak jauh dengan alamat IP 192.168.43.192 diizinkan untuk mengakses server Linux melalui FTP. Semua host lain akan ditolak.
Juga, Anda dapat menentukan aturan akses dalam format yang berbeda dalam file /etc/hosts.allow seperti yang ditunjukkan di bawah ini.
sshd: 192.168.43.192 #Izinkan satu host untuk layanan SSH sshd: 192.168.43.0/255.255 .255.0 #Izinkan awalan /24 untuk SSH vsftpd: 192.168.43.192 #Izinkan satu host untuk FTP vsftpd: 192.168.43.0/255.255.255.0 #Izinkan awalan /24 untuk FTP vsftpd: server1.ostechnix.lan #Izinkan satu host untuk FTPIzinkan semua host kecuali host tertentu
Anda dapat mengizinkan koneksi masuk dari semua host, tetapi tidak dari host tertentu. Misalnya, untuk mengizinkan koneksi masuk dari semua host di subnet 192.168.43, tetapi tidak dari host 192.168.43.192, tambahkan baris berikut di /etc/hosts.allow file.
ALL: 192.168.43. KECUALI 192.168.43.192
Dalam kasus di atas, Anda tidak perlu menambahkan aturan apa pun di file /etc/hosts.deny.
Atau Anda dapat menentukan nama host alih-alih alamat IP seperti yang ditunjukkan di bawah ini.
ALL: .ostechnix.lan KECUALI badhost. ostechnix.lan
Untuk detail lebih lanjut, lihat halaman manual.
$ man tcpdConclusion
Seperti yang Anda lihat, mengamankan layanan jaringan di sistem Linux Anda dengan TCP Wrapper itu mudah! Namun perlu diingat bahwa TCP Wrapper bukanlah pengganti firewall. Ini harus digunakan bersama dengan firewall dan alat keamanan lainnya.
Resource:
Wikipedia
Direkomendasikan Baca:
Mengizinkan Atau Menolak Akses SSH Ke Pengguna Atau Grup Tertentu Di LinuxBatasi Jumlah Login SSH Per Pengguna/Grup/Sistem