Firewall - gotowe skrypty Użytkowników

W tym miejscu zapraszamy Was do współpracy. Czekamy na propozycje, sugestie i rady.
Moderatorzy zatroszczą się o to, by najlepsze teksty trafiły do FAQ.

Moderatorzy: Moderatorzy, Administratorzy

Awatar użytkownika
fajnyFenix
Użytkownik
Posty: 80
Rejestracja: 2004-07-29, 00:19

Re: Firewall - gotowe skrypty Użytkowników

Post autor: fajnyFenix »

Zabrałem sie ostatnio za stworzenie firewalla, ktory mialby ochronić moją sieć przed sasserem, blasterem i innymi smieciami.
Przegladalem kilka gotowcow, poczytalem na roznych stronach i stworzylem to:
http://fenix.nsurf.org/linux/firewall
(nie wklejam kodu, bo wszystko stanie sie mniej czytelne)

Jako ze nie znam sie na iptables, chcialbym abyscie w wolnej chwili spojrzeli na mojego firewalla i powiedzieli co zmienic, co ewentualnie jest zle. Ogolnie wszelkie uwagi jakie nasuwają się wam po odwiedzeniu powyzszego linka.
Mysle ze bedzie to przydatne nie tylko dla mnie, ale skorzystac moze wiele, tak jak ja, poczatkujacych osób.

Zalozenia:
- server rozdziela Internet dla userow sieci;
- ma zabezpieczac ta siec przed blasterem, sasserem i w pryszlosci przed innymi badziewiami, ktore z pewnoscia kiedys sie pojawia;
- zadnych uruchomionych uslug, poza SSH na ktore logowac sie moze tylko user o okreslonym adresie IP oraz MAC.

Podczas pisania firewalla wykorzystalem linki, ktore podalem na poczatku skryptu oraz z googla (przy okazji ktore dzisiaj obchodzi 7 urodziny ;) )

Za wszelkie uwagi dziekuje :) Zapewne sie przydadzą :)

(PS Niektore linijki opatrzone znakami zapytania, zostaly uzyte poniewaz znalazlem je w gotowcach, ale nie zdarzylem doczytac do czego sluza)

Pozdrawiam Fnx

---
Troche tego duzo, ale mam nadzieje ze jest wystarczajaco czytelne
---
jorf
Użytkownik
Posty: 1
Rejestracja: 2005-10-21, 10:09

Re: Firewall - gotowe skrypty Użytkowników

Post autor: jorf »

Dotychczas używałem firewalla z tej strony - http://debian.one.pl/howto/iptables/iptables2-pl.html .
Mam problem z jego uruchomieniem w Slackware - zapisałem go jako rc.firewall przeniosłem do /etc/rc.d , potem chmod 755.
Podczas startu systemu dostaję komunikat rc.firewall: cannot execute binary file.
Wie ktoś o co chodzi ?
Awatar użytkownika
Blizzard
Użytkownik
Posty: 191
Rejestracja: 2005-06-12, 21:40

Re: Firewall - gotowe skrypty Użytkowników

Post autor: Blizzard »

prawdopodobnie masz na flage noexec w /etc/fstab na tej partycji co chcesz tenskrypt uruchomic
Awatar użytkownika
fajnyFenix
Użytkownik
Posty: 80
Rejestracja: 2004-07-29, 00:19

Re: Firewall - gotowe skrypty Użytkowników

Post autor: fajnyFenix »

/etc/rc.d i noexec?
vacapn
Użytkownik
Posty: 9
Rejestracja: 2006-05-31, 23:44
Lokalizacja: ,że znowu

Re: Firewall - gotowe skrypty Użytkowników

Post autor: vacapn »

Witam
Jestem tu nowy, ale właśnie tworze własnego firewalla w oparciu o ten temat i myślę, że to co zrobiłem może się komuś przydać.

Testowane na Slackware 10.2 , kernel 2.4.31 , iptables v1.3.5. Latki które nakładałem to :
patch-o-matic-ng-20050412 -> CONNMARK TTL connlimit iprange mport ipp2p time quake3-conntrack-nat psd pptp-conntrack-nat geoip CLASSIFY SAME addrtype comment nf-log realm HOPLIMIT IPV4OPTSSTRIP NETLINK NETMAP REJECT fuzzy ipv4options nth quota random set u32

oraz imq ( z opisu w FAQ ).

Linku do strony www ze wzgledów bezpieczeństwa nie zamieszcze, nie wiadomo co za bugi mam w firewallu :D

Kod: Zaznacz cały

#!/bin/bash

# vacPAN
# 
# rc.firewall , wersja 0.6 , 31.05.2006
# testowana dla neo+ 640/160kbit
# w sieci z 3 komputerami i serwerem
# na bazie opisow z forum.slackware.pl , wiedzy wlasnej i innych regulek
# ze stron ktorych adresow nie pamietam


# ścieżka do pliku iptables
IPT=/usr/local/sbin/iptables

# ścieżka do pliku modprobe
MOD=/sbin/modprobe

# interfejs zewnętrzny, od strony Internetu
INT_PUB="ppp0"

# interfejs wewnętrzny, od strony sieci LAN - tylko router filtrujący
INT_LAN="eth4"

# publiczny adres IP przypisany do INT_PUB (dla NEO+ jest dynamicznie
# przydzielane, zreszta nigdzie z tego nie korzystam :D
#IP_PUB="123.123.123.123"

# adres IP sieci LAN (sieć dla INT_LAN )
IP_LAN="192.168.0.0/24" 
#Broadcast dla LAN
BCAST="192.168.0.255"

# cała reszta (z tego tez nie korzystam, ale jakby kto chciał to jest)
UNIVERSE="0.0.0.0/0"

# Maskarada, adresy ip komputerów.

KOMP1="192.168.0.2"
KOMP2="192.168.0.3"
KOMP3="192.168.0.4"

#----------------------------------------------------------------

echo "Loading iptables modules"

# ładowanie modułu ip_tables - wymagany, aby funkcjonował filtr pakietów
$MOD ip_tables

# ładowanie modułu ip_conntrack - śledzenie połączeń
$MOD ip_conntrack

# ładowanie modułu ip_conntrack_ftp - śledzenie połączeń ftp
$MOD ip_conntrack_ftp

# ładowanie modułu ip_conntrack_irc - śledzenie połączeń irc
$MOD ip_conntrack_irc

# ładowanie modułu ip_conntrack_quake3 - śledzenie połączeń Quake3
$MOD ip_conntrack_quake3

# ładowanie modułu iptable_nat - wymagany do funkcjonowania mechanizmu NAT
# (tylko router/firewall NATujący)
$MOD iptable_nat

# ładowanie modułu ip_nat_ftp - wsparcie dla FTP przy wykorzystaniu NAT
# (tylko router/firewall NATujący)
$MOD ip_nat_ftp
 
# ładowanie modułu ip_nat_irc - wsparcie dla IRC przy wykorzystaniu NAT
# (tylko router/firewall NATujący)   
$MOD ip_nat_irc 

# ładowanie modułu ip_nat_quake3 - wsparcie dla Quake3 przy wykorzystaniu NAT
# (tylko router/firewall NATujący)   
$MOD ip_nat_quake3 


#-----------------------------------------------------------------
echo "Starting : antiflood syn, antispoofing, ip_forward "

# włączenie mechanizmu przeciwko atakom typu SYN-Flood (antiflood syn)
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

# włączenie mechanizmu antyspoofingu - filtrowanie fałszywych adresów IP (antispoofing)
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter

# włączenie forwardowania pakietów - tylko dla konfiguracji routera/bramy (dla stacji roboczej ustawiamy wartość 0)
echo 1 > /proc/sys/net/ipv4/ip_forward 

#-----------------------------------------------------------------
echo "Cleaning ..."
# czyścimy istniejące reguły w łańcuchach
    $IPT -F

# czyścimy tablicę NAT
    $IPT -F -t nat 

echo "Adding ..."
# ustawiamy domyślną politykę dla poszególnych łańcuchów
    # domyślnie połączenia przychodzące odrzucamy
    $IPT -P INPUT DROP

    # domyślnie wypuszczamy wszystko z naszego hosta
    $IPT -P OUTPUT ACCEPT

#-----------------------------------------------------------

# interfejs lokalny traktujemy jako uprzywilejowany
    $IPT -A INPUT -i lo -j ACCEPT
    $IPT -A OUTPUT -o lo -j ACCEPT
    $IPT -A FORWARD -o lo -j ACCEPT 


#Blokuje porty "wirusow" dla tabeli FORWARD ( ochrona urzytkownikow sieci ). Gdzieś kiedyś taki spis w sieci znalazłem
#U mnie nie szkodzi jak ktoś korzysta z tych portów to trzeba usunąć

    #FPORTS="37 111 113 135 137 138 139 445 578 1025 1136 1214 1237 1396 1450 2282 2032 2164 2724 2745 2823 2838 2862 2954 3012 3112 3127 3259 3309 3766 3981 4751 5000 6129 6346 6667 ";
    #for i in $FPORTS
    #do
    #iptables -A FORWARD -p tcp --dport $i -j DROP
    #iptables -A FORWARD -p udp --dport $i -j DROP
    #done

    # Blokuje to samo korzystajac z mport
    $IPT -A FORWARD -p tcp -m mport --ports 37,111,113,135,137,138,139,445,578,1025 -j DROP
    $IPT -A FORWARD -p tcp -m mport --ports 1136,1214,1237,1396,1450,2282,2032,2164,2724,2745 -j DROP
    $IPT -A FORWARD -p tcp -m mport --ports 2823,2838,2862,2954,3012,3112,3127,3259,3309,3766 -j DROP
    $IPT -A FORWARD -p tcp -m mport --ports 3981,4751,5000,6129,6346,6667 -j DROP

# odrzucamy przychodzące niepoprawne pakiety - mogą być formą ataku
# dla jąder 2.6.x - usunąć lub zahaszować
    $IPT -A INPUT -m unclean -j DROP

# odrzucamy wychodzące z interfejsów sieciowych niepoprawne pakiety
# dla jąder 2.6.x - usunąć lub zahaszować
    $IPT -A OUTPUT -m unclean -j DROP

# odrzucamy przekazywane niepoprawne pakiety
# dla jąder 2.6.x - usunąć lub zahaszować
    $IPT -A FORWARD -m unclean -j DROP 

#Ochrona przed spoofingiem

    # Odrzucamy wszystkie pakiety, przychodzace do nas
    # z zewnatrz z naszym adresem zrodlowym
    $IPT -A FORWARD -s $IP_LAN -i $INT_PUB -j DROP
    $IPT -A INPUT -s $IP_LAN -i $INT_PUB -j DROP

#Blokuje skanery portow"
echo "Blocking port scaners"
    
    # Podobno ma w czyms chronic (nie pisalem tego). U mnie nie szkodzi, ale
    # w razie problemow to tu szukac przyczyny po pierwsze. 2 z tej serii juz wywalilem bo byly klopoty
    $IPT -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j DROP
    $IPT -A INPUT -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP
    $IPT -A INPUT -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN,URG,PSH -j DROP

    # latka Port Scan Detection
    $IPT -A INPUT -m psd -j DROP

#Blokuje Ping of Death"
    echo "Starting ping filtering ( Ping of Death protection ) "

    #Odrzucam pingi dłuzsze niż 128 bitów
    $IPT -A INPUT -p icmp --icmp-type echo-request -m length --length 128:0xffff -j REJECT --reject-with icmp-host-unreachable
    
    #Przepuszczamy tylko 1 ping na sekunde
    #$IPT -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

    #Albo Sprawiamy wrażenie ze mamy poważne problemy z internetem
    $IPT -A INPUT -p icmp --icmp-type echo-request -m random --average 65 -j ACCEPT

    #Albo dopuszczamy co drugi ping
    #$IPT -A INPUT -p icmp --icmp-type echo-request -m nth --every 2 -j ACCEPT

    # Reszte pingow odrzucamy
    $IPT -A INPUT -p icmp --icmp-type echo-request -j REJECT --reject-with icmp-host-unreachable

#-----------------------------------------------------------------
echo "Unlocking ports"
#SSH
    # przepuszczamy ssh z lanu bo jest to jedyna droga komunikacji z serwerem
    $IPT -A INPUT -i $INT_LAN -p tcp --dport 22 -j ACCEPT

#----------------

# JAKBY KTOŚ MIAŁ KOPIOWAĆ NA ŻYWCA TO TU TRZEBA IP WPISAĆ ALBO WYWALIĆ TE LINIJKI !!!


    # wpuszczamy przychodzące połączenia SSH z wybranego adresu IP (AAA.BBB.CCC.DDD)
    $IPT -A INPUT -i $INT_PUB -p tcp -s 80.xxx.xxx.x0 --dport 22 -j ACCEPT -m state --state NEW

    # wpuszczamy przychodzące połączenia SSH z wybranego adresu IP (AAA.BBB.CCC.DDD) - inny adres
    $IPT -A INPUT -i $INT_PUB -p tcp -s 80.xxx.xxx.x1 --dport 22 -j ACCEPT -m state --state NEW

#--------------


# DHCP
    $IPT -A INPUT -i $INT_LAN -p udp --dport 67 --sport 68 -j ACCEPT
    $IPT -A OUTPUT -p udp --sport 67 --dport 68 -j ACCEPT # domyslnie output jest na accept ale niech bedzie :D 

# SAMBA
    $IPT -A INPUT -i $INT_LAN -p tcp -m mport --ports 139,445 -j ACCEPT
    
#P2P
    # wpuszczamy przychodzące połączenia na port 6881 (torrent) 
    $IPT -A INPUT -i $INT_PUB -p tcp --dport 6881:6889 -j ACCEPT # nie powinno byc do 6999 ? nie wiem ale tak tez dziala
    
    # wpuszczamy przychodzące połączenia na port 4662 (edonkey)
    #$IPT -A INPUT -i $INT_PUB -p tcp --dport 4662 -j ACCEPT -m state --state NEW

#BATTLE.NET ( a ja Starcrafta sprzedalem :D , ale CD-KEY gdzies mam jakby co :P )
    # wpuszczamy przychodzące połączenia do gry STARCRAFT (Battle.NET)
    #$IPT -A INPUT -i $INT_PUB -p udp --dport 6112:6119 -j ACCEPT -m state --state NEW
    #$IPT -A INPUT -i $INT_PUB -p tcp --dport 6112:6119 -j ACCEPT -m state --state NEW

#APACHE
    # wpuszczamy przychodzące połączenia WWW
    $IPT -A INPUT -i $INT_LAN -p tcp --dport 80 -j ACCEPT
    $IPT -A INPUT -i $INT_PUB -p tcp --dport 80 -j ACCEPT


#VSFTPD
    # wpuszczamy przychodzące połączenia FTP-DATA
    $IPT -A INPUT -p tcp --dport 20 -j ACCEPT
    # wpuszczamy przychodzące połączenia FTP
    $IPT -A INPUT -p tcp --dport 21 -j ACCEPT

#BIND
    # wpuszczamy przychodzące połączenia DNS ( bind )
    $IPT -A INPUT -i $INT_LAN -p udp --dport 53 -m state --state NEW -j ACCEPT
    $IPT -A INPUT -i $INT_LAN -p tcp --dport 53 -m state --state NEW -j ACCEPT
	
    $IPT -A OUTPUT -o $INT_LAN -p udp  --dport 53 -m state --state NEW -j ACCEPT
    $IPT -A OUTPUT -o $INT_LAN -p tcp  --dport 53 -m state --state NEW -j ACCEPT


#WEBMIN
    # wpuszczamy przychodzące połączenia Webmin ( tylko lokalny )
    $IPT -A INPUT -i $INT_LAN -p tcp --dport 10000 -j ACCEPT -m state --state NEW

#-----------------------------------------------------------------------------

# wpuszczamy tylko nawiązane i spokrewnione połączenia (dla poszczególnych protokołów)
    $IPT -A INPUT -p tcp -j ACCEPT -m state --state ESTABLISHED,RELATED
    $IPT -A INPUT -p udp -j ACCEPT -m state --state ESTABLISHED
    $IPT -A INPUT -p icmp -j ACCEPT -m state --state ESTABLISHED,RELATED

# odrzucamy przychodzące zapytania o IDENT i SOCKS z odpowiedzią port nieosiągalny
# (aby uniknąć opóźnień w trakcie łączenia z serwerami IRC i FTP)
    $IPT -A INPUT -p tcp --dport 113 -j REJECT --reject-with icmp-port-unreachable
    $IPT -A INPUT -p tcp --dport 1080 -j REJECT --reject-with icmp-port-unreachable

# pozostały ruch przychodzący logujemy
$IPT -A INPUT -i $INT_PUB -j LOG   # Jeszcze nie wiem gdzie ale sie dowiem ( zapewne po 40MB logu :P )
 
# pozostały ruch przychodzący odrzucamy, gdyż nie udostępniamy żadnych wiecej usług
$IPT -A INPUT -i $INT_PUB -j DROP 

#--------------------------------------------------------------------------


#MASKARADA


# uruchamiam translacje adresow sieciowych ( zahashowac w rc.M )
echo "Starting masquerade" 

# Czyszczenie tablic iptables (NAT i Filtrowanie)
$IPT -X -t nat
$IPT -X -t filter 

# Zezwolenie na forwardowanie pakietow 
$IPT -t filter -P FORWARD ACCEPT

#DODAJE ADRESY IP KOMPUTEROW KTORYM UDOSTEPNIAM NET :
echo  "adding ip :"

#KOMP1
$IPT -t nat -A POSTROUTING -o $INT_PUB -s $KOMP1 -d 0/0 -j MASQUERADE
echo  "192.168.0.2 - KOMP1 :   DONE" 
       
#KOMP2
$IPT -t nat -A POSTROUTING -o $INT_PUB -s $KOMP2 -d 0/0 -j MASQUERADE
echo  "192.168.0.3 - KOMP2 :   DONE" 

#KOMP3
$IPT -t nat -A POSTROUTING -o $INT_PUB -s $KOMP3 -d 0/0 -j MASQUERADE
echo  "192.168.0.4 - KOMP3 :   DONE" 


# Wpis niezbędny do prawidłowgo działania naskarady dla usługi NEO+
$IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

#-------------------------------------------------------------------
# PRZEKIEROWANIA PORTOW

    # KOMP1 - tcp 4663 i udp 4673 ( eMule )
    $IPT -t nat -A PREROUTING -i $INT_PUB -p tcp --dport 4663 -j DNAT --to-destination $KOMP1:4663
    $IPT -t nat -A PREROUTING -i $INT_PUB -p udp --dport 4673 -j DNAT --to-destination $KOMP1:4673

#------------------------------------------------------------------------
Czekam na opinie i sugestie co mozna jeszcze poprawić, dodać. Dodam, że po przeskanowaniu portów z localhost mam otwarte:

21/tcp open ftp
22/tcp open ssh
53/tcp open domain < bind
80/tcp open http <- apache
111/tcp open rpcbind <- ???
139/tcp open netbios-ssn <- samba
445/tcp open microsoft-ds <- samba
953/tcp open rndc <- ???
6884/tcp open unknown <- torrentflux zapewne
10000/tcp open snet-sensor-mgmt <- webmin

z innego komputera wszystkie poza 21 80 są filtered ( i poza 22 ale to ten komputer 80.xxx.xxx.x0 ). Drażni mnie tylko ten 111 i 953 bo nie wiem skąd sie bierze.

Pozdrawiam i mam nadzieje ze komuś sie przyda mój skrypt.
Pozdrawiam.
Ostatnio zmieniony 2006-07-31, 23:26 przez vacapn, łącznie zmieniany 2 razy.
tycjan
Użytkownik
Posty: 10
Rejestracja: 2006-07-14, 11:59
Lokalizacja: Elbląg
Kontakt:

Re: Firewall - gotowe skrypty Użytkowników

Post autor: tycjan »

Daje rade :>
[img]http://platyna.platinum.linux.pl/slackware/shared/greymtlSW.jpg[/img]
Awatar użytkownika
Skyscraper
Administrator
Posty: 753
Rejestracja: 2004-05-22, 10:46
Lokalizacja: Wrocław
Kontakt:

Re: Firewall - gotowe skrypty Użytkowników

Post autor: Skyscraper »

Snaj napisał:
-------------
Bardzo prosty, ale jakze skuteczny i tresciwy firewalik :
#!/bin/sh
#
# copyright (c) the KMyFirewall developers 2002
# mail to: Christian Hubinger <e9806056@student.tuwien.ac.at>
#
# KMyFirewall v0.9.6.2
# This is an automatic generated file DO NOT EDIT
#
IPT="/sbin/iptables"
MOD="/sbin/modprobe"
status="0"
startFirewall() {
echo
echo "Starting firewall..."
echo -n "Loading needed modules... "
$MOD ip_tables
$MOD ip_conntrack
$MOD ipt_LOG
$MOD ipt_limit
$MOD ipt_state
$MOD ip_conntrack_ftp
$MOD ip_conntrack_irc
$MOD iptable_filter
echo "Done."
# Define all custom chains
echo -n "Create custom chains... "
echo "Done."
# Rules:
echo "Settup Rules in Table FILTER:
"
# Define Rules for Chain: INPUT
echo -n "Create Rules for Chain: INPUT "
$IPT -t filter -A INPUT --protocol tcp --destination-port 4662 -j ACCEPT || { status="1"; echo "Setting up Rule: Custom_aMule_TCP FAILED !!!"; exit 1; }
$IPT -t filter -A INPUT --protocol udp --destination-port 4672 -j ACCEPT || { status="1"; echo "Setting up Rule: Custom_aMule_UDP FAILED !!!"; exit 1; }
$IPT -t filter -A INPUT --protocol icmp --icmp-type echo-request --match limit --limit 5/minute -j ACCEPT || { status="1"; echo "Setting up Rule: PING_INPUT FAILED !!!"; exit 1; }
$IPT -t filter -A INPUT --match state --state RELATED,ESTABLISHED -j ACCEPT || { status="1"; echo "Setting up Rule: CONNRACK_INPUT FAILED !!!"; exit 1; }
$IPT -t filter -A INPUT --destination 127.0.0.1 --in-interface lo -j ACCEPT || { status="1"; echo "Setting up Rule: LOOPBACK_INPUT FAILED !!!"; exit 1; }
$IPT -t filter -A INPUT -m limit --limit 1/second --limit-burst 5 -j LOG --log-prefix "KMF: " || { status="1"; echo "Setting up Rule: Chain: INPUT Drop Logging FAILED !!!"; exit 1; }
$IPT -t filter -P INPUT DROP || { status="1"; echo "Setting up Rule: Chain: INPUT Default Target FAILED !!!"; exit 1; }
echo "Done."
# Define Rules for Chain: OUTPUT
echo -n "Create Rules for Chain: OUTPUT "
$IPT -t filter -P OUTPUT ACCEPT || { status="1"; echo "Setting up Rule: Chain: OUTPUT Default Target FAILED !!!"; exit 1; }
echo "Done."
# Define Rules for Chain: FORWARD
echo -n "Create Rules for Chain: FORWARD "
$IPT -t filter -P FORWARD DROP || { status="1"; echo "Setting up Rule: Chain: FORWARD Default Target FAILED !!!"; exit 1; }
echo "Done."
echo -n "Disable IP Forwarding. "
echo 0 > /proc/sys/net/ipv4/ip_forward
echo "Done.
"
echo -n "Enable Reverse Path Filtering "
for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do
echo 2 > $i
done
echo "Done."
echo -n "Disable log_martians (logging). "
for i in /proc/sys/net/ipv4/conf/*/log_martians ; do
echo 0 > $i
done
echo "Done.
"
echo -n "Enable Syn Cookies. "
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo "Done."
}
stopFirewall() {
echo -n "Shutdown KMyFirewall... "
$IPT -t filter -F || status="1"
$IPT -t filter -X || status="1"
$IPT -t filter -P INPUT ACCEPT || status="1"
$IPT -t filter -P OUTPUT ACCEPT || status="1"
$IPT -t filter -P FORWARD ACCEPT || status="1"
echo "Done."
}
case $1 in
start)
stopFirewall
startFirewall
;;
stop)
stopFirewall
;;
restart)
stopFirewall
startFirewall
;;
*)
echo "Usage: sh kmyfirewall.sh { start | stop | restart } "
;;
esac
if [ "$status" = "1" ]; then
exit 1
else
exit 0
fi
Jak widac automaty czasami cos potrafia ;]
zeuskm
Użytkownik
Posty: 1
Rejestracja: 2007-06-28, 12:54

Potrzebuje objasnienia skryptu

Post autor: zeuskm »

Witam czy mógłby mi ktoś wytłumaczyć linijka po linijce o co chodzi w tych 2 skryptach:

Kod: Zaznacz cały

# wlaczenie ochrony przed SYN FLOOD 
if [ "$SYSCTL" = "" ] 
then 
    echo "1" > /proc/sys/net/ipv4/tcp_syncookies 
else 
    $SYSCTL net.ipv4.tcp_syncookies="1" 
fi 

Kod: Zaznacz cały

# powinno pomagac w odpieraniu atakow DoS 
if [ "$SYSCTL" = "" ] 
then 
    echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 
else 
    $SYSCTL net.ipv4.icmp_echo_ignore_broadcasts="1" 
fi
z góry dzięki

[ Komentarz dodany przez: difrost: 2007-06-28, 14:34 ]
Używaj

Kod: Zaznacz cały

 !!!
Ostatnio zmieniony 2007-06-28, 13:34 przez zeuskm, łącznie zmieniany 1 raz.
Awatar użytkownika
difrost
Moderator
Posty: 2802
Rejestracja: 2006-03-11, 12:31
Lokalizacja: Wrocław
Kontakt:

Re: Firewall - gotowe skrypty Użytkowników

Post autor: difrost »

Google na 100% Ci odpowie!
[url=http://bdtk.sourceforge.net][img]http://pin.if.uz.zgora.pl/~beton/bdt-ready.png[/img][/url] #337142
--------------------------------------------
"I had a letter in the post today. It said 'Gas Bill'. It sounds a tempting offer." -- Alan Cox
"Users have been trained that when a computer bluescreens and losing all of their data, it's either (a) just the way things are, or (b) it's microsoft's fault." -- Theodore Tso
ODPOWIEDZ