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 |