Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-04-23 22:07:46

  bryn1u - Użytkownik

bryn1u
Użytkownik
Zarejestrowany: 2009-04-17

IPTABLES - regulka - samozablokowanie

Witam,

Z iptables mam stycznosc 1 raz. Kupilem sobie ksiazke i przerabiam przyklad, ktory na dzien dobry dal mi w tylek i odrazu sie zablokowalem. Probuje przeanalizowac co jest nie tak, lecz nie moge nigdzie znalezc bledu. Co prawda przyklad jest dla eth1, ale dodalem ponizej regulke, ktora powinna mi pozwolic logowac sie na ssh.
Pomoze ktos ?

Kod:

#!/bin/sh

IPTABLES=/sbin/iptables
MODPROBE=/sbin/modprobe
INT_NET=192.168.10.0/24


# flush existing rules and set chain policy setting to DROP"

$IPTABLES -F
$IPTABLES -F -t nat
$IPTABLES -X
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

# load connection-tracking modules

$MODPROBE ip_conntrack
$MODPROBE iptable_nat
$MODPROBE ip_conntrack_ftp
$MODPROBE ip_nat_ftp

# input chain

$IPTABLES -A INPUT -m state --state INVALID -j LOG --log-prefix "DROP INVALID" --log-ip-options --log-tcp-options
$IPTABLES -A INPUT -m state --state INVALID -j DROP
$IPTABLES -A INPUT -m state --state ESTABILISHED,RELATED -j ACCEPT

# anti-spoofing rules

$IPTABLES -A INPUT -i eth1 -s ! $INT_NET -j LOG --log-prefix "SPOOFED PKT"
$IPTABLES -A INPUT -i eth1 -s ! $INT_NET -j DROP

# accept rules

$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT      (teoretycznie, zeby nie zablokowac dostepu do ssh)

$IPTABLES -A INPUT -i eth1 -p tcp -s $INT_NET --dport 22 --syn -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

# default input log rule

$IPTABLES -A INPUT -i ! lo -j LOG --log-prefix "DROP" --log-ip-options --log-tcp-options

# output chain

$IPTABLES -A OUTPUT -m state --state INVALID -j LOG --log-prefix "DROP INVALID" --log-ip-options --log-tcp-options
$IPTABLES -A OUTPUT -m state --state INVALID -j DROP
$IPTABLES -A OUTPUT -m state --state ESTABILISHED,RELATED -j ACCEPT

# accept rules for allowing connections out

$IPTABLES -A OUTPUT -p tcp –dport 22 –syn -m state –state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp –dport 80 –syn -m state –state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp –dport 4321 –syn -m state –state NEW -j ACCEPT

# output log rule

$IPTABLES -A OUTPUT -o ! lo -j LOG –log-prefix "DROP" –log-ip-options –log-tcp-options

# forward chain

$IPTABLES -A FORWARD -m state --state INVALID -j LOG --log-prefix "DROP INVALID" --log-ip-options –log-tcp-options
$IPTABLES -A FORWARD -m state --state INVALID -j DROP
$IPTABLES -A FORWARD -m state --state ESTABILISHED,RELATED -j ACCEPT

# anti-spoofing rules

$IPTABLES -A FORWARD -i eth1 -s ! $INT_NET -j LOG --log-prefix "SPOOFED PKT"
$IPTABLES -A FORWARD -i eth1 -s ! $INT_NET -j DROP

Z gory dziekuje,
Pozdrawiam,

Ostatnio edytowany przez bryn1u (2014-04-23 22:11:49)


E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
[b]http://unix-ebooki.neth.pl/[/b]

Offline

 

#2  2014-04-23 22:18:43

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: IPTABLES - regulka - samozablokowanie

700

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 00:50:40)

Offline

 

#3  2014-04-23 23:01:31

  winnetou - złodziej wirków ]:->

winnetou
złodziej wirków ]:->
Skąd: Jasło/Rzeszów kiedyś Gdańs
Zarejestrowany: 2008-03-31
Serwis

Re: IPTABLES - regulka - samozablokowanie

bryn1u - zasada jest prosta: najpierw odblokowujesz wszystko co chcesz przepuścić z/do serwera a dopiero potem blokujesz resztę i ewentualnie "czarujesz" z połączeniami przychodzącymi.
Iptables działa jak każdy interpreter: linjka po linijce. Jeśli trafi na regułkę która pasuje do danego połączenia przerywa działanie.


LRU: #472938
[b]napisz do mnie:[/b] ola@mojmail.eu
[url=http://valhalla.org.pl]Hołmpejdż[/url] | [url=http://valhalla.org.pl/foto]Galerie[/url] | [url=http://valhalla.org.pl/tech]"Twórczość"[/url] || [url=http://img.munn.in]Free Image Hosting[/url]

Offline

 

#4  2014-04-24 01:56:57

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: IPTABLES - regulka - samozablokowanie

Iptables ma dwie cechy przewodnie:
Reguły ACCEPT, DROP i REJECT kończą przetwarzanie pakietu natychmiast.
Inne już różnie, zależy od konkretnej sytuacji/reguły.

Dlatego bardzo ważna jest kolejność reguł.

Dodatkowo, najpierw pakiet jest dopasowywany do kolejnych reguł, jeśli nie dopasuje do żadnej konkretnej reguły, to stosuje zasadę z polityki domyślnej.

Jak się o tym pamięta, i pisze regułę po regule, sprawdzając co regułę-trzy, czy z chronionymi usługami można się prawidłowo łączyć, to  to się robi prosty jak konstrukcja cepa, i wypasionego FW się postawi w pół godzinki, wliczając w to jedno piwko.

Poważna jazda będzie dopiero za kilka miechów, przy przesiadce na nftables, choć podobno ma powstać translator reguł.

I dobrze konfigurację testować w domu, a na serwer wrzucać gotową
i sprawdzoną.

I nie ma się co szczypać, jak ktoś zna PF-a, to w iptables każda reguła kończąca działa jak reguła quick z PF.
PF też w nowszych wersjach domyślnie traktuje reguły, jakby miały parametr keep state, w iptables trzeba dorzeźbić dodatkowo regułki

Kod:

...-m conntrack --ctstate ...

Poza tym to żadna magia, tylko nie warto robić copy& paste z jakichś gotowych skryptów, a potem dumać dwa tygodnie, dlaczego cośtam nie działa, i pierdolić się w debugowanie FW modułem TRACE.

To by było na tyle
;-)

Ostatnio edytowany przez Jacekalex (2014-04-24 02:04:15)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2014-04-24 02:46:21

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: IPTABLES - regulka - samozablokowanie

Coś ta książka jakaś przeterminowana, nie mówię bynajmniej o nftables tylko np. o modułach:

Kod:

ip_conntrack
ip_conntrack_ftp
ip_nat_ftp

Tych modułów, przynajmniej u mnie nie ma. A sam ip_conntrack , z tego co kiedyś znalazłem, został chyba zastąpiony przez xt_conntrack .

Dodatkowo ten -m state jest już od wieków przestarzały i się zamiast niego używa  -m conntrack .

Co to za książka, jeśli można wiedzieć — by nie kupować. xD

winnetou --raczej na odwrót, najpierw blokujesz all, a potem przepuszczasz co potrzebujesz. xD

Poważna jazda będzie dopiero za kilka miechów, przy przesiadce na nftables, choć podobno ma powstać translator reguł.[/quote]
Z tego co ja wyczytałem gdzieś tam, to będzie można używać tych samych konstrukcji co przy iptables oraz, że to co działa obecnie na iptables będzie działało na nftables — http://netfilter.org/projects/nftables/ :

The nftables project provides a backward compatibility layer that allows you run iptables/ip6tables (using the same syntax) over the nftables infrastructure:[/quote]
A i tu jeszcze masz linka z opisem całego iptables — http://www.iptables.info/en/iptables-contents.html

Ostatnio edytowany przez morfik (2014-04-24 02:53:40)

Offline

 

#6  2014-04-24 07:03:33

  bryn1u - Użytkownik

bryn1u
Użytkownik
Zarejestrowany: 2009-04-17

Re: IPTABLES - regulka - samozablokowanie

Ksiazka to:
http://helion.pl/ksiazki/bezpieczenstwo-sieci-w-linuksie-wykrywanie-atakow-i-obrona-przed-nimi-za-pomoca-iptables-psad-i-fw-michael-rash,bsieli.htm

I chyba zdecydowanie jest przestarzala, ale bardzo ciekawie opisana. Zainteresowalo mnie bardziej system psad+fw+snort.

Na codzien uzywam PF dziala rewelacyjnie, ale potrzebuje uzyc iptables dla kontenerow z lxc bo chce pozamykac tam pare uslug i borykam sie z iptables.

P.S
Jacek nie ma copy i paste wszystko recznie pisalem czytajac "znaczenie" reguly.


E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
[b]http://unix-ebooki.neth.pl/[/b]

Offline

 

#7  2014-04-24 09:25:35

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: IPTABLES - regulka - samozablokowanie

To nie pisz na siłę całego skrypta równocześnie, tylko dorzucaj po jednej, kilku regułach do FW, i patrz, co działa, a co nie.

I nie sugeruj się psadem i fwsnortem, bo znacznie ciekawiej można użyć na razie modułów [b]connlimit[/b], [b]hashlimit[/b] i [b]recent[/b] firewalla, do tego można użyć filtra opartego na Fail2banie, jak się lubisz "kąpać  w regexach".

Jak ktoś myśli, że Fwsnort zastąpi Snorta, to niech myśli dalej, przy czym Snort do serwera z kontenerami LXC to strzelanie z armaty do wróbla,
samym Iptables można bardzo elegancko poobcinać liczbę i rodzaje  połączeń w taki sposób, żeby się nic strasznego nie wydarzyło,
a krytyczne błędy w demonach sieciowych są dosyć szybko łatane,
licząc od wykrycia.

Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2014-04-24 09:36:38)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#8  2014-04-24 15:28:03

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: IPTABLES - regulka - samozablokowanie

Data wydania książki drukowanej: 2008-09-01[/quote]
Za 15 zł może i bym się skusił, ale 6 dych to o wiele za dużo. xD

Ostatnio edytowany przez morfik (2014-04-24 15:29:12)

Offline

 

#9  2014-04-25 07:15:23

  bryn1u - Użytkownik

bryn1u
Użytkownik
Zarejestrowany: 2009-04-17

Re: IPTABLES - regulka - samozablokowanie

[quote=morfik]

Data wydania książki drukowanej: 2008-09-01[/quote]
Za 15 zł może i bym się skusił, ale 6 dych to o wiele za dużo. xD[/quote]
Wrzucilem do siebie na server ta ksiazke w .pdf jakbys chcial sobie poczytac. Jezyk [EN].

[b]Sznurek:[/b] http://oksymoron.edu.pl/~bryn1u/Linux%20Firewalls%20-%20AttackDetectionResponseWithIPtablesPsadFwsnort.pdf

Tutaj jest lepszy nekromanta:

[b]Debian Linux. Księga eksperta[/b]
Data wydania książki drukowanej: [b]2001-10-10[/b]

Na płycie CD-ROM znajdziesz:

dystrybucję Debian 2.1;[/quote]
:D

Cena:130,00 zł

http://helion.pl/ksiazki/debian-linux-ksiega-eksperta-mario-camou-john-goerzen-aaron-van-couwenberghe,dlinke.htm#opis

Ostatnio edytowany przez bryn1u (2014-04-25 08:25:50)


E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
[b]http://unix-ebooki.neth.pl/[/b]

Offline

 

#10  2014-05-15 22:42:55

  noSound - Użytkownik

noSound
Użytkownik
Skąd: Posen
Zarejestrowany: 2014-05-13

Re: IPTABLES - regulka - samozablokowanie

Witajcie drodzy koledzy.
Pozwoliłem sobie zaczerpnąć miejsca w tym oto wątku (dzięki [b]bryn1u[/b]) w poszukiwaniu rozwiązania problemu bo...trafiłem na to samo.

[quote=Jacekalex]Poza tym to żadna magia, tylko nie warto robić copy& paste z jakichś gotowych skryptów, a potem dumać dwa tygodnie, dlaczego cośtam nie działa, i pierdolić się w debugowanie FW modułem TRACE.[/quote]
[b]Jacekalex[/b] na pewno piszę mądre rzeczy, godne zapamiętania i wykorzystania ale...no niestety "ale" ja jako zwykły zjadacz chleba, któremu przestawiło się coś w głowie, wziął się za tworzenie serwerka testowego w domu oczywiście ku czci nauce i poszerzania swoich horyzontów myślowych i wklepałem gotowca na podstawie tegoż artykułu:
http://pl.wikibooks.org/wiki/Debian_-_uniwersalna_instalacja/Konfigurowanie_iptables

Ok...dosyć biadolenia i przejdźmy zatem do meritum.

Podobnie jak [b]bryn1u[/b] zablokowałem sobie dostęp do niektórych usług. W moim przypadku ssh i vnc - wiadomo przez copy&paste "gotowiec" z ów linka wyżej.
Zanim trafiłem na temat naszego autora, zdążyłem załapać że drzemiący w moim serwie "skrypt" (/etc/init.d/firewall) działa jak interpretator poleceń linijka po linijce.
Dodawanie na samym końcu linijek: iptables -A INPUT blabla, nie dało pożądanego efektu; dopiero wpisanie linijek zaraz po "interpretacji polityki" (INPUT DROP, FORWARD DROP, etc.), łączenie się po ssh i vnc wróciło do żywych :)

Moje działania to czyste testy, serwer jest online ale nadal nie czuję się bezpiecznie.

Chciałbym stworzyć możliwość łączenia się np. po vnc tylko wtedy kiedy ja wyrażam na to zgodę na serwerze, a po zamknięciu sesji port (5900) dalej byłby zablokowany. Po ssh sprawa wygląda troszeczkę inaczej - tutaj zabawa z kluczami rsa.

Teraz pytanko.
Czy istnieje możliwość, aby np. podczas uruchamiania "x11vnc" odblokowywał się na ten czas port w iptables (w konf. firewall), a następnie po wyłączeniu usługi x11vnc, firewall przechodziłby z powrotem do "blokowania wszystkiego co popadnie"?

Offline

 

#11  2014-05-15 22:52:06

  winnetou - złodziej wirków ]:->

winnetou
złodziej wirków ]:->
Skąd: Jasło/Rzeszów kiedyś Gdańs
Zarejestrowany: 2008-03-31
Serwis

Re: IPTABLES - regulka - samozablokowanie

[b]@noSound[/b]
HINT:  port knocking


LRU: #472938
[b]napisz do mnie:[/b] ola@mojmail.eu
[url=http://valhalla.org.pl]Hołmpejdż[/url] | [url=http://valhalla.org.pl/foto]Galerie[/url] | [url=http://valhalla.org.pl/tech]"Twórczość"[/url] || [url=http://img.munn.in]Free Image Hosting[/url]

Offline

 

#12  2014-05-16 09:28:34

  noSound - Użytkownik

noSound
Użytkownik
Skąd: Posen
Zarejestrowany: 2014-05-13

Re: IPTABLES - regulka - samozablokowanie

Czyli coś na zasadzie tunelu zwrotnego. To nawet sobie skonf. zarówno dostęp do ssh jak i vnc (jak dobrze myślę). Dzięki za odpowiedź.

Ostatnio edytowany przez noSound (2014-05-16 09:32:16)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.009 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00009 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00126 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.14.132.178' WHERE u.id=1
0.00058 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.14.132.178', 1732574159)
0.00021 SELECT * FROM punbb_online WHERE logged<1732573859
0.00059 SELECT topic_id FROM punbb_posts WHERE id=267339
0.00162 SELECT id FROM punbb_posts WHERE topic_id=25681 ORDER BY posted
0.00063 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=25681 AND t.moved_to IS NULL
0.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00104 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=25681 ORDER BY p.id LIMIT 0,25
0.00075 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25681
Total query time: 0.00686 s