Niestety nie ma takiego skryptu, jaki kiedykolwiek widziałem, który mógłby działać w trybie uczenia się lub w trybie pasywnym, rejestrując całe użycie sieci, pobierając jego wyniki i generując rzeczywistą zaporę sieciową na podstawie iptables
dzienników.
Najlepszym rozwiązaniem będzie rozpoczęcie w prosty sposób i ciągłe dodawanie różnych elementów, gdy zaczniesz w pełni rozumieć usługi świadczone przez system. Musisz skorzystać z narzędzi, takich jak netstat
porty, które są używane dla różnych usług, które hostujesz, a także jakie adresy IP mają do nich dostęp.
$ sudo netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 26292/sendmail
tcp 0 0 0.0.0.0:890 0.0.0.0:* LISTEN 26149/ypbind
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 26321/smbd
tcp 0 0 127.0.0.1:2207 0.0.0.0:* LISTEN 26226/python
tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN 26221/./hpiod
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 26237/snmpd
tcp 0 0 0.0.0.0:809 0.0.0.0:* LISTEN 26067/rpc.statd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 26321/smbd
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 26292/sendmail
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 26038/portmap
tcp 0 0 0.0.0.0:35604 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 26249/sshd
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN 26257/cupsd
tcp 0 0 :::22 :::* LISTEN 26249/sshd
tcp 0 0 :::631 :::* LISTEN 26257/cupsd
UWAGA: powyżej możesz zobaczyć, jakie usługi mam uruchomione na serwerze, które akceptują połączenia TCP, tj. „Nasłuchują” połączeń na różnych portach.
Nietrudno jest zacząć od rzeczy takich jak SSH (port 22) i HTTP (port 80), jeśli są one typowe dla twojego systemu, więc zrobiłbym tego typu usługi masowo naraz. W przypadku innych usług, takich jak LDAP lub NIS, możesz chcieć robić to w bardziej kontrolowany sposób, upewniając się, że nic się nie psuje podczas ich wprowadzania.
Narzędzia takie jak FireHOL , Firewall Builder (fwbuilder) i eztables mogą być pomocne podczas ataku na ten projekt, ponieważ zapewniają przyjemną warstwę abstrakcji od konieczności iptable
ręcznego tworzenia niestandardowych reguł, co może być trudne.
FireHOL
FireHOL to język (i program do jego uruchamiania), który tworzy bezpieczne, stanowe zapory ogniowe o dowolnej złożoności, od łatwych do zrozumienia, czytelnych dla człowieka konfiguracji.
przykład
transparent_squid 8080 "squid root" inface eth0
interface eth0 mylan
policy accept
interface ppp+ internet
server smtp accept
server http accept
server ftp accept
server ssh accept src example.firehol.org
client all accept
router mylan2internet inface eth0 outface ppp+
masquerade
route all accept
fwbuilder
Fwbuilder to unikalne graficzne narzędzie zapory ogniowej, które pozwala użytkownikowi tworzyć obiekty, a następnie przeciągać i upuszczać te obiekty do zapór ogniowych, aby zbudować potężny system bezpieczeństwa dla pojedynczego komputera lub sieci komputerów. Fwbuilder obsługuje szeroką gamę zapór ogniowych (Cisco ASA / PIX, Linux iptables, ipfilter FreeBSD, pf OpenBSD i więcej), więc jego reguły mogą być wdrażane na wielu platformach. Rzućmy okiem na używanie Fwbuildera w Linuksie, który może stać się na całe życie sprawą potężnego systemu bezpieczeństwa.
przykład
eztables
Eztables pozwala szybko skonfigurować zaporę ogniową bez dotykania iptables. Składnia reguły zapory została zaprojektowana tak, aby była łatwa do odczytania i zastosowania.
W ten sposób pozwalasz całemu internetowi na dostęp do twojego serwera na porcie TCP 80:
allow_in any $eth0 any 80/tcp
Eztables ma być prosty, a jednocześnie wydajny. Nie ma znaczenia, czy chcesz chronić laptopa, konfigurujesz router domowy, czy budujesz zaporę firmową.
Korzystanie z Fail2Ban
Mając podstawową iptables
zaporę ogniową, prawdopodobnie będziesz chciał ją uzupełnić za pomocą narzędzia takiego jak Fail2Ban .
fragment
Fail2ban skanuje pliki dziennika (np. / Var / log / apache / error_log) i blokuje adresy IP, które pokazują złośliwe znaki - zbyt wiele awarii haseł, szukanie exploitów itp. Ogólnie Fail2Ban jest następnie używany do aktualizacji reguł zapory ogniowej w celu odrzucenia adresów IP przez określony czas, chociaż można również skonfigurować dowolne inne działanie (np. wysłanie wiadomości e-mail). Po wyjęciu z pudełka Fail2Ban zawiera filtry dla różnych usług (apache, kurier, ssh itp.).
Korzystanie z takich narzędzi pomoże ograniczyć narażenie, które Twój system będzie musiał znieść, gdy będziesz go hartował. Nawet jeśli jesteś dość przekonany, że twój system został zahartowany, możesz nadal chcieć kontynuować korzystanie z Fail2Ban w ramach swoich środków bezpieczeństwa.
Bibliografia