Pengantar
Menyiapkan firewall adalah tahap penting dalam mengamankan sebagian besar sistem operasi modern. Sebagian besar distribusi Linux dilengkapi dengan alat firewall yang berbeda yang dapat kita gunakan untuk mengkonfigurasi firewall kita. Dalam panduan ini, kita akan membahas cara mengkonfigurasi firewall Iptables ke Ubuntu 14.04.
Catatan: Tutorial ini mencakup keamanan IPv4. Di Linux, keamanan IPv6 dipertahankan secara terpisah dari IPv4. Misalnya, "iptables" hanya mempertahankan aturan firewall untuk alamat IPv4 tetapi memiliki rekanan IPv6 yang disebut "ip6tables", yang dapat digunakan untuk mempertahankan aturan firewall untuk alamat jaringan IPv6.
Perintah dasar
Sebelum mengikuti panduan ini, Anda harus memiliki akses ke akun superuser non-root, dengan hak sudo yang diatur di server Anda. Pertama, Anda perlu tahu bahwa perintah iptables harus dijalankan dengan hak akses root saja. Untuk menerapkan kondisi ini, kami akan menambahkan "sudo" sebelum semua perintah dalam panduan ini. Kami juga dapat login sebagai pengguna root dengan menggunakan perintah “su” atau “sudo -i”, namun kami akan tetap menggunakan “sudo” untuk panduan ini.
Awalnya kita perlu menemukan aturan saat ini yang dikonfigurasi untuk iptables. Ini dicapai dengan menggunakan perintah berikut:
# sudo iptables -L
Rantai INPUT (policy ACCEPT)target prot opt source destination Chain FORWARD (policy ACCEPT)target prot opt source tujuan tujuan prot pilih kebijakanKita juga dapat melihat aturan saat ini dalam format yang lebih sederhana menggunakan flag -S alih-alih flag -L:
# sudo iptables -S-P INPUT ACCEPT-P FORWARD ACCEPT-P OUTPUT ACCEPTDalam kedua hasil kita dapat melihat tiga rantai ditampilkan sebagai INPUT, FORWARD dan OUTPUT. Kami juga melihat bahwa kebijakan default setiap rantai ditetapkan sebagai ACCEPT , tetapi tidak ada aturan aktual yang ditetapkan dalam hasil di atas. Ini karena Ubuntu tidak mengirimkan dengan aturan default yang ditetapkan.
Jika ada aturan yang sudah dikonfigurasi ke dalam Iptables, kita dapat menghapusnya sepenuhnya dengan menggunakan flag -F sebagai berikut:
Catatan:Jika Anda menghapus aturan dari jarak jauh, maka kebijakan rantai INPUT dan OUTPUT harus disetel ke ACCEPT. Ini dapat dilakukan dengan mengetik
# sudo iptables -P INPUT ACCEPT# sudo iptables -P OUTPUT ACCEPT# sudo iptables -FMenyetel aturan untuk Iptables
Aturan untuk iptables dapat diatur dengan dua cara. Salah satu caranya adalah mengizinkan aturan default untuk MENERIMA dan memblokir lalu lintas yang tidak diinginkan dengan menetapkan aturan tertentu. Metode lainnya adalah mengonfigurasi lalu lintas yang diizinkan dan memblokir yang lainnya. Metode kedua sering kali lebih disukai .
Aturan pertama yang perlu ditetapkan adalah menerima semua lalu lintas masuk dengan mengetikkan perintah berikut:
# sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPTKita dapat melihat hasil dari perintah di atas dengan menggunakan flag -L lagi.
# sudo iptables -Linput rantai (menerima kebijakan) Target Prot opt sumber Tujuan menerima semua - di mana saja terkait CTSTate, maju maju (menerima kebijakan) target prote opt output rantai tujuan (menerima kebijakan) Target Prot opt TujuanDi sini kita dapat melihat bahwa kebijakan rantai INPUT diubah dibandingkan dengan sebelum menerapkan aturan.
Langkah selanjutnya adalah mengizinkan lalu lintas ke port tertentu untuk mengaktifkan koneksi SSH . Ini dapat dilakukan dengan mengikuti:
# sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT“ssh” diterjemahkan ke nomor port 22 secara default. Nomor port apa pun dapat digunakan sebagai pengganti "ssh". Untuk mengizinkan akses ke server web HTTP, ketik perintah berikut:
# sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTAda satu lagi aturan ACCEPT yang perlu ditetapkan ke Iptables kita agar server kita berjalan dengan baik.
# sudo iptables -I INPUT 1 -i lo -j ACCEPTMenambahkan aturan drop
Sejauh ini kami hanya menambahkan aturan ACCEPT ke Iptables kami. Kita perlu menetapkan aturan blok juga karena semua paket jaringan akan diterima sesuai aturan yang ditetapkan untuk Iptables kita. Salah satu caranya adalah dengan menetapkan aturan DROP ke dalam kebijakan default rantai INPUT kami. Ini menangkap semua paket yang masuk melalui rantai INPUT kami dan menjatuhkannya.
# sudo iptables -P INPUT DROPSalah satu implikasi dari jenis desain ini adalah bahwa ia akan kembali menjatuhkan paket jika aturan dihapus.
Pendekatan alternatif adalah menjaga kebijakan default untuk rantai sebagai accept dan menambahkan aturan yang menjatuhkan setiap paket yang tersisa ke bagian bawah rantai itu sendiri.
Jika Anda mengubah kebijakan default untuk rantai INPUT di atas, Anda dapat menyetelnya kembali untuk mengikuti dengan mengetik:
# sudo iptables -P INPUT ACCEPTSekarang, Anda dapat menambahkan aturan ke bagian bawah rantai yang akan menghapus paket yang tersisa:
# sudo iptables -A INPUT -j DROPSebelum menyimpan Iptables, sebaiknya periksa aturan yang ditetapkan sekali. Aturan kami saat ini ditetapkan sebagai berikut:
-P INPUT ACCEPT-P FORWARD ACCEPT-P OUTPUT ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT-A INPUT -p tcp -m tcp -- dport 22 -j ACCEPT-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT-A INPUT -j DROPMenyimpan aturan Iptables
Secara default, aturan Iptables akan dihapus setelah server dimulai ulang. Untuk menyimpan aturan Iptabels secara permanen, pengaturan dapat disimpan dalam beberapa cara berbeda, tetapi cara termudah adalah dengan paket "iptables-persistent". Ini dapat diunduh dari repositori default Ubuntu:
# sudo apt-get update# sudo apt-get install iptables-persistentSimpan aturan firewall Anda dengan perintah ini:
# sudo memanggil-rc.d iptables-persistent saveUntuk mengetahui cara mengkonfigurasi dan menyimpan aturan firewall menggunakan iptables-persistent di Ubuntu 10.04/Debian 6.0 klik link di bawah ini:
Cara mengkonfigurasi dan menyimpan Iptables-persistent untuk Ubuntu 10.04/ Debian 6.0
Ubuntu