Bu basit komut dosyası bölüm 2'yi kullanarak iptables ile kendi güvenlik duvarınızı oluşturun

Firewall_ (ağ iletişimi)

Herkese merhaba, bugün size iptables ile güvenlik duvarıyla ilgili bu eğitim serisinin ikinci bölümünü getiriyorum, çok basit, böylece kopyalayıp yapıştırabilirsiniz, bence günün sonunda tüm yeni başlayanların aradığı, hatta en deneyimli olanlar, neden tekerleği 100 kez yeniden icat etmeliyiz, değil mi?

Bu sefer onlara, güvenlik duvarımızın bir ÇIKIŞ DROP politikasıyla çok daha agresif olmasını isteyip istemediğimizin çok özel durumuna odaklanmalarını söylüyorum. Bu gönderi ayrıca bu sayfanın ve yazımın bir okuyucusunun isteği üzerine. (Aklımın içinde wiiiiiiiiiiiii)

Çıktı Düşürme politikaları oluşturmanın "artıları ve eksileri" hakkında biraz konuşalım, size söyleyebileceğim şey, işi çok daha sıkıcı ve zahmetli hale getirmesidir, ancak profesyonel olan, ağ düzeyinde oturduğunuza göre güvenliğinizin olacağıdır. Politikaları iyi düşünmek, tasarlamak ve planlamak için çok daha güvenli bir sunucuya sahip olacaksınız.

Konuyu karıştırmamak ya da konudan sapmamak için, kurallarınızın ne kadar az ya da çok olması gerektiğini bir örnekle hızlıca açıklayacağım.

iptables -A ÇIKIŞ -o eth0 -p tcp –spor 80 -m state –state KURULDU -j KABUL
-A çünkü kuralı ekledik
-o giden trafiği ifade ediyorsa, arayüz belirtilmezse, tümü eşleştiği için yerleştirilir.
-spor menşe limanı, önemli bir rol oynar çünkü çoğu durumda hangi limandan talepte bulunacaklarını bilmiyoruz, eğer öyleyse dport kullanabiliriz.
-Dport hedef bağlantı noktası, giden bağlantının yalnızca belirli bir bağlantı noktasına gitmesi gerektiğini önceden bildiğimizde. Örneğin uzak bir mysql sunucusu gibi çok özel bir şey için olması gerekir.
-m eyalet-devlet KURULUŞU Bu zaten kurulmuş olan bağlantıları korumanın bir süslemesidir, gelecekteki bir gönderide onu inceleyebiliriz.
-d Hedeften bahsetmek gerekirse, eğer belirtilebilirse, örneğin ipiyle belirli bir makineye ssh

#!/bin/bash

# İptables tablolarını temizliyoruz -F iptables -X # NAT iptables'ı temizliyoruz -t nat -F iptables -t nat -X # PPPoE, PPP ve ATM iptables gibi şeyler için mangle tablosu -t mangle -F iptables -t mangle -X # Politikalar Bunun yeni başlayanlar için en iyi yol olduğunu düşünüyorum ve # hala fena değil, çıktıyı (çıktıyı) açıklayacağım çünkü bunlar giden bağlantılar #, girdi her şeyi atıyoruz ve hiçbir sunucu iletmemeli. iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Durumu koru. Zaten bağlı olan (kurulmuş) her şeyi bu iptables -A INPUT -m state - state KURULUŞ, İLGİLİ -j KABUL ET
iptables -A ÇIKIŞ -m durum - durum KURULU, İLGİLİ -j KABUL
# Döngü cihazı. iptables -A GİRİŞ -i lo -j KABUL
# Iptables geridöngü çıkışı -A ÇIKIŞ -o lo -j KABUL

# http, https, arayüzü belirtmiyoruz çünkü # tüm iptables olmasını istiyoruz -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# kalkış
# http, https, arayüzü belirtmiyoruz çünkü
# bunun herkes için olmasını istiyoruz ama çıkış portunu belirtirsek
iptables -A ÇIKIŞ -p tcp --sport 80 -j iptables KABUL -A ÇIKIŞ -p tcp --sport 443 -j KABUL

# ssh yalnızca dahili olarak ve bu ip'in iptables aralığından -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j KABUL
# çıktı # ssh yalnızca dahili olarak ve bu ip aralığından
iptables -A ÇIKIŞ -p tcp -d 192.168.xx / 24 -o $ intranet --sport 7659 -j KABUL
# örneğin zabbix veya başka bir snmp hizmetine sahip olup olmadıklarını izleme iptables -A INPUT -p tcp -s 192.168.1.1 -i $ intranet --dport 10050 -j KABUL
# kalkış
# örneğin zabbix veya başka bir snmp hizmetine sahip olup olmadıklarını izleme
iptables -A ÇIKIŞ -p tcp -d 192.168.1.1 -o $ intranet --dport 10050 -j KABUL

# icmp, ping iyi kararınızdır iptables -A GİRİŞ -p icmp -s 192.168.xx / 24 -i $ intranet -j KABUL ET
# kalkış
# icmp, ping iyi senin kararın
iptables -A ÇIKIŞ -p icmp -d 192.168.xx / 24 -o $ intranet -j KABUL

# postgres ile mysql, 5432 numaralı bağlantı noktasıdır iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j KABUL
# output - bir kullanıcı tarafından çok özel bir # kural sunucusu yapması için de sorulan soru: 192.168.1.2 mysql: 192.168.1.3
# postgres ile mysql 5432 numaralı bağlantı noktasıdır
iptables -A ÇIKIŞ -p tcp -s 192.168.1.2 -d 192.168.1.3 --dport 3306 -o $ intranet -j KABUL

#sendmail bueeeh biraz posta göndermek istiyorsanız #iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # sunucu IP'si - server LAN_RANGE = "192.168.xx / 21" # Ağınızın LAN aralığı veya vlan # IP'leriniz asla extranete girmemelidir, bu biraz # mantık kullanmaktır, eğer tamamen WAN arayüzümüz varsa, asla # trafiğe girmemelidir Bu arabirim üzerinden LAN türü 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" # Varsayılan eylem - herhangi bir kural ACTION = ile eşleştiğinde gerçekleştirilecek " DROP "# wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION aracılığıyla sunucumla aynı ip'e sahip paketler
iptables -A ÇIKTI -o $ extranet -s $ SERVER_IP -j $ ACTION

# Wan için LAN Menzili olan paketler, herhangi bir özel ağınız olması durumunda bunu böyle koyuyorum, ancak bu, "for" döngüsü içinde aşağıdaki # kuralı ile gereksizdir iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION
iptables -A ÇIKTI -o $ extranet -s $ LAN_RANGE -j $ ACTION

## Tüm SPOOF Ağlarına wan, $ SPOOF_IPS'de ip için izin vermiyor iptables yapıyor -A INPUT -i $ extranet -s $ ip -j $ ACTION
iptables -A ÇIKTI -o $ extranet -s $ ip -j $ İŞLEM
yapılmış

Bir sonraki incelemede port aralığı yapacağız ve diğer şeylerin yanı sıra adlara göre düzenlenmiş politikalar oluşturacağız ... Yorumlarınızı ve isteklerinizi bekliyorum.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.