Konfiguracja iptables

Zagadnienia bezpieczeństwa w systemie
Czeladnikx
Posty: 12
Rejestracja: 21 maja 2015, 15:38

Konfiguracja iptables

Post autor: Czeladnikx »

Witam po raz pierwszy, z prosba o rade.
Zeby konfigurawac iptables w sposob umozliwiajacy kontrole ruchu musze zainstalowac na Kernelu ta latke: https://git.netfilter.org/iptables/commit/?id=64658 … dfee61d1a0aeb a nastepnie https://git.netfilter.org/iptables/plai ... t_cgroup.c
https://git.netfilter.org/iptables/plai ... cgroup.man. Jak to zrobic? niestety nie mam doswiadczenia.
Sa to pierwsze czynnosci ktore nalezy wykonac przed budowaniem regolek configu iptables, te juz w znacznej mierze opanowalem, tylko z kompilowaniem Kernela musze Was prosic o pomoc.
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

Co masz na myśli pisząc "w sposob umozliwiajacy kontrole ruchu"?
Awatar użytkownika
Yampress
Administrator
Posty: 6367
Rejestracja: 09 sierpnia 2007, 21:41
Lokalizacja: PL

Post autor: Yampress »

Podaj jeszcze te reguły , które chcesz wykorzystać z iptables. Może wcale nie trzeba nakładać łatek.

I objaśnij co zamierzasz kontrolować...
Czeladnikx
Posty: 12
Rejestracja: 21 maja 2015, 15:38

Post autor: Czeladnikx »

Chcialbym stworzyc cala sciezke bezpieczenstwa na workstation Jessie.
1 - Monitoring trafficu:
a - ingress filtering = kto probowal lub nawiazal polaczenie z moim kompem, lancuch INPUT
b - egress filtering = cgroup, Z kim moj komp probowal lub nawiazal polaczenia lancuch FORWARD, POSTROUTING i OUTPUT.
Status NEW.
Sledzenie polaczen, modul conntrack.
Analiza polaczen jest wazniejsza anizeli analiza pakietow.
Domyslna polityka 3 x DROP, a nastepnie otwieranie portow w ramach aktualnych potrzeb.
Zastanawiam sie nad ruchem ICMP, ktory niesie wiele niebezpieczenstw, jezeli go zablokuje, to co sie stanie? Mozna zyc bez pingu ;-)

2 - Logowanie trafficu (polaczen!)
Reverse Lookup - czy iptables dysponuje takim narzedziem, v - verbose powinno pelnic taka sama funkcje?
3 - Analiza logow
4 - Biezaca wizualizacja.
5 - ew Alarming (np przy probach polaczen do "blocklist")

Poniewaz zamierzam "przecwiczyc" wszystkie extensions i matches, to musze miec zainstalowane wszystkie dostepne moduly Kernela i Netfiltra razem z latkami.

Ps. Dodatkowe pytanie, jak przy pomocy regol iptables utomatycznie zamykac porty po zakonczeniu uslugi, zeby port nie pozostawal otwarty "na nasluchu"?

Podsumowujac, zamierzam skonfigurowac regolki iptables dla stacji roboczej ale na poziomie obronnym serwera, wiem ze dla desktopa wystarcza INPUT podtawowe regolki, OUTPUT tak samo.
Dla mnie ten komputer z ustawieniami ma byc poligonem doswiadczalnym nauki konfigurowania regol iptables, ktora to nauke zamierzam pozniej wykorzystywac na konkretnym serwerze z wieksza iloscia uslug.
Dlatego tymczasem prosze o pomoc i wracam do tematu:
"Zeby konfigurawac iptables w sposob umozliwiajacy kontrole ruchu musze zainstalowac na Kernelu ta latke: https://git.netfilter.org/iptables/commit/?id=64658 … dfee61d1a0aeb a nastepnie https://git.netfilter.org/iptables/p...libxt_cgroup.c
https://git.netfilter.org/iptables/p...bxt_cgroup.man. Jak to zrobic? niestety nie mam doswiadczenia."
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

Po pierwsze gratuluje zapału :)

Ta łatka z cgroups jest dopiero wdrażana, w Linuksie tak jest, że to co widzisz już w internecie, a jest w fazie wdrażania, nie jest jeszcze przez dość długi czas dostępne w dystrybucjach stabilnych. Dlatego nie polecam nauki rozpoczynać wręcz od deweloperskich wersji, a jak już się uwziąłeś, co też ma swoje zalety, to polecam Fedore a nie kompilowanie jądra, bo żeby się nie okazało, że po kompilacji będzie problem z jakimiś bibliotekami ;)

Ogólnie to widzą, że chcesz zabezpieczyć system na przysłowiowego maksa, ale uwierz mi do tego nie tylko iptables jest potrzebny. Jeżeli chcesz umieć perfekcyjnie wykorzystywać iptables to naukę polecam zacząć od protokołów sieciowych, czyli dokumentów RFC.

Z tego co tu chcesz to temat na książkę, dlatego mogę Ci polecić ta pozycję:
Bezpieczeństwo sieci w Linuksie. Wykrywanie ataków i obrona przed nimi za pomocą iptables, psad i fwsnort

lub solidne podstawy iptables "Iptables dla początkujących" - jest tego 4 części.

a bym zapomniał, do zrealizowania swego celu bardziej będziesz potrzebował Suricaty niż iptables.
Czeladnikx
Posty: 12
Rejestracja: 21 maja 2015, 15:38

Post autor: Czeladnikx »

Swiadomie nie podalem szczegulow, zeby nie sugerowac odpowiedzi.

Potrzebuje Waszego wsparcia w:
"Zeby konfigurawac iptables w sposob umozliwiajacy kontrole ruchu musze zainstalowac na Kernelu ta latke: https://git.netfilter.org/iptables/commit/?id=64658 … dfee61d1a0aeb a nastepnie https://git.netfilter.org/iptables/p...libxt_cgroup.c
https://git.netfilter.org/iptables/p...bxt_cgroup.man. Jak to zrobic? niestety nie mam doswiadczenia."
Wiem ze jest to w zakresie Waszych umiejetnosci poniewaz od kilku juz lat czytam Wasze wypowiedzi: twoje Grzegorzu, lakonicznego Yampressa czy swietnego Menela ktory wiele mi podpowiedzial w zakresie bezpieczenstwa przegladarki.
Prosze o kilka podstawowych krokow a dalej zrobie sam!

Ps. Podane linki przecwiczylem juz 3 lata temu.;-)
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

https://packages.debian.org/jessie/iptables

Kod: Zaznacz cały

wget [URL]http://http.debian.net/debian/pool/main/i/iptables/iptables_1.4.14.orig.tar.bz2[/URL]

Tworzysz pliki i pobierasz ich zawartości z lokalizacji, którą sam pokazywałeś

Kod: Zaznacz cały

vim iptables-1.4.14/extensions/libxt_cgroup.c
vim iptables-1.4.14/extensions/libxt_cgroup.man
vim iptables-1.4.14/include/linux/netfilter/xt_cgroup.h

potem

Kod: Zaznacz cały

./configure 
make
make install

Ja wcześniej instalowałem jeszcze paczki xtables-addons-common, xtables-addons-source gdyby coś nie działało, no i miałem już zainstalowaną paczkę iptables-dev.

Teraz mam w iptables moduł cgroup i bez problemu dodałem regułę

Kod: Zaznacz cały

iptables -A OUTPUT -p tcp --sport 80 -m cgroup ! --cgroup 1999 -j DROP
Czy działa? To już zadanie dla Ciebie.
Czeladnikx
Posty: 12
Rejestracja: 21 maja 2015, 15:38

Post autor: Czeladnikx »

Przeciez iptables sa natywnie w Jessie

Kod: Zaznacz cały

root@debian:/home/anthony# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 
Mam podstawowa konfiguracje wszystko pootwierane.

Sciaganie sie nie powiodlo

Kod: Zaznacz cały

root@debian:/home/anthony# wget http://http.debian.net/debian/pool/m...4.orig.tar.bz2
--2015-05-23 19:10:48--  http://http.debian.net/debian/pool/m...4.orig.tar.bz2
Resolving http.debian.net (http.debian.net)... 2a01:4f8:151:555d::42, 2001:41c8:1000:21::21:35, 5.153.231.35, ...
Connecting to http.debian.net (http.debian.net)|2a01:4f8:151:555d::42|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://mirror.lchost.net/debian/pool/m...4.orig.tar.bz2 [following]
--2015-05-23 19:10:48--  http://mirror.lchost.net/debian/pool/m...4.orig.tar.bz2
Resolving mirror.lchost.net (mirror.lchost.net)... 2a01:70:1:211:2::73, 213.230.211.73
Connecting to mirror.lchost.net (mirror.lchost.net)|2a01:70:1:211:2::73|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2015-05-23 19:10:48 ERROR 404: Not Found.

Paczke z linka sciagnolem ale reczna instalacja w ostatecznosci zeby uniknac nadpisywania plikow.
Moje linki prowadza do Git,a
Awatar użytkownika
Yampress
Administrator
Posty: 6367
Rejestracja: 09 sierpnia 2007, 21:41
Lokalizacja: PL

Post autor: Yampress »

a logi zapchają ci dysk i tak ich potem nie bedziesz studiował bo będzie ich za dużo..
Czeladnikx
Posty: 12
Rejestracja: 21 maja 2015, 15:38

Post autor: Czeladnikx »

Yampress pisze:a logi zapchają ci dysk i tak ich potem nie bedziesz studiował bo będzie ich za dużo..
Zaledwie czesciowa prawda poniewaz:

- realizacja glownie logow polaczen a nie pakietow.
- realizacja logow glownie polaczen o okreslonym statusie np NEW
- wybiorcza realizacja logow wg wybranego kryterium albo jak kto woli protokolu, portu,aplikacji,zajmowanego miejsca na laczu dowolnych rozszerzen i dopasowan. (cgrops i conntrack - glownie)
- rotate it jako prosty sposob na odswiezanie miejsca na narastajace logi kosztem likwidacji niepotrzebnych (ew cron )

Gdyby wszyscy na swiecie zaczynali zdanie od a i sie nie da to swiat stalby w miejscu.
Jezeli pomozecie to obiecuje ze jak skoncze to przedstawie projekt w calosci na forum do Waszej oceny.
ODPOWIEDZ