Pengantar
Dalam tutorial ini, kami akan membahas cara melakukan beberapa perubahan IPTables dasar yang akan sangat membantu mengamankan server Anda. Ini dilakukan pada instalasi baru Ubuntu 14.04 64bit di Cloud kami. Ini juga dapat dilakukan pada versi apa pun dari OS Ubuntu 12.04 kami serta Debian. Semua perintah kami dijalankan sebagai root dan pengeditan file dilakukan melalui vi. Jika Anda menggunakan pengguna lain untuk melakukan ini, Anda memerlukan akses sudo. Anda dapat menggunakan editor file apa pun yang Anda inginkan.
Mengamankan server Cloud Anda dengan IPTables
Sayangnya, Ubuntu 14.04 atau 12.04 kami belum dilengkapi dengan IPTables yang sudah diinstal. Di Debian, IPTables sudah terinstal sehingga Anda dapat melewati ini. Jadi langkah pertama kami dengan Ubuntu adalah menginstal IPTables. Untuk melakukannya, cukup jalankan:
apt-get install iptables
Setelah menginstal IPTables, Anda dapat memeriksanya dengan menjalankan:
iptables –L
Ini akan mencantumkan aturan apa pun yang Anda jalankan dan memverifikasi untuk Anda bahwa Anda menginstal iptables dan itu berfungsi. Saat ini, hanya kosong tetapi Anda dapat melihat tiga jenis rantai yang tersedia.
Selanjutnya, kita akan menginstal paket iptables-persistent. Apa yang dilakukannya adalah ia akan menulis aturan IPTables kita saat ini ke file baru (/etc/iptables/rules.v4) dan itu akan menangani penerapan aturan kita secara otomatis saat reboot. Sangat membantu!
/etc/iptables/rules.v4
Ketika Anda memasukkan file, itu akan terlihat seperti gambar di atas. Ada beberapa hal yang ingin kami tambahkan sebelum aturan kustom pertama kami. Ini akan menjadi aturan untuk antarmuka loopback dan satu untuk lalu lintas yang sudah dibuat. Anda dapat melihat ini di bawah ini. Aturan kustom pertama yang akan kita tambahkan akan memungkinkan akses SSH ke server kita. Kami ingin menambahkan aturan di atas baris COMMIT karena COMMIT membatasi akhir dari set aturan INPUT, FORWARD, dan OUTPUT kami. Untuk mengetahui apa arti semua segmen IPTables dan informasi lebih lanjut tentang mereka, silakan lihat bagian IPTables kami.
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
Catatan:Jika Anda memiliki port SSH khusus seperti yang kami atur di tutorial Mengubah Port SSH Anda di Ubuntu, Anda harus mengubah 22 menjadi port SSH yang Anda konfigurasikan. Dalam kasus kami 3389
/etc/iptables/rules.v4
Aturan Anda akan terlihat seperti gambar di atas. Sekarang sebelum kita selesai di sini, ada dua hal lagi yang harus kita ubah. Di mana aturan mengatakan:
:INPUT ACCEPT and :FORWARD ACCEPT
Kami ingin membuat mereka memiliki:
:INPUT DROP and :FORWARD DROP
Apa yang dilakukan adalah memberi tahu IPTables untuk memblokir dan menjatuhkan semua lalu lintas yang tidak menuju ke port yang Anda tentukan untuk diizinkan. Ini akan menghentikan orang yang mencoba menerobos menggunakan layanan yang Anda jalankan kecuali Anda telah membuka port tersebut untuk publik.
Ketika Anda selesai, itu akan terlihat seperti di atas. Sesampai di sana, simpan saja file dan tutup. Hal terakhir yang harus kita lakukan adalah memuat aturan baru ini ke dalam IPTables saat ini. Untuk melakukan ini, Anda cukup menjalankan:
iptables-restore < /etc/iptables/rules.v4
Untuk memverifikasi aturan kami di tempat, cukup jalankan perintah yang sama dari sebelumnya:
iptables –L
Anda akan melihat sesuatu yang mirip dengan halaman di bawah ini.
/etc/iptables/rules.v4
Setelah ini, itu saja! Aturan baru Anda segera berlaku, dan akan tetap berlaku melalui reboot. Jika Anda ingin lebih membatasi dengan IPtables Anda, khususnya akses ke SSH, Anda dapat melakukan hal berikut untuk setiap alamat IP yang harus diizinkan. Ini melibatkan pengeditan aturan SSH dan menambahkan lebih banyak. Di mana ia menyatakan aturan SSH yang kami identifikasi sebelumnya, Anda ingin mengubahnya menjadi:
-A INPUT -s IPADDR –m tcp –p tcp --dport 3389 –j ACCEPT
Di mana IPADDR adalah alamat IP Anda yang ingin Anda akses SSH ke server Anda. Jika Anda tidak mengatur port SSH khusus, Anda ingin tetap menjadi 22 dan bukan 3389.
Untuk mengizinkan port tertentu melalui katakanlah untuk akses web ke situs web Anda, yang perlu Anda lakukan hanyalah mengetahui/menemukan port tempat layanan berjalan (atau Anda mengonfigurasinya) dan protokolnya (TCP atau UDP) dan mengizinkannya. Misalnya, akses situs web:
-A INPUT -m tcp -p tcp --dport 80 -j ACCEPT
Dan sekarang Internet memiliki akses ke web hosting yang Anda lakukan.
Perlu diingat, saat menambahkan aturan baru ke bagian INPUT atau FORWARD, merupakan praktik yang baik untuk menjaga agar aturan baru disatukan dengan aturan serupa. INPUT dengan INPUT dan FORWARD dengan FORWARD. Anda juga ingin memastikan bahwa aturan apa pun yang Anda tambahkan yang mengizinkan port baru melalui terdaftar DI ATAS pernyataan penolakan apa pun untuk kumpulan aturan itu. Jika mereka terdaftar setelah garis penolakan, aturan tidak akan berlaku.
Untuk melihat output dari apa yang IPTables lakukan dan/atau blokir dengan aturannya, Anda dapat menjalankan di bawah ini. Ini akan mencetak aturan yang Anda miliki dan paket apa pun tentang memutuskan koneksi atau mengizinkannya lewat.
iptables -L -vn
Untuk mengetahui apa arti semua segmen IPTables dan informasi lebih lanjut tentang mereka, silakan lihat bagian IPTables kami (tautan).
Catatan:Jika menggunakan Layanan Cloud Atlantic.Net, Anda selalu dapat mengakses server Anda melalui penampil VNC kami di Portal Cloud jika Anda mengunci diri.