reguły bezpieczenstwa w iptables w sieci lokalnej

Dział poświęcony bezpieczeństwu systemów operacyjnych Windows - Logi z programu HijackThis, informacje o programach antywirusowych, Firewalach oraz o wirusach (wykrywanie, kasowanie)

reguły bezpieczenstwa w iptables w sieci lokalnej

Postautor: piotrino1 » 05 gru 2010, 15:27

Witam stworzyłem sobie taką regułę w iptables na serwerze fedory:
Kod: Zaznacz cały
[root@fedora Admin]# iptables -P INPUT DROP
[root@fedora Admin]#  iptables -P OUTPUT DROP
[root@fedora Admin]# iptables -P FORWARD DROP
[root@fedora Admin]# iptables -A INPUT -p tcp --sport 80 -j ACCEPT
[root@fedora Admin]# iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
[root@fedora Admin]#  iptables -A INPUT -p udp --sport 53 -j ACCEPT
[root@fedora Admin]# iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
[root@fedora Admin]#  iptables -A INPUT -i lo -j ACCEPT  #odblokowanie pętli zwrotnej
[root@fedora Admin]# iptables -A OUTPUT -o lo -j ACCEPT
[root@fedora Admin]#  iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
[root@fedora Admin]#  iptables -A OUTPUT -p icmp -m icmp --icmp-type any -j ACCEPT
[root@fedora Admin]#  iptables -A INPUT -p udp --sport 53 -j ACCEPT
[root@fedora Admin]#  iptables -A INPUT -p udp --sport 1194 -j ACCEPT
[root@fedora Admin]#  iptables -A OUTPUT -p udp --dport 1194 -j ACCEPT
[root@fedora Admin]# iptables -A INPUT -i eth0 -p udp -m udp --dport 1194
[root@fedora Admin]# iptables -A OUTPUT -o eth0 -p udp -m udp --dport 1194
[root@fedora Admin]# iptables -A INPUT -i eth0 -p udp -m udp --sport 1194
[root@fedora Admin]#
Wszystko ładnie chodzi, pingi pingują w sieci lokalnej 192.168.1.0/24 , internet działa bez zarzutu....Nie mogę ustawic w iptables wpisów (zle chyba ustawiam) ze usługa openvpn mi nie działa między windowsem a serwerem:
[CODE[root@fedora Admin]# iptables -A INPUT -p udp --sport 1194 -j ACCEPT
[root@fedora Admin]# iptables -A OUTPUT -p udp --dport 1194 -j ACCEPT
[root@fedora Admin]# iptables -A INPUT -i eth0 -p udp -m udp --dport 1194
[root@fedora Admin]# iptables -A OUTPUT -o eth0 -p udp -m udp --dport 1194
[root@fedora Admin]# iptables -A INPUT -i eth0 -p udp -m udp --sport 1194][/CODE]
Po prostu nie mam usługi openvpn między klientem (windows) a serverem...
oprocz tego samba mi nie działa takze, choć porty analogicznie jak wyzej ustawiłem. Czy dobrze te wpisy utworzyłem??? Oczywiście jak wyłączę iptables wszystkie usługi mam...W jaki sposób mogę to skonfigurować zebym miał te usługi, lub może zle reguły wprowadziłem...???Bardzo prosiłbym o wskazówki i wyjasnienie...
Kod: Zaznacz cały
[root@fedora Admin]# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:http
ACCEPT     udp  --  anywhere             anywhere            udp spt:domain
ACCEPT     all  --  anywhere             anywhere           
ACCEPT     icmp --  anywhere             anywhere            icmp any
ACCEPT     udp  --  anywhere             anywhere            udp spt:domain
ACCEPT     udp  --  anywhere             anywhere            udp spt:openvpn
           udp  --  anywhere             anywhere            udp dpt:openvpn
           udp  --  anywhere             anywhere            udp spt:openvpn

Chain FORWARD (policy DROP)
target     prot opt source               destination         

Chain OUTPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain
ACCEPT     all  --  anywhere             anywhere           
ACCEPT     icmp --  anywhere             anywhere            icmp any
ACCEPT     udp  --  anywhere             anywhere            udp dpt:openvpn
           udp  --  anywhere             anywhere            udp dpt:openvpn
[root@fedora Admin]#
P.S I analogicznie do tych wpisów, jakbym chciał w sieci zabronić przesyłanie pakietów do kompa w sieci lokalnej to jak się domyślam regułe blokowania ustawiam na początku listy tj:
Kod: Zaznacz cały
iptables -A OUTPUT -d 192.168.1.4 -j DROP
?
POzdrawiam



SYSTEM: [color=Black]WINDOWS 7 64bit/DEBIAN 64bit.[/color] MOBO: ASROCK N68C-S UCC
PROCESOR: ATHLON64 x2 5600 2.9GHz. PAMIĘĆ:Kingston 4GB DDR2 800MHz CL5 Dual Channel Dysk: WDC WD800JB-00JJA0 (80GB, IDE)
Awatar użytkownika
piotrino1
Junior Member
 
Posty: 1285
Rejestracja: 26 sty 2007, 17:12

Postautor: Krizz » 05 gru 2010, 18:07

Gdzie jest serwer openvpn?
Rozumiem, że cały czas nawiązujesz do wspomnianej kilka tematów wcześniej sieci złożonej z maszyn wirtualnych na fedorze? Można wiedzieć, na jakie rozwiązanie się zdecydowałeś? Most czy dwie osobne sieci z routingiem?



Awatar użytkownika
Krizz
Junior Member
 
Posty: 2998
Rejestracja: 16 mar 2004, 14:00
Lokalizacja: Kowary

Postautor: piotrino1 » 05 gru 2010, 18:14

Krizz pisze:Gdzie jest serwer openvpn?
Rozumiem, że cały czas nawiązujesz do wspomnianej kilka tematów wcześniej sieci złożonej z maszyn wirtualnych na fedorze? Można wiedzieć, na jakie rozwiązanie się zdecydowałeś? Most czy dwie osobne sieci z routingiem?

Server openvpn jest na fedorze(klienci na windowsach), a siec lokalna (3 windowsy) na virtualboxe. Cały czas nawiązuję do tematów wspomnianych wcześniej.Zdecydowałem się jednak na most (jak na razie). Wszystko mi działa jak wyłączę iptables.Ale przy tych regułach co stworzyłem nie działają mi usługi samba, https,openvpn(przy wyłaczonym iptables wszystko działa wysmienicie) Wiec błąd jest w konfiguracji iptables....



SYSTEM: [color=Black]WINDOWS 7 64bit/DEBIAN 64bit.[/color] MOBO: ASROCK N68C-S UCC
PROCESOR: ATHLON64 x2 5600 2.9GHz. PAMIĘĆ:Kingston 4GB DDR2 800MHz CL5 Dual Channel Dysk: WDC WD800JB-00JJA0 (80GB, IDE)
Awatar użytkownika
piotrino1
Junior Member
 
Posty: 1285
Rejestracja: 26 sty 2007, 17:12

Postautor: Krizz » 05 gru 2010, 18:47

Zapis
Kod: Zaznacz cały
iptables -A INPUT -p udp --sport 1194 -j ACCEPT
iptables -A OUTPUT -p udp --dport 1194 -j ACCEPT

działałby tylko, gdybyś się łączył ze zdalnym serwerem vpn. Tyle, że vpn jest lokalny, na samym serwerze z iptables, więc zapis powinien być
Kod: Zaznacz cały
iptables -A INPUT -p udp --[b]dport[/b] 1194 -j ACCEPT
iptables -A OUTPUT -p udp --[b]sport[/b] 1194 -j ACCEPT

Analogicznie musisz otworzyć porty dla samby (445 i 137-139 dla netbiosu, tcp/udp), https (443, tcp/udp).

Poza tym, w przypadku mostkowania współdzielenie sieci jest na poziomie warstwy 2 modelu OSI, więc iptables na fedorze nie ma wpływu na filtrowanie ruchu przechodzącego przez niego w tym trybie. Filtrowanie następowałoby, gdybyś zdecydował się na routing.



Awatar użytkownika
Krizz
Junior Member
 
Posty: 2998
Rejestracja: 16 mar 2004, 14:00
Lokalizacja: Kowary

Postautor: piotrino1 » 05 gru 2010, 20:11

Krizz pisze:Zapis
Kod: Zaznacz cały
iptables -A INPUT -p udp --sport 1194 -j ACCEPT
iptables -A OUTPUT -p udp --dport 1194 -j ACCEPT
działałby tylko, gdybyś się łączył ze zdalnym serwerem vpn. Tyle, że vpn jest lokalny, na samym serwerze z iptables, więc zapis powinien być
Kod: Zaznacz cały
iptables -A INPUT -p udp --[B]dport[/B] 1194 -j ACCEPT
iptables -A OUTPUT -p udp --[B]sport[/B] 1194 -j ACCEPT
Analogicznie musisz otworzyć porty dla samby (445 i 137-139 dla netbiosu, tcp/udp), https (443, tcp/udp).
.

Zrobiłem tak:
iptables -F
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT #pakiety przychodzące z www w naszym kierunku
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT #pakiety wychodzące od nas w kierunku www

iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
iptables -A INPUT -p udp --sport 1194 -j ACCEPT
iptables -A INPUT -p tcp --dport 445 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 445 -j ACCEPT
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 139 -j ACCEPT
iptables -A INPUT -p udp --dport 137 -j ACCEPT
iptables -A OUTPUT -p udp --sport 137 -j ACCEPT
iptables -A INPUT -p udp --dport 138 -j ACCEPT
iptables -A OUTPUT -p udp --sport 138 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT
iptables -A INPUT -p udp --dport 443 -j ACCEPT
iptables -A OUTPUT -p udp --sport 443 -j ACCEPT
iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
iptables -A OUTPUT -p icmp -m icmp --icmp-type any -j ACCEPT


Krizz prawie wszystkie usługi mi wchodzą po zapisaniu i restarcie iptables,oprócz usługi openvpn...Hm...Wpisy jak sądzę mam teraz dobre, ale jeszcze pokombinuję dlaczego nie wchodzi mi usługa openvpn ...Dzięki ci za pomoc, jakby nie ty to bym pewnie siedział nad tym do rana....(jak siebie znam:D)

P.s Działa wszystko, mój błąd , dwa razy miałem INPUT, a powinno byc:-)
Kod: Zaznacz cały
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
 iptables -A OUTPUT -p udp --sport 1194 -j ACCEPT
Naprawdę bardzo ci jeszcze raz dziękuję za pomoc, gdybynie ty to nockę bym miał zarwaną.....:-)

Krizz jeszcze jedna prośba, jakbym chciał zablokować np pingi, z windowsa (192.168.1.3) do servera (192.168.1.2),lub zabronić neta do windowsa...., to jaką komendę mogę według ciebie użyć przykładowo, i czy muszę ją dać na początku tablicy iptables?



SYSTEM: [color=Black]WINDOWS 7 64bit/DEBIAN 64bit.[/color] MOBO: ASROCK N68C-S UCC
PROCESOR: ATHLON64 x2 5600 2.9GHz. PAMIĘĆ:Kingston 4GB DDR2 800MHz CL5 Dual Channel Dysk: WDC WD800JB-00JJA0 (80GB, IDE)
Awatar użytkownika
piotrino1
Junior Member
 
Posty: 1285
Rejestracja: 26 sty 2007, 17:12

Postautor: Krizz » 06 gru 2010, 0:36

Kod: Zaznacz cały
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -s 192.168.1.3 -j DROP
iptables -A OUTPUT -p icmp -m icmp --icmp-type 0 -d 192.168.1.3 -j DROP

Musi być przed wpisami dotyczącymi icmp, czyli tymi dwoma ostatnimi. Inaczej one będą miały priorytet. Najbezpieczniej wszystkie dropy dawać na początku, choć to tez nie jest zasada, wszystko zależy od tego, co chcemy osiągnąć. W Twoim przypadku można dać na początek, przed acceptami.
Powyższy zapis spowoduje zablokowanie jedynie pinga - windows nie będzie mógł pingować fedory, a fedora wciąż będzie mogła pingować windowsa.

Co do blokowania neta, to sprobuj poleceniem:
Kod: Zaznacz cały
iptables -A INPUT -m mac --mac-source <adres MAC windowsa> -j DROP

Ale nie jestem pewien czy to zadziała w trybie mostkowania - najprawdopodobniej nie. A nawet jeśli, to w ten sposób zablokujesz nie tylko ruch poprzez fedorę, ale także do fedory - inaczej się nie da jeśli chcesz się trzymać mostkowania i warstwy 2. Powinieneś zastosować routing, jeśli chcesz porządnie filtrować ruch w warstwach 3 i 4 za pomocą dyrektywy FORWARD.



Awatar użytkownika
Krizz
Junior Member
 
Posty: 2998
Rejestracja: 16 mar 2004, 14:00
Lokalizacja: Kowary

Postautor: piotrino1 » 06 gru 2010, 17:29

Krizz pisze:Co do blokowania neta, to sprobuj poleceniem:
Kod: Zaznacz cały
iptables -A INPUT -m mac --mac-source <adres MAC windowsa> -j DROP
Ale nie jestem pewien czy to zadziała w trybie mostkowania - najprawdopodobniej nie. A nawet jeśli, to w ten sposób zablokujesz nie tylko ruch poprzez fedorę, ale także do fedory - inaczej się nie da jeśli chcesz się trzymać mostkowania i warstwy 2. Powinieneś zastosować routing, jeśli chcesz porządnie filtrować ruch w warstwach 3 i 4 za pomocą dyrektywy FORWARD.

Dzięki Krizz za wyczerpujące wskazówki. Teraz mniej więcej wiem co i jak. Bedę się jeszce na pewno bawił w dalszą konfigurację iptablesa. Podobnie jest jak w access-lists np. na routerach cisco ....Choć składnia się rózni. Co do sieci z routingiem na pewno się tym też pobawię(chociażby dla samej idei-jak to będzie działao:razz:) Na razie muszę skonfigurować na fedorze serwer pocztowy, bo inne usługi jak server apache, ssh,samba ,mysql, openvpn już mam działające...Choć musze przyznać ze trochę czasu mi to wszystko zajęło(ale satysfakcję mam ze się w koncu udało to wszystko). Pozdrawiam



SYSTEM: [color=Black]WINDOWS 7 64bit/DEBIAN 64bit.[/color] MOBO: ASROCK N68C-S UCC
PROCESOR: ATHLON64 x2 5600 2.9GHz. PAMIĘĆ:Kingston 4GB DDR2 800MHz CL5 Dual Channel Dysk: WDC WD800JB-00JJA0 (80GB, IDE)
Awatar użytkownika
piotrino1
Junior Member
 
Posty: 1285
Rejestracja: 26 sty 2007, 17:12


Wróć do Bezpieczeństwo
 


  • Podobne tematy
    Odpowiedzi
    Odsłony
    Ostatni post

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość