Skocz do zawartości
Zaloguj się, aby obserwować  
Emil

Konfiguracja iptables

Polecane posty

Witam,

chciałem firewalla pod serwer www do tego uzylem iptables.

 

Tworze plik iptables_start a w nim:

#!/bin/sh
##############################################################################

# Nazwa i lokalizacja programu
IPTABLES=iptables

# Sciezka do pliku wykonywlanego 
PATH="/usr/sbin"

# Adres serwera - naszego kompa

SERWER="78.00.0.0"

# Adres komputera z ktorego logujemy sie jako admin :)

KOMP="82.00.0.0"

# Przestrzen adresowa naszej sieci wewnetrzenej i karta ja obslugujace

WEW_NET="0/0"
WEW_DEV="eth0"

# Adres wyjsciowy - zewnetrzny i karta obslugujaca

ZEW_NET="0/0"   # 0/0 wskazuje jakikolwiek adres IP
ZEW_DEV="eth1"

# Uslugi TCP,ktore chcemy przepuszczac - "" puste oznacza wszystkie porty
# kolejne oddzielamy przecinkami  

TCP_IN="www,ssh,ftp-data,ftp"		   # 80,22,20,21 
TCP_OUT="www,ftp,ftp-data,irc,ssh"	  # 80,21,20, ,22

# Uslugi UDP,ktore przepuszczamy - "" puste oznacza wszytskie porty
# kolejne oddzielone przecinkami 

UDP_IN="443,465,995" 
UDP_OUT=""

# Uslugi ICMP, ktore chcemy przepuszczac - "" puste oznacza wszystkie typy
# kolejne oddzielone przecinkami

ICMP_IN=""
ICMP_OUT=""

# Usuwamy poprzednie regoly 

$IPTABLES -F INPUT
$IPTABLES -F FORWARD
$IPTABLES -F OUTPUT

# Ustawienie domyslnej polityki

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP


# Zapisujemy caly nasz ruch w logach 

$IPTABLES -A INPUT -j LOG -m limit --limit 15/hour # 15 logow na godzine
$IPTABLES -A OUTPUT -j LOG -m limit --limit 15/hour
$IPTABLES -A FORWARD -j LOG -m limit --limit 15/hour

# Ladujemy mozliwosc sledzenia polaczen

modprobe ip_conntarck
modprobe ip_conntarck_ftp

# Ochrona przed atakami typu Smurf

echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Wlaczamy ochrone przed komunikacja ICMP error

echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

# Wlacza logowanie dziwnych pakietow (spoofed. source routed. redirects) 

echo "1" > /proc/sys/net/ipv4/conf/all/log_martians 


$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT

# Pozwalamy na korzstanie z protokolow w trybie passive on

$IPTABLES -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT

#echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

#$IPTABLES -A INPUT -p tcp -s $KOMP -m multiport --dport $TCP_IN  -j ACCEPT # protokol tcp
#$IPTABLES -A INPUT -p udp -s $KOMP -m multiport --dport $UDP_IN -j ACCEPT # protokol udp

#$IPTABLES -A INPUT -p udp -s $KOMP --dport 137:139 -j ACCEPT # protokol udp

$IPTABLES -A INPUT -i $WEW_DEV -s $SERWER -j DROP 		# atak Land



$IPTABLES -A INPUT -s $KOMP -j ACCEPT

 

Następnie włączamy porty DNS i WWW:

 

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p udp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p icmp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP

 

 

Serwer SSH

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p udp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p icmp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP

 

 

 

FTP

 

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p udp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p udp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p icmp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP

 

Direct Admin

 

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
iptables -A INPUT -p tcp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p udp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p icmp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP

 

 

Czy to dobra konfiguracja? Może ktoś ma swoją i się podzieli?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×