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  2007-06-04 22:23:11

  chyl-o - Członek DUG

chyl-o
Członek DUG
Skąd: Lublin
Zarejestrowany: 2006-04-04
Serwis

Firewall na serwer

Chciałbym zapytać czy to co naskrobałem dzisiaj będzie nadawac się na serwer który udostępnia: www, imap, smtp, ftp, ssh, gadulca, czy może jeszcze powinienem coś uwzględnić ?

Kod:

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

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

modprobe ip_tables
modprobe ip_conntrack
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

iptables -F
iptables -X

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT


iptables -I INPUT -s 0/0 -d 0/0 -p tcp --dport 22 -j ACCEPT
iptables -I OUTPUT -s 0/0 -d 0/0 -p tcp --dport 22 -j ACCEPT

iptables -I INPUT -s 0/0 -d 0/0 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -p tcp --dport 53 -j ACCEPT
iptables -I INPUT -p udp --dport 53 -j ACCEPT

iptables -I INPUT -p tcp -s 0/0 -i eth0 --dport 21 -j ACCEPT

iptables -I INPUT -p tcp -s 0/0 --dport 25 -j ACCEPT
iptables -I INPUT -p tcp -s 0/0 --dport 143 -j ACCEPT

iptables -I INPUT -p tcp --dport 8074 -j ACCEPT

iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT

iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

iptables -I OUTPUT -s 0/0 -d 0/0 -p tcp --dport 80 -j ACCEPT
iptables -I OUTPUT -s 0/0 -d 0/0 -p tcp --dport 443 -j ACCEPT
iptables -I OUTPUT -s 0/0 -d 0/0 -p tcp --dport 53 -j ACCEPT
iptables -I OUTPUT -s 0/0 -d 0/0 -p udp --dport 53 -j ACCEPT

iptables -I OUTPUT -p tcp -s 0/0 -o eth0 --dport 21 -j ACCEPT

iptables -I OUTPUT -p tcp -s 0/0 -d 0/0 -o eth0 --dport 25 -j ACCEPT
iptables -I OUTPUT -p tcp -s 0/0 -d 0/0 -o eth0 --dport 143 -j ACCEPT
iptables -I OUTPUT -p tcp -s 0/0 -d 0/0 -o eth0 --dport 110 -j ACCEPT

iptables -I OUTPUT -p tcp --dport 8074 -j ACCEPT

iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

I czy ten firewall nie będzie robił problemów z dostępem z innych ip które są zdefiniowane jako aliasy na eth0 ? Na forum ktoś pisał o tym wcześniej że nie będzie problemów, ale przy okazji chciałem się upewnić.


Registered Linux User: #417111
http://chyl.org/pub/images/dug_button.png

Offline

 

#2  2007-06-04 22:29:06

  szewczyk - Stary wyjadacz :P

szewczyk
Stary wyjadacz :P
Zarejestrowany: 2006-12-03

Re: Firewall na serwer

dodałbym :

Kod:

    echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
    echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
    echo "0" > /proc/sys/net/ipv4/tcp_window_scaling
    echo "1" > /proc/sys/net/ipv4/tcp_timestamps
    echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses 
    echo "0" > /proc/sys/net/ipv4/conf/all/log_martians 
    echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter

SASER=135,136,137,138,139,146,445,593,1025

    iptables -A FORWARD -p tcp -m multiport --dport $SASER -j DROP
    iptables -A FORWARD -p udp -m multiport --dport $SASER -j DROP
    iptables -A FORWARD -p tcp -m multiport --sport $SASER -j DROP
    iptables -A FORWARD -p udp -m multiport --sport $SASER -j DROP

# Zabezpieczenie przed niewidocznemu skanowaniu dla eth0
#iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP 
# Zabezpieczenie przed atakami typu Jolt2
#iptables -A INPUT -f -j DROP
# Zabezpieczenie prez atakami typu DoS dla eth0
#iptables -N syn-flood 
#iptables -A INPUT -p tcp --syn -j syn-flood 
#iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN 
#iptables -A syn-flood -j DROP


# Zabezpieczenie przed powodzia pakietow SYN /ang. Syn-flood/
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
# Obrona przed skanerami portow szybko przemiatajacymi siec /furtive/
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
# Ping of Death 
#iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

# Ochrona przed roznymi atakami
#iptables -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "firewall: New not syn: "
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
#iptables  -A INPUT -p tcp --tcp-flags ALL NONE -j LOG --log-prefix "firewall: Stealth scan: "
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
#   iptables -A INPUT -p tcp --tcp-flags ALL ALL -j LOG --log-prefix "firewall: Stealth scan: "
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
#   iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j LOG --log-prefix "firewall: Stealth scan: "
iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
#   iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j LOG --log-prefix "firewall: Stealth scan: "
iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
#   iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j LOG --log-prefix "firewall: Stealth scan: "
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
#   iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j LOG --log-prefix "firewall: Stealth scan: "
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

# Blokowanie polaczen NEW z flaga inna niz syn
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
# Odrzucanie pakietow pofragmentowanych
iptables -A INPUT -f -j DROP
iptables -A FORWARD -f -j DROP
# Odrzucanie polaczen w stanie INVALID
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
# Automatyczne rozpoznawanie MTU 
iptables -A OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu            

# akceptowanie ping z interfeisu WAN
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 12/minute -j ACCEPT

zmieniłbym

Kod:

iptables -A INPUT -p tcp -s twoje_ip --dport 22(zmien port na inny np. 50022) -j ACCEPT

patch na kernel pax, gresecurite

osobne partycje dla www, smtp, ftp

:)

Offline

 

#3  2007-06-04 22:36:49

  chyl-o - Członek DUG

chyl-o
Członek DUG
Skąd: Lublin
Zarejestrowany: 2006-04-04
Serwis

Re: Firewall na serwer

iptables -A INPUT -p tcp -s twoje_ip --dport 22(zmien port na inny np. 50022) -j ACCEPT

czy w ssh_config bedę musiał przestawić Port na ten podany w firewallu ?

// edit:
Już sobie odpowiedziałem :)


Registered Linux User: #417111
http://chyl.org/pub/images/dug_button.png

Offline

 

Stopka forum

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