GNU/Linux >> Belajar Linux >  >> Linux

Cara:Mengamankan Server Ubuntu atau Debian Anda dengan IPTables

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.


Linux
  1. Cara Install Puppet 6.x Di Ubuntu 18.04 / Ubuntu 16.04 &Debian 9

  2. Cara Install SSH Server di Ubuntu / Debian dengan OpenSSH

  3. Mengamankan VPS berbasis Ubuntu/Debian Anda menggunakan firewall IPTABLES/Netfilter

  1. Cara Mengkonfigurasi HAProxy di Server Debian 9 / Ubuntu 16.04

  2. Cara Menambahkan IP Tambahan ke Server Ubuntu 18.04 Anda

  3. Cara Mengamankan server Ubuntu Anda dengan CSF Firewall

  1. Cara Menghasilkan sosreport di Ubuntu 18.04 / Debian 9 Server

  2. Cara memonitor file log server dengan Logwatch di Debian dan Ubuntu

  3. Cara Mengatur Server Email dengan Mailinabox di Ubuntu 14.04