25 aturan firewall ptable yang berguna yang harus diketahui oleh setiap administrator linux
- 2846
- 311
- Hector Kuhic
Mengelola Lalu Lintas Jaringan adalah salah satu pekerjaan terberat yang harus ditangani oleh administrator sistem. Dia harus mengkonfigurasi firewall sedemikian rupa sehingga akan memenuhi persyaratan sistem dan pengguna untuk koneksi yang masuk dan keluar, tanpa membuat sistem rentan terhadap serangan.
25 aturan firewall ptables untuk linuxDi sinilah ptable
berguna. Ptable adalah firewall baris perintah linux yang memungkinkan administrator sistem untuk mengelola lalu lintas yang masuk dan keluar melalui satu set aturan tabel yang dapat dikonfigurasi.
Ptable menggunakan satu set tabel yang memiliki rantai yang berisi set aturan bawaan atau yang ditentukan pengguna. Terima kasih kepada mereka, seorang administrator sistem dapat dengan benar menyaring lalu lintas jaringan sistemnya.
Per ptables manual, saat ini ada 3 jenis tabel:
SARING
- Ini adalah tabel default, yang berisi rantai bawaan untuk:- MEMASUKKAN - Paket yang ditakdirkan untuk soket lokal
- MAJU - Paket dialihkan melalui sistem
- KELUARAN - paket yang dihasilkan secara lokal
Nat
- Tabel yang dikonsultasikan saat paket mencoba membuat koneksi baru. Ini memiliki bawaan berikut:- Prerouting - digunakan untuk mengubah paket segera setelah diterima
- KELUARAN - digunakan untuk mengubah paket yang dihasilkan secara lokal
- Postrouting - digunakan untuk mengubah paket karena akan keluar
MENGOYAKKAN
- Tabel ini digunakan untuk mengubah paket. Sampai versi kernel 2.4 Meja ini hanya memiliki dua rantai, tetapi sekarang 5:- Prerouting - untuk mengubah koneksi yang masuk
- KELUARAN - untuk mengubah paket yang dihasilkan secara lokal
- MEMASUKKAN - untuk paket yang masuk
- Postrouting - untuk mengubah paket saat mereka akan keluar
- MAJU - untuk paket yang dialihkan melalui kotak
Di artikel ini, Anda akan melihat beberapa perintah berguna yang akan membantu Anda mengelola firewall kotak linux Anda melalui iptables. Untuk tujuan artikel ini, saya akan mulai dengan perintah yang lebih sederhana dan pergi ke lebih kompleks sampai akhir.
1. Mulai/Berhenti/Mulai Uptart Firewall
Pertama, Anda harus tahu cara mengelola layanan iptables dalam distribusi linux yang berbeda. Ini cukup mudah:
Pada distribusi Linux berbasis systemd
------------ Pada sen/rhel 7 dan fedora 22+ ------------ # Systemctl Mulai ptables # systemctl stop ptables # systemctl restart ptables
Pada distribusi Linux berbasis sysvinit
------------ Pada sen/rhel 6/5 dan fedora ------------ # /etc /init.d/iptables mulai #/etc/init.d/ptables stop #/etc/init.restart d/iptables
2. Periksa semua aturan firewall ptables
Jika Anda ingin memeriksa aturan yang ada, gunakan perintah berikut:
# ptables -l -n -v
Ini harus mengembalikan output yang mirip dengan yang di bawah ini:
Input rantai (kebijakan menerima paket 1129k, 415m byte) pkts byte target prott in out source tujuan 0 0 terima tcp - lxcbr0 * 0.0.0.0/0 0.0.0.0/0 TCP DPT: 53 0 0 Terima udp - lxcbr0 * 0.0.0.0/0 0.0.0.0/0 UDP DPT: 53 0 0 Terima TCP - LXCBR0 * 0.0.0.0/0 0.0.0.0/0 TCP DPT: 67 0 0 Terima udp - lxcbr0 * 0.0.0.0/0 0.0.0.0/0 UDP DPT: 67
Rantai maju (kebijakan menerima 0 paket, 0 byte) pkts byte target prot opt in out source tujuan 0 0 terima semua - * lxcbr0 0.0.0.0/0 0.0.0.0/0 0 0 Terima semua - lxcbr0 * 0.0.0.0/0 0.0.0.0/0
Output rantai (kebijakan menerima paket 354k, 185m byte) pkts byte target prott in out source tujuan
Jika Anda lebih suka memeriksa aturan untuk tabel tertentu, Anda dapat menggunakan -T
Opsi diikuti oleh tabel yang ingin Anda periksa. Misalnya, untuk memeriksa aturan di Nat
Tabel, Anda dapat menggunakan:
# ptables -t nat -l -v -n
3. Memblokir alamat IP spesifik di firewall ptables
Jika Anda menemukan aktivitas yang tidak biasa atau kasar dari alamat IP, Anda dapat memblokir alamat IP itu dengan aturan berikut:
# ptables -a input -s xxx.xxx.xxx.XXX -J Drop
Dimana Anda perlu berubah "xxx.xxx.xxx.xxx "
dengan alamat IP yang sebenarnya. Berhati -hatilah saat menjalankan perintah ini karena Anda dapat secara tidak sengaja memblokir alamat IP Anda sendiri. Itu -A
Opsi menambahkan aturan di akhir rantai yang dipilih.
Jika Anda hanya ingin memblokir TCP Lalu lintas dari alamat IP itu, Anda dapat menggunakan -P
opsi yang menentukan protokol. Dengan cara itu perintah akan terlihat seperti ini:
# ptables -a input -p tcp -s xxx.xxx.xxx.XXX -J Drop
4. Buka Blokir IP Alamat di Firewall Iptables
Jika Anda telah memutuskan bahwa Anda tidak lagi ingin memblokir permintaan dari alamat IP tertentu, Anda dapat menghapus aturan pemblokiran dengan perintah berikut:
# ptables -d input -s xxx.xxx.xxx.XXX -J Drop
Itu -D
Opsi menghapus satu atau lebih aturan dari rantai yang dipilih. Jika Anda lebih suka menggunakan opsi yang lebih panjang yang dapat Anda gunakan --menghapus
.
5. Memblokir port spesifik pada firewall ptables
Terkadang Anda mungkin ingin memblokir koneksi yang masuk atau keluar pada port tertentu. Ini adalah ukuran keamanan yang baik dan Anda harus benar -benar memikirkan masalah ini saat menyiapkan firewall Anda.
Untuk memblokir koneksi keluar pada penggunaan port tertentu:
# ptables -a output -p tcp - -Dort xxx -j drop
Untuk memungkinkan penggunaan koneksi yang masuk:
# ptables -a input -p tcp --dport xxx -j terima
Dalam kedua contoh perubahan "xxx"
dengan port sebenarnya yang ingin Anda izinkan. Jika Anda ingin memblokir UDP lalu lintas bukannya TCP, cukup ubah "TCP"
dengan "UDP"
dalam aturan ptables di atas.
6. Izinkan beberapa port pada iptables menggunakan multiport
Anda dapat mengizinkan beberapa port sekaligus, dengan menggunakan multiport, Di bawah ini Anda dapat menemukan aturan seperti itu untuk koneksi yang masuk dan keluar:
# ptables -a input -p tcp -m multiport --dports 22,80,443 -j menerima # ptables -se output -p tcp -m multiport --ports 22,80,443 -j terima
7. Izinkan rentang jaringan tertentu pada port tertentu pada ptables
Anda mungkin ingin membatasi koneksi tertentu pada port tertentu ke jaringan tertentu. Katakanlah Anda ingin mengizinkan koneksi keluar di port 22
ke jaringan 192.168.100.0/24
.
Anda dapat melakukannya dengan perintah ini:
# ptables -se output -p tcp -d 192.168.100.0/24 -DPOR 22 -J Terima
8. Blokir Facebook di firewall ptables
Beberapa majikan suka memblokir akses Facebook kepada karyawan mereka. Di bawah ini adalah contoh cara memblokir lalu lintas ke Facebook.
Catatan: Jika Anda seorang administrator sistem dan perlu menerapkan aturan ini, perlu diingat bahwa kolega Anda mungkin berhenti berbicara dengan Anda :)
Pertama temukan alamat IP yang digunakan oleh Facebook:
# Host Facebook.com Facebook.com memiliki alamat 66.220.156.68
# whois 66.220.156.68 | grep cidr cidr: 66.220.144.0/20
Anda kemudian dapat memblokir jaringan Facebook itu dengan:
# ptables -se output -p tcp -d 66.220.144.0/20 -J Drop
Perlu diingat bahwa rentang alamat IP yang digunakan oleh Facebook dapat bervariasi di negara Anda.
9. Pengaturan port penerusan di ptables
Terkadang Anda mungkin ingin meneruskan lalu lintas satu layanan ke port lain. Anda dapat mencapai ini dengan perintah berikut:
# ptables -t nat -a prerouting -i eth0 -p tcp --dport 25 -j redirect -to -port 2525
Perintah di atas meneruskan semua lalu lintas yang masuk pada antarmuka jaringan eth0
, dari port 25
ke port 2525
. Anda dapat mengubah port dengan yang Anda butuhkan.
10. Memblokir banjir jaringan di port apache dengan ptables
Terkadang alamat IP dapat meminta terlalu banyak koneksi ke port web di situs web Anda. Ini dapat menyebabkan jumlah masalah dan untuk mencegah masalah seperti itu, Anda dapat menggunakan aturan berikut:
# ptables -sput -p tcp --dport 80 -m Batas - -terbatas 100/menit - -terbatas -Burst 200 -J AcCECT
Perintah di atas membatasi koneksi yang masuk dari per menit ke 100
dan menetapkan batas meledak menjadi 200
. Anda dapat mengedit batas dan batas-kurus untuk persyaratan spesifik Anda sendiri.
11. Memblokir permintaan ping yang masuk pada ptables
Beberapa administrator sistem suka memblokir permintaan ping yang masuk karena masalah keamanan. Meskipun ancamannya tidak sebesar itu, ada baiknya mengetahui cara memblokir permintaan seperti itu:
# ptables -a input -p icmp -i eth0 -j drop
12. Izinkan akses loopback
Akses loopback (akses dari 127.0.0.1
) penting dan Anda harus selalu membiarkannya aktif:
# ptables -a input -i lo -j terima # ptables -a output -o lo -j terima
13. Simpan log paket jaringan yang dijatuhkan di ptables
Jika Anda ingin mencatat paket yang dijatuhkan pada antarmuka jaringan eth0
, Anda dapat menggunakan perintah berikut:
# ptables -a input -i eth0 -j log --gog -prefix "eptables paket drop:"
Anda dapat mengubah nilainya setelahnya "--Gog-prefix"
dengan sesuatu berdasarkan pilihan Anda. Pesan -pesan tersebut dicatat /var/log/pesan
Dan Anda dapat mencarinya dengan:
# grep "IPLABLES DROPPED Packets:"/var/log/pesan
14. Memblokir akses ke alamat MAC tertentu di ptables
Anda dapat memblokir akses ke sistem Anda dari alamat MAC tertentu dengan menggunakan:
# ptables -a input -m mac ---mac -source 00: 00: 00: 00: 00: 00 -j drop
Tentu saja, Anda perlu berubah "00: 00: 00: 00: 00: 00"
dengan alamat MAC yang sebenarnya yang ingin Anda blokir.
15. Batasi jumlah koneksi bersamaan per alamat IP
Jika Anda tidak ingin memiliki terlalu banyak koneksi bersamaan yang dibuat dari alamat IP tunggal pada port yang diberikan, Anda dapat menggunakan perintah di bawah ini:
# iptables -sut -p tcp --syn --dport 22 -m Connlimit ---connlimit -above 3 -j tolak
Perintah di atas memungkinkan tidak lebih dari 3
koneksi per klien. Tentu saja, Anda dapat mengubah nomor port agar sesuai dengan layanan yang berbeda. Juga --Connlimit-Above
harus diubah agar sesuai dengan kebutuhan Anda.
16. Cari dalam aturan ptables
Setelah Anda menentukan aturan iptables Anda, Anda ingin mencari dari waktu ke waktu dan mungkin perlu mengubahnya. Cara mudah untuk mencari di dalam aturan Anda adalah dengan menggunakan:
# ptables -l $ table -v -n | grep $ string
Dalam contoh di atas, Anda perlu berubah $ table
dengan tabel aktual di mana Anda ingin mencari dan $ string
dengan string aktual yang Anda cari.
Inilah contohnya:
# ptables -l input -v -n | Grep 192.168.0.100
17. Tentukan rantai ptables baru
Dengan iptables, Anda dapat mendefinisikan rantai Anda sendiri dan menyimpan aturan khusus di dalamnya. Untuk mendefinisikan rantai, gunakan:
# ptables -n custom -filter
Sekarang Anda dapat memeriksa apakah filter baru Anda ada:
# ptables -l
Output sampel
Input rantai (penerimaan kebijakan) Target tujuan sumber opt opt
Rantai maju (menerima kebijakan) Target tujuan sumber opt opt
Output rantai (penerimaan kebijakan) target tujuan sumber opt opt
Rantai Pilter khusus (0 Referensi) Target tujuan sumber opt opt
18. Rantai atau aturan firewall flush
Jika Anda ingin menyiram rantai firewall Anda, Anda dapat menggunakan:
# ptables -f
Anda dapat menyiram rantai dari meja tertentu dengan:
# ptables -t nat -f
Anda bisa berubah "Nat"
Dengan meja yang sebenarnya yang ingin Anda siram.
19. Simpan aturan ptables ke file
Jika Anda ingin menyimpan aturan firewall Anda, Anda dapat menggunakan iptables-save
memerintah. Anda dapat menggunakan yang berikut untuk menyimpan dan menyimpan aturan Anda dalam file:
# ptables-save> ~/ptables.aturan
Terserah Anda di mana Anda akan menyimpan file dan bagaimana Anda akan menamainya.
20. Kembalikan aturan ptables dari file
Jika Anda ingin mengembalikan daftar aturan ptables, Anda dapat menggunakan Iptables-Restore
. Perintah itu terlihat seperti ini:
# ptables-Restore < ~/iptables.rules
Tentu saja jalur ke file aturan Anda mungkin berbeda.
21. Mengatur aturan iptables untuk kepatuhan PCI
Beberapa administrator sistem mungkin diminta untuk mengkonfigurasi server mereka menjadi kompilian PCI. Ada banyak persyaratan oleh vendor kepatuhan PCI yang berbeda, tetapi ada beberapa yang umum.
Dalam banyak kasus, Anda harus memiliki lebih dari satu alamat IP. Anda perlu menerapkan aturan di bawah ini untuk alamat IP situs. Berhati -hatilah saat menggunakan aturan di bawah ini dan gunakan hanya jika Anda yakin apa yang Anda lakukan:
# ptables -i input -d situs -p tcp -m multiport - -dorts 21.25.110.143.465.587.993.995 -J drop
Jika Anda menggunakan cpanel atau panel kontrol serupa, Anda mungkin perlu memblokirnya juga 'port. Inilah contohnya:
# ptables -i in_sg -d dedi_ip -p tcp -m multiport - -dorts 2082.2083.2095.2096.2525.2086.2087 -J drop
Catatan: Untuk memastikan Anda memenuhi persyaratan vendor PCI Anda, periksa laporan mereka dengan cermat dan atur aturan yang diperlukan. Dalam beberapa kasus, Anda mungkin perlu memblokir lalu lintas UDP di port tertentu juga.
22. Izinkan koneksi yang ditetapkan dan terkait
Karena lalu lintas jaringan terpisah pada saat masuk dan keluar, Anda akan ingin memungkinkan lalu lintas yang masuk dan terkait. Untuk koneksi yang masuk melakukannya dengan:
# ptables -a input -m conntrack --ctstate mapan, terkait -j terima
Untuk penggunaan keluar:
# ptables -se output -m Conntrack --ctState mapan -j terima
23. Jatuhkan paket yang tidak valid ke dalam ptables
Dimungkinkan untuk memiliki beberapa paket jaringan yang ditandai sebagai tidak valid. Beberapa orang mungkin lebih suka mencatat paket -paket itu, tetapi yang lain lebih suka menjatuhkannya. Untuk menjatuhkan paket yang tidak valid, Anda dapat menggunakan:
# ptables -a input -m conntrack --ctstate tidak valid -j drop
24. Memblokir koneksi pada antarmuka jaringan
Beberapa sistem mungkin memiliki lebih dari satu antarmuka jaringan. Anda dapat membatasi akses ke antarmuka jaringan itu atau memblokir koneksi dari alamat IP tertentu.
Misalnya:
# ptables -a input -i eth0 -s xxx.xxx.xxx.XXX -J Drop
Mengubah “XXX.xxx.xxx.xxx ” dengan alamat IP aktual (atau jaringan) yang ingin Anda blokir.
25. Nonaktifkan surat keluar melalui ptables
Jika sistem Anda tidak boleh mengirim email apa pun, Anda dapat memblokir port keluar pada port SMTP. Misalnya Anda dapat menggunakan ini:
# ptables -output -p tcp --dports 25.465.587 -j tolak
Kesimpulan
Ptable adalah firewall yang kuat yang dapat Anda manfaatkan dengan mudah. Sangat penting bagi setiap administrator sistem untuk mempelajari setidaknya dasar -dasar ptables. Jika Anda ingin menemukan informasi lebih rinci tentang iptables dan opsinya, sangat direkomendasikan untuk membaca manualnya:
# man ptables
Jika Anda pikir kami harus menambahkan lebih banyak perintah ke daftar ini, silakan bagikan dengan kami, dengan mengirimkannya di bagian komentar di bawah ini.
- « 5 tips untuk meningkatkan kinerja server web Apache Anda
- Cara Menginstal Lampu (Linux, Apache, MariaDB dan PHP) di server Fedora 23 dan workstation »