Strona 1 z 1

[+] Iptables - połączenie regułek w całość nie działa

: 28 marca 2009, 19:01
autor: z3d
Witam wszystkich,
napisałem dzisiaj skrypt iptables wzorując się na poznajdowanych w sieci.
Wygląda mniej więcej tak:

Kod: Zaznacz cały

#!/bin/bash

#
# USTAWIENIA POCZATKOWE
#
# PRZYPISANIE ZMIENNEJ ORAZ SCIEZKA DO PLIKU
IPT="/sbin/iptables"
# PRZYPISANIE ZMIENNEJ ORAZ SCIEZKA DO PROGRAMU ECHO

ECHO="/bin/echo"

echo "KONFIGUROWANIE ZAPORY SIECIOWEJ ROZPOCZETE" 

# CZYSZCZENIE £ANCUCHOW Z POPRZEDNICH REGUL
$IPT -t filter -F INPUT

$IPT -F FORWARD

$IPT -F OUTPUT


### BEZPIECZENSTWO

# WLACZONE ZOSTAJE IGNOROWANIE PAKIETOW ICMP - SMURF PRZECIAZENIE LACZA
$ECHO 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

$ECHO 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 

# BRAK AKCEPTACJI ICMP REDIRECT – ZMIANA TABLIC ROUTINGU

$ECHO 0 > /proc/sys/net/ipv4/conf/all/accept_redirects


# BRAK REAKCJI NA FALSZYWE KOMUNIKATY O BLEDACH

$ECHO 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses


# BRAK AKCEPTACJI PAKIETOW  SOURCE ROUTE – ZMIANA TABLIC ROUTINGU

$ECHO 0 > /proc/sys/net/ipv4/conf/all/accept_source_route



# WLACZENIE OCHRONY PRZED SPOOFINGIEM – PODSZYWANIE SIE POD INNE PAKIETY
$ECHO 1 > /proc/sys/net/ipv4/conf/all/rp_filter


# WLACZENIE OCHRONY PRZED SYN COOKIES
$ECHO 1 >/proc/sys/net/ipv4/tcp_syncookies


# LOGOWANIE W/W PAKIETOW 

$ECHO 1 > /proc/sys/net/ipv4/conf/all/log_martians

# USTAWIENIE DOMYSLNEJ POLITYKI
$IPT -P INPUT DROP

$IPT -P FORWARD DROP

$IPT -P OUTPUT ACCEPT


# ODZUCENIE PAKIETOW Z BLEDNIE USTAWIONYMI FLAGAMI – SKANOWANIE NMAP
$IPT -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

$IPT -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

$IPT -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

$IPT -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP

$IPT -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP

$IPT -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP

$IPT -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP


# LOGOWANIE RUCHU / PRZYKLADOWA ILOSC LOGOW NA GODZINE
$IPT -A INPUT -j LOG -m limit --limit 15/hour 
$IPT -A OUTPUT -j LOG -m limit --limit 15/hour

$IPT -A FORWARD -j LOG -m limit --limit 15/hour

### POLACZENIA  

# SWOBODNY PRZEPLYW INFORMACJI NA INTERFEJSIE LOKALNYM

$IPT -A INPUT -i lo -j ACCEPT

$IPT -A OUTPUT -o lo -j ACCEPT

# NAWIAZANE POLACZENIA
$IPT -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

$IPT -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED 

#LOGOWANIE NA SSH Z WYBRANEGO IP
$IPT -A INPUT -p tcp -s 192.168.1.103 --dport 22 -m state --state NEW -j ACCEPT

# OTWARCIE PORTOW DLA USLUG HTTP 
$IPT -A INPUT -p tcp --dport 80 -j ACCEPT

$IPT -A INPUT -p udp --dport 80 -j ACCEPT


# OTWARCIE PORTU DLA USLUGI HTTPS
$IPT -A INPUT -p tcp --dport 443 -j ACCEPT

$IPT -A INPUT -p udp --dport 443 -j ACCEPT

# KASOWANIE ZMIENNYCH
unset IPT ECHO
Siedziałem nad tym cały dzień, przed chwilą testowałem i klapa.
W konsoli dostaję informację że:

Kod: Zaznacz cały

3d-debian:/home/z3d/Desktop# sh zapora.sh
KONFIGUROWANIE ZAPORY SIECIOWEJ ROZPOCZETE
iptables: No chain/target/match by that name
iptables: No chain/target/match by that name
iptables: No chain/target/match by that name
: Nie ma takiego pliku ani katalogupv4/icmp_echo_ignore_broadcasts
: Nie ma takiego pliku ani katalogupv4/conf/all/accept_redirects
: Nie ma takiego pliku ani katalogupv4/icmp_ignore_bogus_error_responses
: Nie ma takiego pliku ani katalogupv4/conf/all/accept_source_route
: command not found 
: Nie ma takiego pliku ani katalogupv4/conf/all/rp_filter
: Nie ma takiego pliku ani katalogupv4/tcp_syncookies
iptables: Bad policy name
iptables: Bad policy name
iptables: Bad policy name
'ptables v1.4.1.1: Invalid target name `DROP
Try `iptables -h' or 'iptables --help' for more information.
'ptables v1.4.1.1: Invalid target name `DROP
Try `iptables -h' or 'iptables --help' for more information.
'ptables v1.4.1.1: Invalid target name `DROP
Try `iptables -h' or 'iptables --help' for more information.
'ptables v1.4.1.1: Invalid target name `DROP
Try `iptables -h' or 'iptables --help' for more information.
'ptables v1.4.1.1: Invalid target name `DROP
Try `iptables -h' or 'iptables --help' for more information.
'ptables v1.4.1.1: Invalid target name `DROP
Try `iptables -h' or 'iptables --help' for more information.
'ptables v1.4.1.1: Invalid target name `DROP
Try `iptables -h' or 'iptables --help' for more information.
'ptables v1.4.1.1: bad rate `15/hour
Try `iptables -h' or 'iptables --help' for more information.
'ptables v1.4.1.1: Invalid target name `ACCEPT
Try `iptables -h' or 'iptables --help' for more information.
'ptables v1.4.1.1: Bad state `RELATED
Try `iptables -h' or 'iptables --help' for more information.
'ptables v1.4.1.1: Invalid target name `ACCEPT
Try `iptables -h' or 'iptables --help' for more information.
'ptables v1.4.1.1: Invalid target name `ACCEPT
Try `iptables -h' or 'iptables --help' for more information.
'ptables v1.4.1.1: Invalid target name `ACCEPT
Try `iptables -h' or 'iptables --help' for more information.
Ręce mi opadły ponieważ potrzebuję to na poniedziałek mieć gotowe.
Co może być przyczyną takiego stanu rzeczy, tym bardziej że reguły wpisywane kolejno w konsoli działają.
Moje jajko to 2.6.22-3-686, a iptables v1.4.2.
Skrypt zapisałem w pliku zapora.sh i nadałem jej prawa do uruchomienia.
Bardzo proszę o pomoc.

Edit:
Więc tak, nie wiem jakim cudem, ale przy kopiowaniu przez scp w mc do każdej linii dodało mi znaczek na jej końcu, który mylił iptables. Już wszystko działa jak ta lala.
Konfig działa super, polecam.