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  2011-06-18 01:23:29

  gumis - Nowy użytkownik

gumis
Nowy użytkownik
Zarejestrowany: 2011-06-17

Prośba o sprawdzenie skryptu iptables

Witam,

zainstalowałem sobie Debiana 6 i chciałbym go wykorzystać jako router dla malutkiej sieci osiedlowej (max 20 urządzeń).
Chciałbym aby internet udostępniany był zarówno z autoryzacją pppoe jak i bez niej (gdyż cześć urządzeń nie obsługuje PPPoE - telefony, tunery itp...).
Skompilowałem kernel 2.6.32 z obsługą IMQ aby móc dzielić łącze (skrypt htb) wszystkim użytkownikom (interfejsy ppp+ oraz eth1)
Jako, że ostatnio dostałem pismo od operatora informując mnie iż z mojego adresu IP rozsyłany jest spam postanowiłem zablokować port 25.

zakres IP klientow - 192.168.0.100-192.168.0.150
adresy IP klientow PPPoE - 10.0.0.100-10.0.0.150
interfejs eth0 - internet
interfejs eth1 - lan, uruchomiony pppoe-server

Czy w ogóle prawidłowe jest założenie, że pppoe oraz sieć lan działać będą na tym samym interfejsie? W dokumentacji pppoe-server zalecają ustawić adres interfejsu 0.0.0.0 - ale wtedy musiałbym dokładać trzecią kartę sieciową dla użytkowników nie autoryzujących się pppoe.

Korzystając z mojej niewielkiej wiedzy napisałem sobie poniższy skrypcik. Sprawdzałem go już i wydaje się działać poprawnie, jednak linuxa dopiero poznaję, proszę więc o przejrzenie tego skryptu czy nie ma w nim jakiś oczywistych błędów - przede wszystkim chodzi o kolejność reguł.

Pozdrawiam, Krzysiek

Kod:

#!/bin/bash

### BEGIN INIT INFO
# Provides:            firewall
# Required-Start:    $syslog $network
# Required-Stop:
# Default-Start:    2 3 4 5
# Default-Stop:
### END INIT INFO

. /lib/lsb/init-functions

case "$1" in
    start|restart)
        log_daemon_msg "Starting firewall..." "iptables"

        # Czysczenie starych regul
        iptables -t filter -F
        iptables -t filter -X
        iptables -t nat -X
        iptables -t nat -F
        iptables -t mangle -F
        iptables -t mangle -X

        # Ustawienie domyslnej polityki
        iptables -P INPUT DROP
        iptables -P FORWARD DROP
        iptables -P OUTPUT ACCEPT

        # Zezwolenie na polaczenia SSH, ICMP, DHCP, ESTABLISHED, RELATED, LOOPBACK
        iptables -A INPUT -p tcp --dport 22 -j ACCEPT
        iptables -A INPUT -p icmp -j ACCEPT
        iptables -A INPUT -i eth1 -p udp --dport 67:68 -j ACCEPT
        iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
        iptables -A INPUT -i lo -j ACCEPT

        # Zablokowanie polaczen na port 25
        iptables -A FORWARD -p tcp --dport 25 -j ULOG --prefix-ulog SPAM
        iptables -A FORWARD -p tcp --dport 25 -j DROP
        
        # Logowanie polaczen wychodzacych
        iptables -A FORWARD -o eth0 -m state --state NEW -j ULOG
        
        # Udostepnianie polaczenia internetowego
        modprobe ip_nat_ftp
        iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
        iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT
        iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
        iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE
        iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
        
        # Markowanie pakietow wychodzacych (uzywane przez htb)
        for IP in {100..150}
        do
            iptables -t mangle -A POSTROUTING -s 10.0.0.$IP -j MARK --set-mark 1$IP
            iptables -t mangle -A POSTROUTING -s 192.168.0.$IP -j MARK --set-mark 2$IP
        done
        
        # Przekierowanie ruchu wchodzacego na imq0 (uzywane przez htb)
        iptables -t mangle -A POSTROUTING -d 10.0.0.0/24 -j IMQ --todev 0
        iptables -t mangle -A POSTROUTING -d 192.168.0.0/24 -j IMQ --todev 0

        log_end_msg 0
    ;;

    stop)
        log_daemon_msg "Stopping firewall..." "iptables"

        # Czysczenie starych regul
        iptables -t filter -F
        iptables -t filter -X
        iptables -t nat -X
        iptables -t nat -F
        iptables -t mangle -F
        iptables -t mangle -X

        # Ustawienie domyslnej polityki
        iptables -P INPUT ACCEPT
        iptables -P FORWARD ACCEPT
        iptables -P OUTPUT ACCEPT

        log_end_msg 0
    ;;
esac

exit 0

Ostatnio edytowany przez gumis (2011-06-18 01:26:43)

Offline

 

#2  2011-06-18 10:36:58

  bobycob - Członek z Ramienia

bobycob
Członek z Ramienia
Skąd: Wrocław
Zarejestrowany: 2007-08-15

Re: Prośba o sprawdzenie skryptu iptables

Zakładam, że o takim detalu jak włączenie forwardowania pakietów pamiętałeś ;).

Ilu adminów tyle firewali na linuksie i każdy ma swoje podejście do tematu.
Uważam, że firewall na routerze powinien być możliwie mało restrykcyjny. Po co np uwalać pakiety przychodzące (INPUT) na interfejsie LAN? Jest to strefa zaufana więc po co sobie życie utrudniać.


natomiat to jest dla mnie zagadka

Kod:

        iptables -A FORWARD -p tcp --dport 25 -j ULOG --prefix-ulog SPAM
        iptables -A FORWARD -p tcp --dport 25 -j DROP

tzn nie masz zamiaru poczty wysyłać?
Zamiast logować każdy pakiet użyj modułu limit. Możesz wtedy np przepuścić pierwsze 10 połączeń a każde następne uwalać - w końcu nikt normalny więcej nie wysyła.

Offline

 

#3  2011-06-18 22:47:08

  gumis - Nowy użytkownik

gumis
Nowy użytkownik
Zarejestrowany: 2011-06-17

Re: Prośba o sprawdzenie skryptu iptables

[quote=bobycob]Zakładam, że o takim detalu jak włączenie forwardowania pakietów pamiętałeś ;).[/quote]
Mam ustawione net.ipv4.ip_forward=1 w sysctl.conf jeśli to masz na myśli.

[quote=bobycob]tzn nie masz zamiaru poczty wysyłać?[/quote]
Teraz to chyba wszystkie serwery nasłuchują też na porcie 587, więc sobie zmienią port :)

Offline

 

#4  2014-07-15 14:44:02

  macios4x - Użytkownik

macios4x
Użytkownik
Zarejestrowany: 2012-12-10

Re: Prośba o sprawdzenie skryptu iptables

Odkopie temat żeby nie zakładać tego samego tytułu który i tak się powtarza z prośbą o sprawdzenie i ewentualne sugestie z naciskiem na bezpieczeństwo i anty-szpiegowanie:

Kod:

sudo iptables -F ;
sudo iptables -X;
sudo iptables -F -t nat;
sudo iptables -X -t nat;
sudo iptables -F -t filter;
sudo iptables -X -t filter;
sudo iptables -P INPUT DROP;
sudo iptables -P FORWARD DROP;
sudo iptables -P OUTPUT DROP;
sudo iptables -A INPUT -i lo -j ACCEPT;
sudo iptables -A INPUT -m state --state INVALID -j DROP;
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT;
sudo iptables -A INPUT -p tcp -i eth0 -j REJECT --reject-with tcp-reset;
sudo iptables -A INPUT -p udp -i eth0 -j REJECT --reject-with icmp-port-unreachable;
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT --reject-with icmp-host-unreachable;
sudo iptables -A INPUT -s 127.0.0.1 -j ACCEPT;
sudo iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j LOG --log-prefix "ACK scan: ";
sudo iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j DROP; # Metoda ACK (nmap -sA)
sudo iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j LOG --log-prefix "FIN scan: ";
sudo iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP; # Skanowanie FIN (nmap -sF)
sudo iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH PSH -j LOG --log-prefix "Xmas scan: ";
sudo iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN,URG,PSH -j DROP; # Metoda Xmas Tree (nmap -sX)
sudo iptables -A INPUT -m conntrack --ctstate INVALID -p tcp ! --tcp-flags SYN,RST,ACK,FIN,PSH,URG SYN,RST,ACK,FIN,PSH,URG -j LOG --log-prefix "Null scan: ";
sudo iptables -A INPUT -m conntrack --ctstate INVALID -p tcp ! --tcp-flags SYN,RST,ACK,FIN,PSH,URG SYN,RST;
sudo iptables -N syn-flood;
sudo iptables -A INPUT -p tcp --syn -j syn-flood;
sudo iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN;
sudo iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j LOG --log-prefix "SYN-flood: ";
sudo iptables -A syn-flood -j DROP;
sudo iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j LOG --log-prefix "Ping: ";
sudo iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT; # Ping of death
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT --reject-with icmp-host-unreachable;
sudo iptables -A OUTPUT -p tcp --dport telnet -j REJECT;
sudo iptables -A INPUT -p tcp --dport telnet -j REJECT;
sudo iptables -A FORWARD -m state --state INVALID -j DROP;
sudo iptables -A OUTPUT -m state --state INVALID -j DROP;
sudo iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT;
sudo iptables -A OUTPUT -p tcp -m multiport --dports 20,80,443 --syn -m state --state NEW -j ACCEPT;
sudo iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT;
sudo iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT;;

Zwolennik Open Source, użytkownik Arch, Debian

Offline

 

#5  2014-07-15 17:09:22

  ramsi1986 - Użytkownik

ramsi1986
Użytkownik
Skąd: Oldschool Admin
Zarejestrowany: 2011-04-17

Re: Prośba o sprawdzenie skryptu iptables

wywalił bym tę linię:

[quote=macios4x]

Kod:

sudo iptables -A INPUT -s 127.0.0.1 -j ACCEPT;

[/quote]
zasadniczo loopback masz otwarty tym:
[quote=macios4x]

Kod:

sudo iptables -A INPUT -i lo -j ACCEPT;

[/quote]
a podając konkretny IPek bez interfejsu ktoś może podrobić pakiety


Laptop: Lenovo R400 / Intel Core2Duo P8400 2,26 Ghz / 4GB RAM / 160GB SATA3 / Debian SID
Blacha: Intel Core i7-3820 / 32GB RAM / 128GB SSD / 500GB SATA3 7200RPM / Win 7

NIE OSZUKUJMY SIĘ... DEBIAN MA TYLKO JEDNĄ WERSJĘ ==> UNSTABLE (SID)

Offline

 

#6  2014-07-15 20:23:30

  macios4x - Użytkownik

macios4x
Użytkownik
Zarejestrowany: 2012-12-10

Re: Prośba o sprawdzenie skryptu iptables

a podając konkretny IPek bez interfejsu ktoś może podrobić pakiety[/quote]
co masz konkretnie na myśli? co jest nie tak?


Zwolennik Open Source, użytkownik Arch, Debian

Offline

 

#7  2014-07-15 20:38:01

  morfik - Cenzor wirtualnego świata

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

Re: Prośba o sprawdzenie skryptu iptables

Trochę ssie ten fw. xD

Kod:

sudo iptables -A INPUT -p tcp -i eth0 -j REJECT --reject-with tcp-reset;
sudo iptables -A INPUT -p udp -i eth0 -j REJECT --reject-with icmp-port-unreachable;

Przecie to ci zrzuci wszystkie połączenia NEW z automatu. i wszstkie inne reguły odnoszące się do otwierania portów nie mają sensu.

Dalej, tam masz te regułki od skanów, je można zastąpić jedną:

Kod:

iptables -t filter -A INPUT -p tcp ! --syn -m conntrack --ctstate NEW -j DROP -m comment --comment "Connections not started by SYN"

Czyli wszystkie połączenia w stanie NEW nie mające flagi SYN. Ta powyższa regułka + zrzucanie INVALID powinno wystarczyć, nie wiem czy coś extra jeszcze trzeba.

Zamiast się bawić w ten synflod w iptables, to sobie zaprzęgnij kernelowski mechanizm od ciastek, z grubsza to by było:

Kod:

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 128
net.core.somaxconn = 128

w sysctl i limituj połączenia bezpośrednio na portach jeśli już potrzebujesz. Jak coś przeczytaj sobie ten mój sysctl, może coś dopiszesz sobie i znajdziesz bugi. xD Tutaj masz linka https://github.com/morfikov/sysctl.conf/blob/master/sysctl.conf

Z tego co tam kiedyś czytałem, wszystkie nowe systemy operacyjne są odporne na ten ping of death i nie ma sensu robić reguł pod to.

Przy ftpie brakuje ci jeszcze portu 21, samo 20 nie wystarcza.

Poza tym to "ja tam widzę niezły burdel". xD

Offline

 

#8  2014-07-15 20:45:58

  Jacekalex - Podobno człowiek...;)

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

Re: Prośba o sprawdzenie skryptu iptables

Gdzieś tego skrypta wytargał?

Jeśli ktoś Ci go doradził, to daj mu w pysk, a jak zapyta, za co, to popraw z drugiej strony, żeby równo puchło.

Najpierw otwierasz kilka czy kilkanaście portów, a potem dajesz domyślną politykę na ACCEPT?

Jeśli chcesz w wszystko na ACCEPT, to po co w ogóle jakiś Firewall?


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

Offline

 

#9  2014-07-15 20:58:01

  morfik - Cenzor wirtualnego świata

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

Re: Prośba o sprawdzenie skryptu iptables

Gdzie ty tam masz domyślną politykę na accept? xD

Offline

 

#10  2014-07-15 21:04:19

  ramsi1986 - Użytkownik

ramsi1986
Użytkownik
Skąd: Oldschool Admin
Zarejestrowany: 2011-04-17

Re: Prośba o sprawdzenie skryptu iptables

@morfik
[quote=morfik]Gdzie ty tam masz domyślną politykę na accept? xD[/quote]
na zły skrypt spojrzał, w pierwszym poscie, skrypt na końcu ma zmiane polityk domyślnych na ACCEPT

Ostatnio edytowany przez ramsi1986 (2014-07-15 21:06:55)


Laptop: Lenovo R400 / Intel Core2Duo P8400 2,26 Ghz / 4GB RAM / 160GB SATA3 / Debian SID
Blacha: Intel Core i7-3820 / 32GB RAM / 128GB SSD / 500GB SATA3 7200RPM / Win 7

NIE OSZUKUJMY SIĘ... DEBIAN MA TYLKO JEDNĄ WERSJĘ ==> UNSTABLE (SID)

Offline

 

#11  2014-07-15 21:22:02

  morfik - Cenzor wirtualnego świata

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

Re: Prośba o sprawdzenie skryptu iptables

Fakt, nie sądziłem, że ktoś czyta posty sprzed paru lat. xD

Offline

 

#12  2014-07-15 21:22:26

  Jacekalex - Podobno człowiek...;)

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

Re: Prośba o sprawdzenie skryptu iptables

[quote=morfik]Gdzie ty tam masz domyślną politykę na accept? xD[/quote]
Zmień okulistę:

Kod:

....
        # Ustawienie domyslnej polityki
        iptables -P INPUT ACCEPT
        iptables -P FORWARD ACCEPT
        iptables -P OUTPUT ACCEPT

        log_end_msg 0

[/quote]


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

Offline

 

#13  2014-07-15 21:34:51

  morfik - Cenzor wirtualnego świata

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

Re: Prośba o sprawdzenie skryptu iptables

E... i to ja powinienem zmienić? xD

Offline

 

#14  2014-07-15 22:14:46

  ramsi1986 - Użytkownik

ramsi1986
Użytkownik
Skąd: Oldschool Admin
Zarejestrowany: 2011-04-17

Re: Prośba o sprawdzenie skryptu iptables

@Jacekalex,
ale i tak źle doczytałeś, tam zmieniają się domyślne polityki na ACCEPT tylko jak odpalisz skrypt z opcją "stop"


Laptop: Lenovo R400 / Intel Core2Duo P8400 2,26 Ghz / 4GB RAM / 160GB SATA3 / Debian SID
Blacha: Intel Core i7-3820 / 32GB RAM / 128GB SSD / 500GB SATA3 7200RPM / Win 7

NIE OSZUKUJMY SIĘ... DEBIAN MA TYLKO JEDNĄ WERSJĘ ==> UNSTABLE (SID)

Offline

 

#15  2014-07-16 00:56:53

  Jacekalex - Podobno człowiek...;)

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

Re: Prośba o sprawdzenie skryptu iptables

Faktycznie nie doczytałem. ;)

jedna uwaga:
Robienie takich skryptów do inita, to idiotyzm totalny.

Do iptables robi się przykładowo tak:

Kod:

start {
/sbin/iptables-restore < /var/lib/iptables/saved.rules
}

stop {
/sbin/iptables-save > /var/lib/iptables/saved.rule
}

Wtedy przy zatrzymaniu systemu zapisuje aktywne reguły do pliku, przy uruchamianiu odtwarza reguły.
W Debianie to można ustawić w [b]/etc/network/interfaces[/b] funkcjami pre-up  i if-post-down.

I przy okazji, nigdy nie należy otwierać firewalla, w przypadku kłopotów, bo to może jeszcze powiększyć kłopoty, wystarczy wiedzieć, co się robi w systemie. :D

Tutaj macie listę amatorów (z ostatnich kilku godzin), polujących na każdego   lamera, który w przypadku problemu otworzył FW na oścież:

Kod:

177.20.146.11 timeout 361
60.13.188.190 timeout 76731
61.174.51.219 timeout 2652
104.151.13.143 timeout 65215
116.10.191.218 timeout 81997
216.99.152.14 timeout 1697
125.46.54.253 timeout 648
104.151.13.137 timeout 1186

To by było na tyle
;-)

Ostatnio edytowany przez Jacekalex (2014-07-16 01:16:00)


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

Offline

 

#16  2014-07-16 09:15:17

  morfik - Cenzor wirtualnego świata

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

Re: Prośba o sprawdzenie skryptu iptables

Wtedy przy zatrzymaniu systemu zapisuje aktywne reguły do pliku, przy uruchamianiu odtwarza reguły.[/quote]
Co za różnica czy ktoś sobie będzie dodawał regułki przez terminal czy przez skrypt? Ja korzystam ze skryptu ale ja poza iptables to mam tam sporo innych rzeczy — wolę mieć wszystko w jednym miejscu. Problem z tym zapisywaniem regułek jest taki, że nie idzie komentować nic, w sensie wyłączać coś na krótko by sprawdzić jak się coś zachowa, lub trzymać pewne reguły "na później", lub zwyczajnie tworzyć sobie wzory reguł, z których np. się nie korzysta, a mogą okazać się kiedyś tam w przyszłości użyteczne. Ja mam szereg rzeczy wykomentowanych by mieć je pod ręką i nie szukać znów godzinę na necie, mam krótkie przykłady i potrafię z nich zrobić rozsądne reguły, chyba. xD

Mój skrypcio zaczyna się od:

Kod:

### BEGIN INIT INFO
# Provides:          morfinetwork
# Required-Start:    mountkernfs $local_fs
# Required-Stop:     $local_fs
# Should-Start:      
# Should-Stop:       
# Default-Start:     S
# Default-Stop:      0 6
# X-Start-Before:    
# X-Stop-After:      
# Short-Description: configuration for iptables, peerguardian, tc and sysctl
# Description:       configuration for iptables, peerguardian, tc and sysctl
### END INIT INFO

No i w tym debianowym skrypcie sieciowym mam:

Kod:

### BEGIN INIT INFO
# Provides:          networking ifupdown
# Required-Start:    mountkernfs $local_fs urandom
# Required-Stop:     $local_fs
# Should-Start:      peerblock iptables-persistent ifb morfinetwork
# Should-Stop:       peerblock iptables-persistent ifb morfinetwork
# Default-Start:     S
# Default-Stop:      0 6
# Short-Description: Raise network interfaces.
# Description:       Prepare /run/network directory, ifstate file and raise network interfaces, or take them down.
### END INIT INFO

Dzięki czemu wszystko jest ustawiane przed podniesieniem interfejsów. No i cały skrypt ma prawie 600 linijek póki co. xD

Offline

 

#17  2014-07-16 10:55:25

  macios4x - Użytkownik

macios4x
Użytkownik
Zarejestrowany: 2012-12-10

Re: Prośba o sprawdzenie skryptu iptables

Z kilku źródeł ten skrypt, m.in. stąd:
http://sekurak.pl/iptablespsad-jako-zaawansowany-system-wykrywania-wlaman/
wszystkich stron już nie pamiętam ale z kilku tych źródeł próbowałem coś "zlepić" z lepszym lub gorszsym skutkiem
Co zatem zmienić konkretnie w tym skrypcie aby wszystko grało? co usunąć, co zmienić?


Zwolennik Open Source, użytkownik Arch, Debian

Offline

 

#18  2014-07-16 14:21:22

  morfik - Cenzor wirtualnego świata

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

Re: Prośba o sprawdzenie skryptu iptables

Co zmienić? Wrzucę może kawałek mojego filtra, to sobie popatrz na regułki i góglaj, bo to tak się zbytnio nie da operować bez jakiejś wiedzy o iptables.

Tutaj masz projekt mojego filtra: http://pastebin.com/AB8xmWMW -- zbieżność adresów i portów przypadkowa. xD Pousuwałem też zbędne, wykomentowane reguły by było czytelniej trochę. Ja rozbijam strukturę filtra na szereg jednostek by nie wsadzać reguł do iptables jedna pod drogą, bo to niezbyt efektywne. Zamiast tego mam szereg stworzonych łańcuchów i są one wywoływane w określonych miejscach.

Analizuj sobie te linijki i czytaj makulaturę:
http://www.iptables.info/
https://wiki.archlinux.org/index.php/simple_stateful_firewall

Jakby ktoś miał jakieś sugestie do tego projektu, to niech pisze, przebadam all. xD

Offline

 

Stopka forum

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

[ Generated in 0.011 seconds, 12 queries executed ]

Informacje debugowania

Time (s) Query
0.00012 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00104 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.15.186.78' WHERE u.id=1
0.00063 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.15.186.78', 1732825851)
0.00048 SELECT * FROM punbb_online WHERE logged<1732825551
0.00090 DELETE FROM punbb_online WHERE ident='3.12.154.133'
0.00052 SELECT topic_id FROM punbb_posts WHERE id=271590
0.00007 SELECT id FROM punbb_posts WHERE topic_id=19194 ORDER BY posted
0.00062 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=19194 AND t.moved_to IS NULL
0.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00219 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=19194 ORDER BY p.id LIMIT 0,25
0.00092 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=19194
Total query time: 0.00758 s