Cara Mengamankan Layanan Jaringan Menggunakan Pembungkus TCP Di Linux
- 4648
- 467
- Darryl Ritchie
Dalam artikel ini kami akan menjelaskan apa itu pembungkus TCP dan bagaimana mengkonfigurasinya untuk membatasi akses ke layanan jaringan yang berjalan di server Linux. Namun, sebelum kita mulai, kita harus mengklarifikasi bahwa penggunaan pembungkus TCP tidak menghilangkan kebutuhan untuk firewall yang dikonfigurasi dengan benar.
Dalam hal ini, Anda dapat menganggap alat ini sebagai daftar kontrol akses berbasis host, dan bukan sebagai tindakan keamanan utama untuk sistem Anda. Dengan menggunakan pembungkus firewall dan TCP, alih -alih menyukai satu di atas yang lain, Anda akan memastikan bahwa server Anda tidak dibiarkan dengan satu titik kegagalan pun.
Memahami host.Izinkan dan host.membantah
Saat permintaan jaringan mencapai server Anda, pembungkus TCP menggunakan tuan rumah.mengizinkan
Dan tuan rumah.membantah
(dalam urutan itu) untuk menentukan apakah klien harus diizinkan menggunakan layanan yang diberikan.
Secara default, file -file ini kosong, semua dikomentari, atau tidak ada. Dengan demikian, semuanya diperbolehkan melalui lapisan pembungkus TCP dan sistem Anda dibiarkan bergantung pada firewall untuk perlindungan penuh. Karena ini tidak diinginkan, karena alasan kami menyatakan dalam pendahuluan, pastikan kedua file ada:
# ls -l /etc /hosts.Izinkan /etc /host.membantah
Sintaks kedua file adalah sama:
: [:::…]
Di mana,
- jasa adalah daftar layanan yang dipisahkan koma yang harus diterapkan oleh aturan saat ini.
- Klien mewakili daftar nama host yang dipisahkan koma atau alamat IP yang dipengaruhi oleh aturan. Wildcard berikut diterima:
- SEMUA cocok dengan segalanya. Berlaku untuk klien dan layanan.
- LOKAL mencocokkan host tanpa periode di dalamnya Fqdn, seperti localhost.
- DIKETAHUI menunjukkan situasi di mana nama host, alamat host, atau pengguna diketahui.
- TIDAK DIKENAL adalah kebalikan dari DIKETAHUI.
- Paranoid menyebabkan koneksi akan dijatuhkan jika pencarian DNS terbalik (pertama -tama pada alamat IP untuk menentukan nama host, kemudian pada nama host untuk mendapatkan alamat IP) mengembalikan alamat yang berbeda dalam setiap kasus.
- Akhirnya, daftar opsional dari tindakan yang dipisahkan usus besar menunjukkan apa yang harus terjadi ketika aturan yang diberikan dipicu.
Anda mungkin ingin mengingat bahwa aturan yang memungkinkan akses ke layanan tertentu /etc/host.mengizinkan
diutamakan daripada peraturan /etc/host.membantah
melarangnya. Selain itu, jika dua aturan berlaku untuk layanan yang sama, hanya yang pertama yang akan diperhitungkan.
Sayangnya, tidak semua layanan jaringan mendukung penggunaan pembungkus TCP. Untuk menentukan apakah layanan yang diberikan mendukung mereka, lakukan:
# ldd/path/to/biner | grep libwrap
Jika perintah di atas mengembalikan output, itu bisa dibungkus TCP. Contohnya adalah sshd Dan vsftpd, Seperti yang ditunjukkan di sini:
Temukan layanan yang didukung dalam pembungkus TCPCara menggunakan pembungkus TCP untuk membatasi akses ke layanan
Saat Anda mengedit /etc/host.mengizinkan
Dan /etc/host.membantah
, Pastikan Anda menambahkan garis baru dengan menekan Memasuki Setelah garis non-kosong terakhir.
Untuk mengizinkan akses SSH dan FTP hanya 192.168.0.102 Dan localhost dan menyangkal semua yang lain, tambahkan dua baris ini /etc/host.membantah
:
sshd, vsftpd: semua: semua: semua
dan baris berikut /etc/host.mengizinkan
:
SSHD, VSFTPD: 192.168.0.102, lokalPembungkus TCP - Host.menyangkal file
# # host.Tolak file ini berisi aturan akses yang digunakan untuk # menyangkal koneksi ke layanan jaringan yang menggunakan # pustaka tcp_wrappers atau yang telah # dimulai melalui xinetd yang diaktifkan tcp_wrappers. # # Aturan dalam file ini juga dapat diatur di # /etc /hosts.Izinkan dengan opsi 'tolak' sebagai gantinya. # # Lihat 'Man 5 HOSTS_OPTIONS' dan 'MAN 5 HOSTS_ACCESS' # Untuk informasi tentang sintaks aturan. # Lihat 'Man TCPD' untuk informasi di tcp_wrappers # sshd, vsftpd: semua: semua: semuaPembungkus TCP - Host.Izinkan file
# # host.Izinkan file ini berisi aturan akses yang digunakan untuk # mengizinkan atau menolak koneksi ke layanan jaringan yang # baik menggunakan pustaka tcp_wrappers atau yang telah dimulai melalui xinetd yang diaktifkan oleh tcp_wrappers. # # Lihat 'Man 5 HOSTS_OPTIONS' dan 'MAN 5 HOSTS_ACCESS' # Untuk informasi tentang sintaks aturan. # Lihat 'Man TCPD' untuk informasi di tcp_wrappers # SSHD, VSFTPD: 192.168.0.102, lokal
Perubahan ini terjadi segera tanpa perlu restart.
Pada gambar berikut Anda dapat melihat efek menghapus kata tersebut LOKAL
Dari baris terakhir: server FTP tidak tersedia untuk localhost. Setelah kami menambahkan wildcard kembali, layanan tersedia lagi.
Untuk mengizinkan semua layanan menjadi host di mana namanya berisi contoh.com
, Tambahkan baris ini tuan rumah.mengizinkan
:
SEMUA : .contoh.com
dan untuk menolak akses ke VSFTPD ke mesin di 10.0.1.0/24, Tambahkan baris ini tuan rumah.membantah
:
VSFTPD: 10.0.1.
Pada dua contoh terakhir, perhatikan dot Di awal dan akhir daftar klien. Itu digunakan untuk menunjukkan "semua host dan / atau klien di mana nama atau IP berisi string itu".
Apakah artikel ini bermanfaat bagi Anda? Apakah Anda memiliki pertanyaan atau komentar? Jangan ragu untuk memberi kami catatan menggunakan formulir komentar di bawah ini.
- « IOTOP - Monitor Linux Disk I/O Aktivitas dan Penggunaan Per -Process Basis
- 10 Pertanyaan Wawancara Perintah 'LS' yang Berguna - Bagian 2 »