PLD Linux Forum Strona Główna PLD Linux Forum
Oficjalne forum dystrybucji PLD Linux

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj

Poprzedni temat «» Następny temat
problem z zaporą
Autor Wiadomość
WandaMcBride 

Distro: PLD 1.0;2.0;3.0
Dołączyła: 09 Gru 2020
Posty: 1
Wysłany: 10 Grudzień 2020, 08:53   problem z zaporą

Witam,
Ponizej firewall z jednej z maszyn, która obsługuje dużą sieć WiFi. Firewall działa,
ale jest w nim jakaś sprzeczność, której nie moge odszukać.
Nie mogę zablokować dostępu komputerowi: 192.168.1.254 po porcie 80 do statystyk lstata. Chciałbym mieć sytuację, aby dostęp był tylko dla okreslonego adresu IP.
Tymczasem jest odwrotnie:
wszyscy mają, a ja mogę wybranemu adresowi IP zabronic dostępu (jak accept zamienię na drop). Jak to przebudować ?
Ponadto może ktos zauwazy, że niektóre wpisy są niepotrzebne, zbędne lub sprzeczne.
blender
Dziekuję za podpowiedź. Konstruktywna krytyka mile widziana
dgpx



# !/bin/bash

case "$1" in
start)
echo "Startuje Firewall"
iptables -F
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -X

#ustawienie domyslnej polityki, blokujemy wszystko
iptables -P INPUT DROP
iptables -P FORWARD DROP

#Limit polaczen
iptables -I FORWARD -p tcp --syn -s '192.168.1.0/24' -m connlimit --connlimit-above 30 -j REJECT --reject-with tcp-reset
iptables -I FORWARD -p tcp --syn -d '192.168.1.0/24' -m connlimit --connlimit-above 30 -j REJECT --reject-with tcp-reset

#odblokowanie loopback - przepuszczamy wszystkie pakiety generowane lokalnie
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# zezwolenie na polaczenia nawiazane i powiazane
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -j ACCEPT
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

#zezwolenie na polaczenie SSH do serwera z okreslonego adresu IP publicznego
iptables -A INPUT -p tcp -m state --state NEW --source a.b.c.d --dport 1034 -j ACCEPT

#odrzuca polaczenia z pozostalych adresow
iptables -A INPUT -p tcp --dport 1222 -j DROP

#zezwolenie na poleaczenie HTTP do serwera z wybranych adresow IP
iptables -A INPUT -p tcp -s 192.168.1.254 --dport 80 -j ACCEPT
(to nie działa, jak dam DROP to blokuję dostęp)

#zezwolenie na pingowanie serwera
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

#odrzucenie polaczenia na port 113
iptables -A INPUT -p tcp --dport 113 -j REJECT --reject-with icmp-port-unreachable

#odrzucanie pakietow z puli adresow nierutowalnych na eth0
iptables -A FORWARD -s '192.168.1.0/24' -i eth0 -j DROP

iptables -t nat -A PREROUTING -d a.b.c.d -j DNAT --to 192.168.1.35
iptables -t nat -A POSTROUTING -s 192.168.1.35 -j SNAT --to-source=a.b.c.d
(kilka wpisów o takiej składni)

#odblokowanie ruchu zwiazanego z DHCP
iptables -A INPUT -i eth1 -p tcp --dport 67 -j ACCEPT
iptables -A INPUT -i eth1 -p udp --dport 67 -j ACCEPT

#ustawienie TTL i przekierowania
iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-inc 5
iptables -t mangle -A POSTROUTING -o eth0 -j TTL --ttl-set 128

#usuwa zepsute pakiety
iptables -A INPUT -m state --state INVALID -j DROP

# ------------------ Zabezpieczenia ------------------

# Wlaczenie mechanizmu wykrywania oczywistych falszerstw
echo "1" >/proc/sys/net/ipv4/conf/all/rp_filter

# Ochrona przed atakiem typu Smurf
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Nie aktceptujemy pakietow "source route"
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route

# Nie przyjmujemy pakietow ICMP rediect, ktore moga zmienic tablice routingu
echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects

# Wlaczamy ochrone przed blednymi komunikatami ICMP error
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

# Wlacza logowanie dziwnych (spoofed, source routed, redirects) pakietow
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians

# Limitowanie sesji tcp
echo "30" > /proc/sys/net/ipv4/tcp_fin_timeout
echo "2400" > /proc/sys/net/ipv4/tcp_keepalive_time
echo "0" > /proc/sys/net/ipv4/tcp_window_scaling
echo "0" > /proc/sys/net/ipv4/tcp_sack
echo "20480" > /proc/sys/net/ipv4/ip_conntrack_max
echo "20" > /proc/sys/net/ipv4/ipfrag_time
echo "1280" > /proc/sys/net/ipv4/tcp_max_syn_backlog
echo "43200"> /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
echo "60" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_wait
echo "60" > /proc/sys/net/ipv4/netfilter/ip_conntrack_generic_timeout
echo "20" > /proc/sys/net/ipv4/netfilter/ip_conntrack_icmp_timeout
echo "1" > /proc/sys/net/ipv4/igmp_max_memberships
echo "5" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close
echo "20" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_fin_wait
echo "30" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_last_ack
echo "10240" > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
echo "40" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait
echo "30" > /proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout
echo "180" > /proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout_stream

# TCP timestamps protection
echo "1" > /proc/sys/net/ipv4/tcp_timestamps

# Ignore redirected packets
echo "0" > /proc/sys/net/ipv4/conf/all/send_redirects

# Uruchomienie przekazywania pakietow
# echo "1" > /proc/sys/net/ipv4/ip_forward

# Ochrona przed portscan - ograniczenie odpowiedzi na pakiety
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/S -j ACCEPT

# Ochrona przed Ping of death - nie ogranicza odpowiedzi na pingi
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

# Ochrona przed synflood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

# Ochrona przed skanowaniem portow Furtive
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST --match limit --limit 1/s --limit-burst 5 -j ACCEPT

# Ochrona przed skanowaniem SYN
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH SYN -j DROP

# Ochrona przed skanowaniem ACK
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j DROP

# Ochrona przed skanowaniem FIN
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP

# Ochrona przed skanowaniem Xmas
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN,URG,PSH -j DROP

# Ochrona przed skanowaniem Null
iptables -A INPUT -m conntrack --ctstate INVALID -p tcp --tcp-flags ! SYN,RST,ACK,FIN,URG,PSH,URG SYN,RST,ACK,FIN,PSH,URG -j DROP

#Ochrona przed virusami Saser,Blaster,MyDoom
iptables -A INPUT -i eth1 -p tcp --destination-port 135 -j DROP
iptables -A INPUT -i eth1 -p tcp --destination-port 139 -j DROP
iptables -A INPUT -i eth1 -p tcp --destination-port 445 -j DROP
iptables -A OUTPUT -o eth1 -p tcp --destination-port 135 -j DROP
iptables -A OUTPUT -o eth1 -p tcp --destination-port 139 -j DROP
iptables -A OUTPUT -o eth1 -p tcp --destination-port 445 -j DROP
iptables -A INPUT -p tcp --dport 1080 -j DROP
iptables -A OUTPUT -p tcp --dport 1080 -j DROP
iptables -A FORWARD -p tcp --dport 1080 -j DROP


#Logowanie
iptables -t mangle -I FORWARD -p tcp --syn -s 192.168.1.0/24 -j LOG

;;
stop)
echo "Firewall STOP"
#Czyszczenie tablic
iptables -F
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -X


;;
restart)
echo "Firewall RESTART"
$0 stop
$0 start
;;

*)
echo "usage $0 start|stop|restart"
exit 1
esac
exit 0
_________________
Alex Bois
  
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group