Aangezien de gedachte als je een service niet draait hij ook niet aangevallen kan worden gaat redelijk op. Maar ik wil toch wat zaken dicht gaan zetten.
Ik ben dus me maar eens in gaan lezen in het verhaal IPtables. Overal gelezen, ook de wel bekende howto die hier wel vaker rond zwerft.
Aangezien ik het idee heb dat je opzich best met een generator moet kunnen werken om een simpele firewall op te zetten die je later met de hand uit kan bouwen wil ik jullie mening hier eens over.
De basis van een goede firewall is natuurlijk het beste, uitbouwen is dan vele malen makkelijker.
De server is puur een server dus geen forwarding verhaal en Masq in dit geval.
Graag zou ik eens van jullie willen weten hoe jullie de basis zouden willen zien. Je kunt natuurlijk met een basisscript werken waarbij je bovenin een aan tal variabelen gebruikt en uiteindelijk daar alleen hoeft te wijzigen maar dat zijn variaties op manieren zoals mensen willen werken.
De reden van dit topic is meer om het feit dat het wellicht handig is om een basis script neer te zetten voor mensen die IPtables willen testen. Dus bijvoorbeeld:
-Server geinstalleerd
-Portscan om te testen
-IPtables activeren
-Weer een portscan om te testen
-Het zien van het verschil in beide configs.
Ik heb zelf even een simpel scriptje gemaakt met de volgende generator, maar de vraag is of dit wel wijzelijk is en mensen die hiermee gaan testen ook wel op de goede manier tewerk gaan. Ik vind het in dit geval namelijk ook wel handig om even een houvast te hebben, een ander denk ik ook wel.
http://www.citadec.com/FirewallGenerator.html
Zo even gecopied omdat mijn IE wat brak is op het moment.
Is dit nu een goede basis ? Het is simpel klikken en het ding genereerd een basis naar mijn idee. NU wil je op den duur bijvoorbeeld rules tussen verschillende machines toevoegen,maar kan dit goed in dit script of heb je dan echt een verkeerd begin gemaakt ?
Ik ben dus me maar eens in gaan lezen in het verhaal IPtables. Overal gelezen, ook de wel bekende howto die hier wel vaker rond zwerft.
Aangezien ik het idee heb dat je opzich best met een generator moet kunnen werken om een simpele firewall op te zetten die je later met de hand uit kan bouwen wil ik jullie mening hier eens over.
De basis van een goede firewall is natuurlijk het beste, uitbouwen is dan vele malen makkelijker.
De server is puur een server dus geen forwarding verhaal en Masq in dit geval.
Graag zou ik eens van jullie willen weten hoe jullie de basis zouden willen zien. Je kunt natuurlijk met een basisscript werken waarbij je bovenin een aan tal variabelen gebruikt en uiteindelijk daar alleen hoeft te wijzigen maar dat zijn variaties op manieren zoals mensen willen werken.
De reden van dit topic is meer om het feit dat het wellicht handig is om een basis script neer te zetten voor mensen die IPtables willen testen. Dus bijvoorbeeld:
-Server geinstalleerd
-Portscan om te testen
-IPtables activeren
-Weer een portscan om te testen
-Het zien van het verschil in beide configs.
Ik heb zelf even een simpel scriptje gemaakt met de volgende generator, maar de vraag is of dit wel wijzelijk is en mensen die hiermee gaan testen ook wel op de goede manier tewerk gaan. Ik vind het in dit geval namelijk ook wel handig om even een houvast te hebben, een ander denk ik ook wel.
http://www.citadec.com/FirewallGenerator.html
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
| #!/bin/sh # This is a sample Firewall script made with Citadec Solutions # sample firewall generator at http://www.citadec.com # Remember that this is meant to help you to make your own # firewall. Allways read this script through before using it! IPT=/sbin/iptables LSMOD=/sbin/lsmod # Flushing old rules $IPT -F $IPT -t nat -F # Next is your IP NET=192.168.1.10 # DROP IF NO FLAGS SET OR ALL FLAGS SET (Some scanning methods uses these) $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --tcp-flags ALL NONE -j DROP $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --tcp-flags ALL ALL -j DROP # We dont need ipchains $LSMOD | grep ipchains -q -s && rmmod ipchains # Allow everything on the loopback interface $IPT -t filter -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT $IPT -t filter -A OUTPUT -o lo -s 0/0 -d 0/0 -j ACCEPT # This is done to enable source verification if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then for f in /proc/sys/net/ipv4/conf/*/rp_filter do echo 2 > $f done fi # This one is for syncookies protection if [ -e /proc/sys/net/ipv4/tcp_syncookies ]; then echo 1 > /proc/sys/net/ipv4/tcp_syncookies fi # We dont want ICMP Dead Errors if [ -e /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses ]; then echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses fi # We want to Ignore ICMP Broadcasts if [ -e /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts ]; then echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts fi # We dont want anyone to play with dynamic TCP/IP if [ -e /proc/sys/net/ipv4/ip_dynaddr ]; then echo 0 > /proc/sys/net/ipv4/ip_dynaddr fi # These IP addresses are blocked, because they are not "routable" $IPT -t filter -A INPUT -s 1.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 2.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 7.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 23.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 27.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 31.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 41.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 45.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 60.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 68.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 69.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 70.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 71.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 80.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 88.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 90.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 91.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 92.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 100.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 111.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 112.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 127.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 127.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 128.66.0.0/16 -d $NET -j DROP $IPT -t filter -A INPUT -s 172.16.0.0/12 -d $NET -j DROP $IPT -t filter -A INPUT -s 197.0.0.0/16 -d $NET -j DROP $IPT -t filter -A INPUT -s 201.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 220.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 222.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 240.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 242.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 244.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 251.0.0.0/8 -d $NET -j DROP $IPT -t filter -A INPUT -s 254.0.0.0/8 -d $NET -j DROP # In this Firewall we dont want Multicast allowed $IPT -t filter -A INPUT -s 224.0.0.0/8 -d 0/0 -j DROP $IPT -t filter -A INPUT -s 0/0 -d 224.0.0.0/8 -j DROP $IPT -t filter -A OUTPUT -s 224.0.0.0/8 -d 0/0 -j DROP $IPT -t filter -A OUTPUT -s 0/0 -d 224.0.0.0/8 -j DROP # Block Packets with Stuffed Routing $IPT -t filter -A INPUT -s 255.255.255.255 -j DROP $IPT -t filter -A INPUT -d 0.0.0.0 -j DROP $IPT -t filter -A OUTPUT -s 255.255.255.255 -j DROP $IPT -t filter -A OUTPUT -d 0.0.0.0 -j DROP # ICMP Should be allowed out $IPT -A OUTPUT -p icmp -s $NET -d 0/0 -j ACCEPT # Open inbound established connections (ssh) $IPT -A INPUT -p tcp --sport 22 --destination-port 513:65535 ! --syn -m state --state RELATED -j ACCEPT # FTP Data fix $IPT -A INPUT -p tcp --sport 20 --destination-port 1023:65535 ! --syn -m state --state RELATED -j ACCEPT $IPT -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT $IPT -A INPUT -p udp -s 0/0 -d $NET --destination-port 1023:65535 -j ACCEPT # Open ports for outbound established connections $IPT -A OUTPUT -p tcp -s $NET -d 0/0 --destination-port 1:65535 -j ACCEPT $IPT -A OUTPUT -p udp -s $NET -d 0/0 --destination-port 1:65535 -j ACCEPT # FTP allowed $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --destination-port 20 ! --syn -j ACCEPT $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --destination-port 21 -j ACCEPT # SSH allowed $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --destination-port 22 -j ACCEPT # SMTP allowed $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --destination-port 25 -j ACCEPT # DNS allowed $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --destination-port 53 -j ACCEPT # POP allowed $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --destination-port 110 -j ACCEPT # IMAP allowed $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --destination-port 143 -j ACCEPT # HTTP allowed $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --destination-port 80 -j ACCEPT # HTTPS allowed $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --destination-port 443 -j ACCEPT # MYSQL server allowed $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --destination-port 3306 -j ACCEPT # RESTART KLOGD (So we dont get flooded by iptables to tty) killall -9 klogd /sbin/klogd -x -c 4 # Deny everything not let through earlier $IPT -A INPUT -j DROP |
Zo even gecopied omdat mijn IE wat brak is op het moment.
Is dit nu een goede basis ? Het is simpel klikken en het ding genereerd een basis naar mijn idee. NU wil je op den duur bijvoorbeeld rules tussen verschillende machines toevoegen,maar kan dit goed in dit script of heb je dan echt een verkeerd begin gemaakt ?
[ Voor 68% gewijzigd door BacardiBreezer op 16-02-2005 19:49 ]
Jij bent misschien belangrijk, maar ik ben aardig ;)