Witam, potrzebuje prostego skryptu firewall bez urozmaicen na system debian, ktory zablokuje wszystkie porty z zewnatrz z wyjatkiem portu ssh (22) ktory ma byc otwarty, potrzebny jest on do testow, a nie mam pojecia jak go napisac. To ma byc króciutki i prosty skrypt, znalazlem kilka w internecie ale sa skomplikowane i nie moge sie w nich odnalezc
Z gory dziekuje za pomoc
SKRYPT: Firewall z portem ssh [debian]
- LordRuthwen
- Moderator
- Posty: 2341
- Rejestracja: 18 września 2009, 21:45
- Lokalizacja: klikash?
http://zsk.wsti.pl/publikacje/iptables_przystepnie.htm
https://wiki.debian.org/iptables
https://help.ubuntu.com/community/IptablesHowTo
A ssh nie działa na 21 porcie.
Pochwal się swoimi próbami, powiemy ci co masz źle, gotowca nie dostaniesz, bo to są podstawy podstaw.
https://wiki.debian.org/iptables
https://help.ubuntu.com/community/IptablesHowTo
A ssh nie działa na 21 porcie.
Pochwal się swoimi próbami, powiemy ci co masz źle, gotowca nie dostaniesz, bo to są podstawy podstaw.
Ok, sprobowalbym ale w ogole tego nie ogarniam
Tak musi byc skonfigurowany ten skrypt:
wychodzace - dozwolone wszystkie
wchodzace - wszystkie zabronione procz portu ssh
SKRYPT (co mam tutaj poprawic aby dzialal tak jak nalezy):
tutaj w innym wygladzie:
http://wklej.org/id/1333277/
Tak musi byc skonfigurowany ten skrypt:
wychodzace - dozwolone wszystkie
wchodzace - wszystkie zabronione procz portu ssh
SKRYPT (co mam tutaj poprawic aby dzialal tak jak nalezy):
Kod: Zaznacz cały
#!/bin/bash ### BEGIN INIT INFO # Provides: firewall.sh # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO # CZYSZCZENIE STARYCH REGUŁ iptables -F iptables -X iptables -F -t nat iptables -X -t nat iptables -F -t filter iptables -X -t filter # USTAWIENIE POLITYKI DZIAŁANIA iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT --reject-with icmp-host-unreachable # OCHRONA PRZED SKANOWANIEM ACK SCAN iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j LOG --log-prefix "ACK scan: " iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j DROP # Metoda ACK (nmap -sA) #OCHRONA PRZED SKANOWANIEM FIN SCAN iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j LOG --log-prefix "FIN scan: " iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP # Skanowanie FIN (nmap -sF) #OCHRONA PRZED SKANOWANIEM XMAS TREE SCAN iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH PSH -j LOG --log-prefix "Xmas scan: " 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) #OCHRONA PRZED SKANOWANIEM NULL SCAN 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: " #OCHRONA PRZED ATAKIEM Dos iptables -A INPUT -m conntrack --ctstate INVALID -p tcp ! --tcp-flags SYN,RST,ACK,FIN,PSH,URG SYN,RST 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 -m limit --limit 1/s --limit-burst 4 -j LOG --log-prefix "SYN-flood: " iptables -A syn-flood -j DROP # OCHRONA PRZED ATAKIEM PING OF DEATH iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j LOG --log-prefix "Ping: " iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT # Ping of death # ZABLOKOWANIE PINGOWANIA iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT --reject-with icmp-host-unreachable # BLOKOWANIE TELNETU iptables -A OUTPUT -p tcp --dport telnet -j REJECT iptables -A INPUT -p tcp --dport telnet -j REJECT #ZAPIS DO LOGA ODRZUCONYCH PAKIETÓW PRZYCHODZĄCYCH W KATALOGU var/log/messages iptables -N LOGGING iptables -A INPUT -j LOGGING iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4 iptables -A LOGGING -j DROP
http://wklej.org/id/1333277/
- LordRuthwen
- Moderator
- Posty: 2341
- Rejestracja: 18 września 2009, 21:45
- Lokalizacja: klikash?
Poczytaj co ci podesłałem, to co chcesz osiągnąć to jest zaledwie 5 linijek (całość) wraz z czyszczeniem tablic przy przeładowaniu skryptu.
To co wkleiłeś blokuje Ci cały ruch, ale nie wpuszcza nigdzie ssh, zobacz jak skonstruowane są reguły, np dla telneta i zrób analogicznie dla ssh tylko z zezwoleniem.
To co wkleiłeś blokuje Ci cały ruch, ale nie wpuszcza nigdzie ssh, zobacz jak skonstruowane są reguły, np dla telneta i zrób analogicznie dla ssh tylko z zezwoleniem.
CEL:
Napisz prosty skrypt firewalla wykorzystując terminal i edytor np. nano (lub podobny inny np. notatnik).
Skrypt firewalla będzie pełnił następujące funkcje:
- wszystkie połączenia wychodzące - DOZWOLONE, za wyjątkiem portu 135, 137 i 139.
- połączenia wchodzące - ZABRONIONE za wyjątkiem portów: 22, 80 i 443.
UWAGA! Host posiada tylko jedną kartę fizyczną - eth0
MOJ SKRYPT:
Napisz prosty skrypt firewalla wykorzystując terminal i edytor np. nano (lub podobny inny np. notatnik).
Skrypt firewalla będzie pełnił następujące funkcje:
- wszystkie połączenia wychodzące - DOZWOLONE, za wyjątkiem portu 135, 137 i 139.
- połączenia wchodzące - ZABRONIONE za wyjątkiem portów: 22, 80 i 443.
UWAGA! Host posiada tylko jedną kartę fizyczną - eth0
MOJ SKRYPT:
tak to miało wygladac?#POLACZENIA WCHODZACE
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT
#POLACZENIA WYCHODZACE
/sbin/iptables -A OUTPUT -i eth0 -p tcp --dport 135 -j ACCEPT
/sbin/iptables -A OUTPUT -i eth0 -p tcp --dport 137 -j ACCEPT
/sbin/iptables -A OUTPUT -i eth0 -p tcp --dport 139 -j ACCEPT
#LISTA
/sbin/iptables -A INPUT -i eth0 -m state --state ESTABILISHED;RELATED -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -j REJECT
- LordRuthwen
- Moderator
- Posty: 2341
- Rejestracja: 18 września 2009, 21:45
- Lokalizacja: klikash?
Zamiast ostatniej linijki zastosowałbym domyślną politykę (na początku pliku):
to spowoduje, że pakiety, które nie zostaną zaakceptowane w wyniku działania którejś z reguł są odrzucane.
a na samym początku dodaj jeszcze linijkę:
Bo będziesz dublował wpisy (czyści tablicę).
Kod: Zaznacz cały
iptables -P INPUT DROP
iptables -P OUTPUT DROP
a na samym początku dodaj jeszcze linijkę:
Kod: Zaznacz cały
iptables -F