Buat firewall Anda sendiri dengan iptables menggunakan skrip sederhana bagian 2 ini

Firewall_ (jaringan)

Halo semuanya, hari ini saya membawakan Anda bagian kedua dari rangkaian tutorial tentang firewall dengan iptables ini, sangat sederhana sehingga Anda dapat menyalin dan menempel, saya pikir pada akhirnya itulah yang dicari semua pemula atau bahkan yang paling berpengalaman, mengapa kita harus menemukan kembali roda 100 kali, bukan?

Kali ini saya memberi tahu mereka untuk mencoba fokus pada kasus yang sangat spesifik apakah kita ingin firewall kita jauh lebih agresif dengan kebijakan OUTPUT DROP. Posting ini juga atas permintaan pembaca halaman ini dan posting saya. (Di dalam pikiranku wiiiiiiiiiiiii)

Mari kita bicara sedikit tentang "pro dan kontra" dalam menetapkan kebijakan Output Drop, yang dapat saya ceritakan adalah bahwa hal itu membuat pekerjaan jauh lebih membosankan dan melelahkan, namun pro adalah bahwa pada tingkat jaringan Anda akan memiliki keamanan daripada jika Anda duduk. Untuk memikirkan, merancang, dan merencanakan kebijakan dengan baik, Anda akan memiliki server yang jauh lebih aman.

Agar tidak bertele-tele atau keluar dari topik, saya akan segera menjelaskan kepada Anda dengan contoh bagaimana aturan Anda harus lebih atau kurang.

iptables -A OUTPUT -o eth0 -p tcp –sport 80 -m state –state DIDIRIKAN -j ACCEPT
-A karena kami menambahkan aturan
-o mengacu pada lalu lintas keluar, maka antarmuka ditempatkan jika tidak ditentukan karena cocok dengan semua.
-olahraga port of origin, memainkan peran penting karena dalam banyak kasus kita tidak tahu dari port mana mereka akan membuat permintaan, jika demikian kita bisa menggunakan dport
–Dport port tujuan, ketika kita secara khusus mengetahui sebelumnya bahwa koneksi keluar hanya harus menuju ke port tertentu. Itu harus untuk sesuatu yang sangat tepat waktu seperti server mysql jarak jauh misalnya.
-m status –status ESTABLISHED ini sudah merupakan hiasan untuk mempertahankan koneksi yang sudah mapan, kita bisa memperdalamnya di posting masa depan
-d untuk berbicara tentang tujuan, jika itu bisa ditentukan, misalnya ssh ke mesin tertentu dengan ip-nya

#!/bin/bash

# Kita membersihkan tabel iptables -F iptables -X # Kita membersihkan NAT iptables -t nat -F iptables -t nat -X # tabel mangle untuk hal-hal seperti PPPoE, PPP, dan ATM iptables -t mangle -F iptables -t mangle -X # Kebijakan Saya pikir ini adalah cara terbaik untuk pemula dan # masih tidak buruk, saya akan menjelaskan keluaran (keluaran) semua karena mereka adalah koneksi keluar #, masukan kita membuang semuanya, dan tidak ada server yang harus meneruskan. iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Pertahankan status. Segala sesuatu yang sudah terhubung (mapan) kita biarkan seperti ini iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
# Perangkat lingkaran. iptables -A INPUT -i lo -j ACCEPT
# Output loopback Iptables -A OUTPUT -o lo -j ACCEPT

# http, https, kami tidak menentukan antarmuka karena # kami ingin semua iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# keberangkatan
# http, https, kami tidak menentukan antarmuka karena
# kami menginginkannya untuk semua tetapi jika kami menentukan port keluaran
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT

# ssh hanya secara internal dan dari kisaran iptables ip ini -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j ACCEPT
# output # ssh hanya secara internal dan dari kisaran ip ini
iptables -A OUTPUT -p tcp -d 192.168.xx / 24 -o $ intranet --sport 7659 -j ACCEPT
# pemantauan misalnya jika mereka memiliki zabbix atau beberapa layanan snmp lainnya iptables -A INPUT -p tcp -s 192.168.1.1 -i $ intranet --dport 10050 -j ACCEPT
# keberangkatan
# pemantauan misalnya jika mereka memiliki zabbix atau beberapa layanan snmp lainnya
iptables -A OUTPUT -p tcp -d 192.168.1.1 -o $ intranet --dport 10050 -j ACCEPT

# icmp, ping bagus adalah keputusan Anda iptables -A INPUT -p icmp -s 192.168.xx / 24 -i $ intranet -j ACCEPT
# keberangkatan
# icmp, ping bagus adalah keputusan Anda
iptables -A OUTPUT -p icmp -d 192.168.xx / 24 -o $ intranet -j ACCEPT

#mysql dengan postgres adalah port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT
# output - pertanyaan yang juga diajukan oleh pengguna untuk membuat # server aturan 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 ACCEPT

#sendmail bueeeh jika Anda ingin mengirim beberapa email #iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # IP server - ip yang sebenarnya dari LAN_RANGE server = "192.168.xx / 21" # jangkauan LAN jaringan Anda atau vlan # IP Anda yang seharusnya tidak pernah masuk ke ekstranet, ini menggunakan sedikit # logika jika kita memiliki antarmuka WAN murni, seharusnya tidak pernah masukkan # lalu lintas jenis LAN melalui antarmuka 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 default - untuk dijalankan bila ada aturan yang cocok dengan ACTION = "DROP" # Paket dengan ip yang sama dengan server saya melalui wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION
iptables -A OUTPUT -o $ extranet -s $ SERVER_IP -j $ ACTION

# Paket dengan LAN Range untuk wan, saya taruh seperti ini jika Anda memiliki # jaringan tertentu, tetapi ini berlebihan dengan # aturan berikut di dalam "for" loop iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION
iptables -A OUTPUT -o $ extranet -s $ LAN_RANGE -j $ ACTION

## Semua Jaringan SPOOF tidak diizinkan oleh wan untuk ip di $ SPOOF_IPS do iptables -A INPUT -i $ extranet -s $ ip -j $ ACTION
iptables -A OUTPUT -o $ extranet -s $ ip -j $ ACTION
dilakukan

Pada review selanjutnya kita akan melakukan port range dan juga menetapkan kebijakan yang diatur berdasarkan nama, antara lain… saya tunggu komentar dan permintaan Anda.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.