Buat firewall anda sendiri dengan iptables menggunakan skrip ringkas bahagian 2 ini

Firewall_ (rangkaian)

Halo semua, hari ini saya membawakan anda bahagian kedua dari siri tutorial ini di firewall dengan iptables, sangat mudah sehingga anda dapat menyalin dan menampal, saya rasa pada akhirnya adalah apa yang dicari oleh semua pemula atau yang paling berpengalaman, mengapa kita harus mencipta semula roda 100 kali, bukan?

Kali ini saya memberitahu mereka untuk berusaha menumpukan perhatian pada kes yang sangat spesifik sama ada kita mahu firewall kita menjadi lebih agresif dengan dasar OUTPUT DROP. Posting ini juga atas permintaan pembaca halaman ini dan post saya. (Di dalam fikiran saya wiiiiiiiiiiiii)

Mari kita bincangkan sedikit mengenai "kebaikan dan keburukan" dalam menetapkan dasar Penurunan Hasil, yang boleh saya ceritakan adalah bahawa ia menjadikan pekerjaan jauh lebih membosankan dan susah payah, namun pro adalah bahawa di peringkat rangkaian, anda akan mempunyai keselamatan daripada jika anda duduk Untuk berfikir, merancang dan merancang polisi dengan baik, anda akan mempunyai pelayan yang jauh lebih selamat.

Agar tidak mengoceh atau melepaskan topik, saya akan segera menerangkan kepada anda dengan contoh bagaimana peraturan anda lebih kurang

iptables -A OUTPUT -o eth0 -p tcp -sport 80 -m state -state DITETAPKAN -j TERIMA
-A kerana kami menambah peraturan
-o merujuk kepada lalu lintas keluar, maka antara muka diletakkan jika tidak ditentukan kerana sesuai dengan semua.
-sukan port asal, memainkan peranan penting kerana dalam kebanyakan kes kita tidak tahu dari pelabuhan mana mereka akan membuat permintaan, jika demikian kita dapat menggunakan dport
–Dport pelabuhan destinasi, apabila kita secara khusus mengetahui terlebih dahulu bahawa sambungan keluar hanya boleh menuju ke port tertentu. Ini mesti untuk sesuatu yang sangat spesifik seperti pelayan mysql jauh.
-m negeri -state DITUBUHKAN Ini sudah menjadi perhiasan untuk mengekalkan hubungan yang sudah terjalin, kita dapat menyelidikinya di pos yang akan datang
-d untuk bercakap mengenai tujuan, jika dapat ditentukan, misalnya ssh ke mesin tertentu dengan ipnya

#!/bin/bash

# Kami membersihkan jadual iptables -F iptables -X # Kami membersihkan NAT iptables -t nat -F iptables -t nat -X # mangle table untuk perkara seperti PPPoE, PPP, dan ATM iptables -t mangle -F iptables -t mangle -X # Policies Saya rasa ini adalah cara terbaik untuk pemula dan # masih tidak buruk, saya akan menerangkan output (output) semuanya kerana mereka adalah sambungan keluar #, input kita membuang semuanya, dan tidak ada pelayan yang harus meneruskan. iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Keep state. Segala-galanya yang sudah disambungkan (ditubuhkan) kita biarkan seperti iptables ini -SATU INPUT -m -state DITUBUHKAN, BERKAITAN -j MENERIMA
iptables -SATU OUTPUT -m -state DILAYAN, BERKAITAN -j MENERIMA
# Peranti gelung. iptables -A INPUT -i lo -j MENERIMA
# Output gelung balik Iptables -AUTUSAN -o lo -j MENERIMA

# http, https, kita tidak menentukan antara muka kerana # kita mahu semuanya menjadi iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# berlepas
# http, https, kami tidak menentukan antara muka kerana
# kami mahukan untuk semua tetapi jika kami menentukan port output
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -j MENERIMA

# ssh hanya secara dalaman dan dari rangkaian iptables ip ini -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j TERIMA
# output # ssh hanya secara dalaman dan dari rangkaian ip ini
iptables -A OUTPUT -p tcp -d 192.168.xx / 24 -o $ intranet --sport 7659 -j TERIMA
# pemantauan misalnya jika mereka mempunyai zabbix atau beberapa iptables perkhidmatan snmp lain -A INPUT -p tcp -s 192.168.1.1 -i $ intranet --dport 10050 -j TERIMA
# berlepas
# pemantauan misalnya jika mereka mempunyai zabbix atau beberapa perkhidmatan snmp lain
iptables -A OUTPUT -p tcp -d 192.168.1.1 -o $ intranet --port 10050 -j TERIMA

# icmp, ping bagus adalah keputusan anda iptables -A INPUT -p icmp -s 192.168.xx / 24 -i $ intranet -j TERIMA
# berlepas
# icmp, ping baik adalah keputusan anda
iptables -A OUTPUT -p icmp -d 192.168.xx / 24 -o $ intranet -j TERIMA

#mysql dengan postgres adalah port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j TERIMA
# output - soalan juga diminta oleh pengguna untuk membuat # peraturan pelayan yang sangat spesifik: 192.168.1.2 mysql: 192.168.1.3
#mysql dengan postgres adalah port 5432
iptables -A OUTPUT -p tcp -s 192.168.1.2 -d 192.168.1.3 --dport 3306 -o $ intranet -j TERIMA

#sendmail bueeeh jika anda ingin menghantar beberapa surat #iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # IP pelayan - ip wan sebenar anda LAN_RANGE = "192.168.xx / 21" # rangkaian LAN rangkaian atau vlan # IP anda yang tidak boleh memasuki extranet, adalah menggunakan sedikit # logik jika kita mempunyai antara muka WAN semata-mata, ia tidak boleh memasuki # lalu lintas Jenis LAN melalui antara muka itu SPOOF_IPS = "0.0.0.0/8 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16" # Tindakan lalai - akan dilakukan apabila mana-mana peraturan sepadan dengan ACTION = " DROP "# Paket dengan ip yang sama dengan pelayan saya melalui wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION
iptables -PELUARAN -o $ extranet -s $ SERVER_IP -j $ TINDAKAN

# Paket dengan Julat LAN untuk wan, saya meletakkannya seperti ini sekiranya anda mempunyai # rangkaian tertentu, tetapi ini berlebihan dengan peraturan # berikut di dalam iptables gelung "untuk" - INPUT -i $ extranet -s $ LAN_RANGE -j $ TINDAKAN
iptables -PELUANG -o $ extranet -s $ LAN_RANGE -j $ TINDAKAN

## Semua Rangkaian SPOOF tidak dibenarkan oleh ip untuk ip dalam $ SPOOF_IPS melakukan iptables -A INPUT -i $ extranet -s $ ip -j $ ACTION
iptables -PELUARAN -o $ extranet -s $ ip -j $ TINDAKAN
dilakukan

Dalam tinjauan seterusnya, kami akan melakukan rangkaian pelabuhan dan juga menetapkan dasar yang disusun berdasarkan nama, antara lain ... Saya menunggu komen dan permintaan anda.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.