SHOW:
|
|
- or go back to the newest paste.
| 1 | #!/bin/sh | |
| 2 | # Nazwa i lokalizacja programu | |
| 3 | - | ############################################################################## |
| 3 | + | |
| 4 | ||
| 5 | - | |
| 5 | + | |
| 6 | PATH="/usr/sbin" | |
| 7 | ||
| 8 | SERWER="83.xx.xx.xx" | |
| 9 | ||
| 10 | # Adres komputera z którego logujemy się jako admin | |
| 11 | - | |
| 11 | + | KOMP="moje ip" |
| 12 | ||
| 13 | # Przestrzen adresowa naszej sieci wewnetrzenej i karta ja obslugujaca | |
| 14 | WEW_NET="192.168.0.1/28" | |
| 15 | WEW_DEV="eth0" | |
| 16 | ||
| 17 | - | |
| 17 | + | |
| 18 | ZEW_NET="0/0" | |
| 19 | - | # Adres serwera - naszego kompa |
| 19 | + | |
| 20 | ||
| 21 | - | |
| 21 | + | # Uslugi TCP |
| 22 | TCP_IN="www,ssh,ftp-data,ftp" | |
| 23 | - | SERWER="192.168.0.3" |
| 23 | + | TCP_OUT="www,ftp,ftp-data,ssh" |
| 24 | ||
| 25 | - | |
| 25 | + | #Uslugi UDP |
| 26 | UDP_IN="443,465,995" | |
| 27 | - | # Adres komputera z ktorego logujemy sie jako admin :) |
| 27 | + | |
| 28 | ||
| 29 | - | |
| 29 | + | # Uslugi ICMP |
| 30 | ICMP_IN="" | |
| 31 | - | KOMP="192.168.0.10" |
| 31 | + | |
| 32 | ||
| 33 | - | |
| 33 | + | |
| 34 | # Usuwanie poprzednich regul | |
| 35 | $IPTABLES -F INPUT | |
| 36 | $IPTABLES -F FORWARD | |
| 37 | - | |
| 37 | + | |
| 38 | ||
| 39 | # Ustawienie domyslnej polityki | |
| 40 | $IPTABLES -P INPUT DROP | |
| 41 | $IPTABLES -P OUTPUT ACCEPT | |
| 42 | $IPTABLES -P FORWARD DROP | |
| 43 | - | |
| 43 | + | |
| 44 | # Logi | |
| 45 | $IPTABLES -A INPUT -j LOG -m limit --limit 15/hor # 15 logów na godzine | |
| 46 | $IPTABLES -A OUTPUT -j LOG -m limit --limit 15/hour | |
| 47 | - | |
| 47 | + | |
| 48 | ||
| 49 | - | ZEW_NET="0/0" # 0/0 wskazuje jakikolwiek adres IP |
| 49 | + | # Sledzenie polaczen |
| 50 | modprobe ip_conntarck | |
| 51 | modprobe ip_conntarck_ftp | |
| 52 | ||
| 53 | - | |
| 53 | + | # Wylaczenie odpowiedzi na pingi |
| 54 | echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all | |
| 55 | - | # Uslugi TCP,ktore chcemy przepuszczac - "" puste oznacza wszystkie porty |
| 55 | + | |
| 56 | # Ochrona przed atakami typu Smurf | |
| 57 | - | # kolejne oddzielamy przecinkami |
| 57 | + | |
| 58 | ||
| 59 | - | |
| 59 | + | # Ochrona przed komunikacja ICMP error |
| 60 | echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses | |
| 61 | - | TCP_IN="www,ssh,ftp-data,ftp" # 80,22,20,21 |
| 61 | + | |
| 62 | # Logowanie dziwnych pakietow (spoofed. source routed. redirects) | |
| 63 | - | TCP_OUT="www,ftp,ftp-data,irc,ssh" # 80,21,20, ,22 |
| 63 | + | |
| 64 | ||
| 65 | - | |
| 65 | + | # Brak akceptacji datagramu IP z opcja "source route" |
| 66 | echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route | |
| 67 | - | |
| 67 | + | |
| 68 | # Brak przyjmowania pakietow ICMP redict, ktore moga zmienic tablice routingu | |
| 69 | - | # Uslugi UDP,ktore przepuszczamy - "" puste oznacza wszytskie porty |
| 69 | + | |
| 70 | ||
| 71 | - | # kolejne oddzielone przecinkami |
| 71 | + | |
| 72 | # z tablicy routingu | |
| 73 | - | |
| 73 | + | |
| 74 | ||
| 75 | # Odblokowanie petli zwrotnej LOOPBACK | |
| 76 | $IPTABLES -A INPUT -i lo -j ACCEPT | |
| 77 | $IPTABLES -A OUTPUT -o lo -j ACCEPT | |
| 78 | ||
| 79 | - | |
| 79 | + | # Korzystanie z protokolow w trybie passive on |
| 80 | $IPTABLES -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT | |
| 81 | - | # Uslugi ICMP, ktore chcemy przepuszczac - "" puste oznacza wszystkie typy |
| 81 | + | |
| 82 | # Odblokowanie uslug na serwerze dla innych przychodzacych z zewnatrz | |
| 83 | - | # kolejne oddzielone przecinkami |
| 83 | + | |
| 84 | $IPTABLES -A INPUT -p tcp -s 0/0 --sport 80 -j ACCEPT # czyli www | |
| 85 | - | |
| 85 | + | |
| 86 | $IPTABLES -A INPUT -p tcp -s 0/0 --dport 113 -j ACCEPT # identyfikacja | |
| 87 | $IPTABLES -A INPUT -p udp -s 0/0 --dport 1025:1100 -j ACCEPT # dla hotha | |
| 88 | ||
| 89 | # Administracja z tego adresu | |
| 90 | $IPTABLES -A INPUT -s $KOMP -j ACCEPT | |
| 91 | - | |
| 91 | + | |
| 92 | # dostep do DNS | |
| 93 | $IPTABLES -A INPUT -p tcp -s 0/0 --sport 53 -d $SERWER -j ACCEPT | |
| 94 | $IPTABLES -A INPUT -p udp -s 0/0 --sport 53 -d $SERWER -j ACCEPT | |
| 95 | - | |
| 95 | + | |
| 96 | # Pakiety z adresem zrodlowym | |
| 97 | - | # Usuwamy poprzednie reguly |
| 97 | + | |
| 98 | ||
| 99 | - | |
| 99 | + | |
| 100 | $IPTABLES -A INPUT -i $WEW_DEV -s 10.0.0.0/8 -j DROP #class A | |
| 101 | $IPTABLES -A INPUT -i $WEW_DEV -s 172.16.0.0/12 -j DROP #class B | |
| 102 | #$IPTABLES -A INPUT -i $WEW_DEV -s 192.168.0.0/16 -j DROP #class C | |
| 103 | $IPTABLES -A INPUT -i $WEW_DEV -s 224.0.0.0/4 -j DROP #multicast | |
| 104 | $IPTABLES -A INPUT -i $WEW_DEV -d 224.0.0.0/4 -j DROP #multicast | |
| 105 | $IPTABLES -A INPUT -i $WEW_DEV -s 240.0.0.0/5 -j DROP #reserved | |
| 106 | $IPTABLES -A INPUT -i $WEW_DEV -s 127.0.0.0/5 -j DROP #lo |