25 Peraturan Firewall Berguna Berguna Setiap Pentadbir Linux Harus Tahu

25 Peraturan Firewall Berguna Berguna Setiap Pentadbir Linux Harus Tahu

Menguruskan Trafik Rangkaian adalah salah satu pekerjaan paling sukar yang harus ditangani oleh pentadbir sistem. Dia mesti mengkonfigurasi firewall sedemikian rupa sehingga ia akan memenuhi syarat sistem dan pengguna untuk kedua -dua sambungan masuk dan keluar, tanpa meninggalkan sistem yang terdedah kepada serangan.

25 Peraturan Firewall Iptables untuk Linux

Di sinilah dimana IPTABLES berguna. IPTABLES adalah firewall baris arahan Linux yang membolehkan pentadbir sistem menguruskan lalu lintas masuk dan keluar melalui satu set peraturan jadual yang boleh dikonfigurasikan.

IPTABLES Menggunakan satu set jadual yang mempunyai rantai yang mengandungi set peraturan terbina dalam atau pengguna yang ditetapkan. Terima kasih kepada mereka pentadbir sistem boleh menapis trafik rangkaian sistemnya dengan betul.

Manual di iptables, kini terdapat 3 jenis jadual:

    1. Penapis - Ini adalah jadual lalai, yang mengandungi rantai yang dibina untuk:
      1. Input  - Pakej yang ditakdirkan untuk soket tempatan
      2. Ke hadapan - paket diarahkan melalui sistem
      3. PENGELUARAN - paket yang dihasilkan secara tempatan
    2. Nat - Jadual yang dirujuk apabila satu paket cuba membuat sambungan baru. Ia mempunyai yang terbina dalam berikut:
      1. Pendahuluan - digunakan untuk mengubah paket sebaik sahaja ia diterima
      2. PENGELUARAN - digunakan untuk mengubah paket yang dihasilkan secara tempatan
      3. Postrouting - digunakan untuk mengubah paket kerana mereka hendak keluar
    3. Mangle - Jadual ini digunakan untuk perubahan paket. Sehingga versi kernel 2.4 Jadual ini hanya mempunyai dua rantai, tetapi mereka kini 5:
      1. Pendahuluan - untuk mengubah sambungan masuk
      2. PENGELUARAN - untuk mengubah paket yang dihasilkan secara tempatan
      3. Input - Untuk paket masuk
      4. Postrouting - untuk mengubah paket kerana mereka hendak keluar
      5. Ke hadapan - untuk paket yang diarahkan melalui kotak

Dalam artikel ini, anda akan melihat beberapa arahan berguna yang akan membantu anda menguruskan firewall kotak linux anda melalui iptables. Untuk tujuan artikel ini, saya akan bermula dengan arahan yang lebih mudah dan pergi ke lebih kompleks hingga akhir.

1. Mula/Berhenti/Mulakan semula Firewall Iptables

Pertama, anda harus tahu bagaimana menguruskan perkhidmatan iptables dalam pengagihan linux yang berbeza. Ini agak mudah:

Pada pengagihan linux berasaskan sistem

------------ Pada Cent/RHEL 7 dan Fedora 22+ ------------ # Systemctl Start Iptables # Systemctl Stop Iptables # SystemCtl Restart iptables 

Mengenai pengagihan linux berasaskan sysvinit

------------ Pada Cent/RHEL 6/5 dan Fedora ------------ # /etc /init.D/iptables Mula #/etc/init.D/iptables berhenti #/etc/init.D/iptables dimulakan semula 

2. Periksa semua peraturan firewall ibade

Sekiranya anda ingin memeriksa peraturan anda yang ada, gunakan arahan berikut:

# iptables -l -n -v 

Ini harus mengembalikan output yang serupa dengan yang di bawah:

Input rantai (dasar menerima paket 1129k, 415m bait) PKTS bait sasaran prot Opt in Out Source Destinasi 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 ke hadapan (dasar menerima 0 paket, 0 bytes) pkts bait sasaran prot memilih di keluar destinasi sumber 0 0 Terima semua - * lxcbr0 0.0.0.0/0 0.0.0.0/0 0 0 Terimalah semua - lxcbr0 * 0.0.0.0/0 0.0.0.0/0
Output rantai (dasar menerima paket 354k, bait 185m) PKTS bait sasaran sasaran memilih di luar destinasi sumber

Sekiranya anda lebih suka menyemak peraturan untuk jadual tertentu, anda boleh menggunakan -t pilihan diikuti dengan jadual yang ingin anda periksa. Contohnya, untuk memeriksa peraturan di Nat Jadual, anda boleh menggunakan:

# iptables -t nat -l -v -n 

3. Blok alamat IP khusus dalam firewall iptables

Sekiranya anda mendapati aktiviti yang tidak biasa atau kasar dari alamat IP, anda boleh menyekat alamat IP dengan peraturan berikut:

# iptables -a input -s xxx.xxx.xxx.xxx -j drop 

Di mana anda perlu menukar "xxx.xxx.xxx.xxx " dengan alamat IP sebenar. Berhati -hati semasa menjalankan arahan ini kerana anda secara tidak sengaja boleh menyekat alamat IP anda sendiri. The -A pilihan menambahkan peraturan di hujung rantai yang dipilih.

Sekiranya anda hanya mahu menyekat TCP lalu lintas dari alamat IP itu, anda boleh menggunakan -p pilihan yang menentukan protokol. Dengan cara itu arahan akan kelihatan seperti ini:

# iptables -a input -p tcp -s xxx.xxx.xxx.xxx -j drop 

4. Batalkan alamat IP di iptables firewall

Jika anda telah memutuskan bahawa anda tidak lagi mahu menyekat permintaan dari alamat IP tertentu, anda boleh memadamkan peraturan penyekatan dengan arahan berikut:

# iptables -d input -s xxx.xxx.xxx.xxx -j drop 

The -D Pilihan memadam satu atau lebih peraturan dari rantai yang dipilih. Sekiranya anda lebih suka menggunakan pilihan yang lebih lama yang boleh anda gunakan --Padam.

5. Blok port khusus pada iptables firewall

Kadang -kadang anda mungkin mahu menyekat sambungan masuk atau keluar pada port tertentu. Ini adalah langkah keselamatan yang baik dan anda harus benar -benar memikirkan perkara itu semasa menubuhkan firewall anda.

Untuk menyekat sambungan keluar pada penggunaan port tertentu:

# iptables -a output -p tcp --dport xxx -j drop 

Untuk membolehkan sambungan masuk menggunakan:

# iptables -a input -p tcp --dport xxx -j Terima 

Dalam kedua -dua contoh berubah "xxx" dengan port sebenar yang anda ingin benarkan. Sekiranya anda mahu menyekat UDP lalu lintas dan bukannya TCP, Cukup berubah "TCP" dengan "UDP" dalam peraturan iptables di atas.

6. Benarkan pelbagai port pada iptables menggunakan multiport

Anda boleh membenarkan beberapa port sekaligus, dengan menggunakan Multiport, Di bawah ini anda dapat mencari peraturan sedemikian untuk kedua -dua sambungan masuk dan keluar:

# iptables -a input -p tcp -m multiport --dports 22,80,443 -j menerima # iptables -a output -p tcp -m multiport -sukan 22,80,443 -j menerima 

7. Benarkan julat rangkaian tertentu pada port tertentu pada iptables

Anda mungkin mahu mengehadkan sambungan tertentu pada port tertentu ke rangkaian tertentu. Katakan anda ingin membenarkan sambungan keluar di port 22 ke rangkaian 192.168.100.0/24.

Anda boleh melakukannya dengan arahan ini:

# iptables -a output -p tcp -d 192.168.100.0/24 -Dport 22 -J Terima 

8. Sekat Facebook di Firewall Iptables

Sebilangan majikan suka menyekat akses ke Facebook kepada pekerja mereka. Berikut adalah contoh bagaimana menyekat lalu lintas ke Facebook.

Catatan: Sekiranya anda seorang pentadbir sistem dan perlu memohon peraturan ini, ingatlah bahawa rakan sekerja anda boleh berhenti bercakap dengan anda :)

Mula -mula cari alamat IP yang digunakan oleh Facebook:

# Host Facebook.com Facebook.com mempunyai alamat 66.220.156.68 
# WHOIS 66.220.156.68 | GREP CIDR CIDR: 66.220.144.0/20 

Anda kemudian boleh menyekat rangkaian Facebook dengan:

# iptables -a output -p tcp -d 66.220.144.0/20 -J drop 

Perlu diingat bahawa julat alamat IP yang digunakan oleh Facebook mungkin berbeza di negara anda.

9. Penyediaan port persediaan di iptables

Kadang -kadang anda mungkin ingin mengemukakan lalu lintas satu perkhidmatan ke pelabuhan lain. Anda boleh mencapai ini dengan arahan berikut:

# iptables -t nat -a prerouting -i et0 -p tcp --dport 25 -j redirect -ke -port 2525 

Perintah di atas meneruskan semua trafik masuk pada antara muka rangkaian ETH0, dari pelabuhan 25 ke pelabuhan 2525. Anda boleh menukar port dengan yang anda perlukan.

10. Blok Banjir Rangkaian di Port Apache dengan iptables

Kadang -kadang alamat IP boleh meminta terlalu banyak sambungan ke arah port web di laman web anda. Ini boleh menyebabkan bilangan isu dan untuk mengelakkan masalah tersebut, anda boleh menggunakan peraturan berikut:

# iptables -a input -p tcp --dport 80 -m had - -berkilat 100/minit --Mit -burst 200 -j Terima 

Perintah di atas mengehadkan sambungan masuk dari setiap minit hingga 100 dan menetapkan had pecah ke 200. Anda boleh mengedit had dan hadkan untuk keperluan khusus anda sendiri.

11. Sekat permintaan ping masuk ke iptables

Beberapa pentadbir sistem suka menyekat permintaan ping masuk kerana kebimbangan keselamatan. Walaupun ancaman itu tidak begitu besar, adalah baik untuk mengetahui bagaimana untuk menyekat permintaan tersebut:

# iptables -a input -p icmp -i et0 -j drop 

12. Benarkan akses loopback

Akses Loopback (akses dari 127.0.0.1) adalah penting dan anda harus selalu membiarkannya aktif:

# iptables -a input -i lo -j Terima # iptables -a output -o lo -j Terima 

13. Simpan log paket rangkaian yang dijatuhkan pada iptables

Sekiranya anda ingin log paket yang dijatuhkan pada antara muka rangkaian ETH0, Anda boleh menggunakan arahan berikut:

# iptables -a input -i et0 -j log - -log -prefix "Packets iptables:" 

Anda boleh menukar nilai selepas "--log-prefix" dengan sesuatu dengan pilihan anda. Mesej dilog masuk /var/log/mesej Dan anda boleh mencari mereka dengan:

# grep "iptables jatuh paket:"/var/log/mesej 

14. Blok akses ke alamat MAC tertentu pada iptables

Anda boleh menyekat akses ke sistem anda dari alamat MAC tertentu dengan menggunakan:

# iptables -a input -m mac - -mac -source 00: 00: 00: 00: 00: 00 -j drop 

Sudah tentu, anda perlu berubah "00: 00: 00: 00: 00: 00" dengan alamat MAC sebenar yang anda mahu blok.

15. Hadkan bilangan sambungan serentak bagi setiap alamat IP

Sekiranya anda tidak mahu mempunyai terlalu banyak sambungan serentak yang ditubuhkan dari alamat IP tunggal pada port yang diberikan, anda boleh menggunakan arahan di bawah:

# iptables -a input -p tcp --syn --dport 22 -m connlimit --connlimit -above 3 -j menolak 

Perintah di atas tidak lebih daripada 3 Sambungan setiap pelanggan. Sudah tentu, anda boleh menukar nombor port untuk memadankan perkhidmatan yang berbeza. Juga --Connlimit-di Above harus ditukar untuk memenuhi keperluan anda.

16. Cari dalam peraturan iptables

Sebaik sahaja anda telah menentukan peraturan iptables anda, anda akan ingin mencari dari semasa ke semasa dan mungkin perlu mengubahnya. Cara mudah untuk mencari dalam peraturan anda adalah menggunakan:

# iptables -l $ Table -v -n | GREP $ String 

Dalam contoh di atas, anda perlu menukar $ jadual dengan jadual sebenar di mana anda ingin mencari dan $ String dengan rentetan sebenar yang anda cari.

Berikut adalah contoh:

# iptables -l input -v -n | Grep 192.168.0.100 

17. Tentukan rantai iptables baru

Dengan iptables, anda boleh menentukan rantaian anda sendiri dan menyimpan peraturan tersuai di dalamnya. Untuk menentukan rantai, gunakan:

# IPPABLES -n Custom -Filter 

Sekarang anda boleh menyemak sama ada penapis baru anda ada:

# iptables -l 
Output sampel
Input rantai (dasar menerima) sasaran destinasi sumber optik prot 
Rantai ke hadapan (menerima dasar) sasaran destinasi sumber optik prot
Output rantai (dasar menerima) sasaran destinasi sumber optik prot
Rantai penapis adat (0 rujukan) sasaran destinasi sumber optik prot

18. Rantai atau peraturan firewall iptables

Sekiranya anda ingin membuang rantai firewall anda, anda boleh menggunakan:

# iptables -f 

Anda boleh siram rantai dari jadual tertentu dengan:

# iptables -t nat -f 

Anda boleh berubah "Nat" dengan jadual sebenar yang anda ingin siram.

19. Simpan peraturan ibade ke fail

Sekiranya anda ingin menyimpan peraturan firewall anda, anda boleh menggunakan iptables-save perintah. Anda boleh menggunakan yang berikut untuk menyimpan dan menyimpan peraturan anda dalam fail:

# iptables-Ave> ~/iptables.peraturan 

Terpulang kepada anda di mana anda akan menyimpan fail dan bagaimana anda akan menamakannya.

20. Pulihkan peraturan iptables dari fail

Sekiranya anda ingin memulihkan senarai peraturan iptables, anda boleh menggunakan iptables-restore. Perintah itu kelihatan seperti ini:

# IPPALES-RESTORE < ~/iptables.rules 

Sudah tentu jalan ke fail peraturan anda mungkin berbeza.

21. Peraturan persediaan iptables untuk pematuhan PCI

Sesetengah pentadbir sistem mungkin dikehendaki mengkonfigurasi pelayan mereka untuk menjadi PCI Compiliant. Terdapat banyak keperluan oleh vendor pematuhan PCI yang berbeza, tetapi terdapat beberapa yang biasa.

Dalam banyak kes, anda perlu mempunyai lebih daripada satu alamat IP. Anda perlu menggunakan peraturan di bawah untuk alamat IP laman web. Berhati -hati apabila menggunakan peraturan di bawah dan gunakannya hanya jika anda pasti apa yang anda lakukan:

# IPPABLES -I Input -D Site -P TCP -M Multiport -Dports 21,25,110,143,465,587,993,995 -j Drop 

Sekiranya anda menggunakan canel atau panel kawalan yang serupa, anda mungkin perlu menyekatnya 'pelabuhan juga. Berikut adalah contoh:

# IPPABLES -I IN_SG -D DEDI_IP -P TCP -M MULTIPORT -DPORTS 2082,2083,2095,2096,2525,2086,2087 -J 

Catatan: Untuk memastikan anda memenuhi keperluan vendor PCI anda, periksa laporan mereka dengan teliti dan gunakan peraturan yang diperlukan. Dalam beberapa kes, anda mungkin perlu menyekat lalu lintas UDP di pelabuhan tertentu juga.

22. Benarkan sambungan yang ditetapkan dan berkaitan

Oleh kerana trafik rangkaian berasingan pada masuk dan keluar, anda akan mahu membenarkan trafik masuk yang ditetapkan dan berkaitan. Untuk sambungan masuk lakukan dengan:

# iptables -a input -m conntrack --ctstate ditubuhkan, berkaitan -j Terima 

Untuk kegunaan keluar:

# iptables -a output -m conntrack --ctstate ditubuhkan -j Terima 

23. Drop paket tidak sah di iptables

Mungkin ada beberapa paket rangkaian yang ditandakan sebagai tidak sah. Sebilangan orang mungkin lebih suka log pakej tersebut, tetapi yang lain lebih suka menggugurkannya. Untuk menjatuhkan paket tidak sah, anda boleh menggunakan:

# iptables -a input -m conntrack --ctstate tidak sah -j drop 

24. Sambungan blok pada antara muka rangkaian

Sesetengah sistem mungkin mempunyai lebih daripada satu antara muka rangkaian. Anda boleh mengehadkan akses ke antara muka rangkaian atau menyekat sambungan dari alamat IP tertentu.

Sebagai contoh:

# iptables -a input -i et0 -s xxx.xxx.xxx.xxx -j drop 

Ubah "XXX.xxx.xxx.xxx ” dengan alamat IP sebenar (atau rangkaian) yang anda ingin blok.

25. Lumpuhkan surat keluar melalui iptables

Sekiranya sistem anda tidak boleh menghantar e -mel, anda boleh menyekat port keluar di port SMTP. Contohnya anda boleh menggunakannya:

# IPPABLES -a output -P TCP -DPORTS 25,465,587 -J menolak 

Kesimpulan

IPTABLES adalah firewall yang kuat yang anda boleh mendapat manfaat dari. Sangat penting bagi setiap pentadbir sistem untuk belajar sekurang -kurangnya asas -asas iptables. Sekiranya anda ingin mencari maklumat yang lebih terperinci mengenai iptables dan pilihannya, sangat mengesyorkan untuk membaca manual itu:

# lelaki iptables 

Jika anda fikir kami harus menambah lebih banyak arahan ke senarai ini, sila kongsi dengan kami, dengan menyerahkannya di bahagian komen di bawah.