De Situatie:
Een linux-router die als enige taak heeft voor firewall te spelen. Hij is ervoor om pc's die voorzien zijn van spyware, virussen en andere troep veilig te kunnen cleanen met een inet verbinding zodat bv live-update wel werkt. Nu is het echter zo dat AL het verkeer op 4poorten na uitgaand geblocked is en inkomend ook. Dat laatste is eigelijk niet aan de orde, er zit nog een speedtouch tussen de firewall en inet.
De firewall heeft dus als doel om uitgaande verkeer BEPERKT toe te staan.
Het Probleem:
Nu zit ik met een mooi zelfgemaakt firewall script die perfect zn werk doet (volgens mij iig...). Echter, er blijkt toch een fout in te zitten, want ik zit met een abuse-warning wegens portscan ofzo.
Ik moet dus iptables laten loggen wat er zoals naar buiten probeerd te komen...
[size=1]Iets wat eigelijk meteen natuurlijk geïmplemeteerd had moeten worden maar het was in de eerste plaats een snelle oplossing, zo'n firewall.[/size]
Wat ik geprobeerd heb:
Heel got en google afzoeken op termen als "iptables logging" etc, zonder werkbaar resultaat.
Probeersel wat natuurlijk niet werkt.
Het huidige NON-LOG firewall script:
Hopelijk kan iemand me opweg helpen
Een linux-router die als enige taak heeft voor firewall te spelen. Hij is ervoor om pc's die voorzien zijn van spyware, virussen en andere troep veilig te kunnen cleanen met een inet verbinding zodat bv live-update wel werkt. Nu is het echter zo dat AL het verkeer op 4poorten na uitgaand geblocked is en inkomend ook. Dat laatste is eigelijk niet aan de orde, er zit nog een speedtouch tussen de firewall en inet.
De firewall heeft dus als doel om uitgaande verkeer BEPERKT toe te staan.
Het Probleem:
Nu zit ik met een mooi zelfgemaakt firewall script die perfect zn werk doet (volgens mij iig...). Echter, er blijkt toch een fout in te zitten, want ik zit met een abuse-warning wegens portscan ofzo.
Ik moet dus iptables laten loggen wat er zoals naar buiten probeerd te komen...
[size=1]Iets wat eigelijk meteen natuurlijk geïmplemeteerd had moeten worden maar het was in de eerste plaats een snelle oplossing, zo'n firewall.[/size]
Wat ik geprobeerd heb:
Heel got en google afzoeken op termen als "iptables logging" etc, zonder werkbaar resultaat.
Probeersel wat natuurlijk niet werkt.
code:
1
| iptables -A FORWARD -j LOG -p all -m limit --limit 2/s --log-level 6 --log-prefix ">> Dropped" |
Het huidige NON-LOG firewall script:
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
| #! /bin/sh # Firewall Startup Script RANGE_LO="127.0.0.0/255.0.0.0" RANGE_LAN1="192.168.0.0/255.255.255.0" RANGE_LAN2="192.168.1.0/255.255.255.0" RANGE_INET="10.0.0.0/255.0.0.0" IFACE_LO=lo IFACE_LAN1=eth1 IFACE_LAN2=eth2 IFACE_INET=eth0 GATEWAY="10.0.0.138" GATEWAYDEV=eth0 IP="10.0.0.130" echo "==================================" echo "= Setting up firewall and NAT... =" echo "= Flushing old settings..." iptables -t filter --flush iptables -t filter --zero iptables -t nat --flush iptables -t nat --zero iptables -t mangle --flush iptables -t mangle --zero iptables -t filter -P INPUT DROP iptables -t filter -P OUTPUT DROP iptables -t filter -P FORWARD DROP iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT iptables -t mangle -P PREROUTING ACCEPT iptables -t mangle -P INPUT ACCEPT iptables -t mangle -P FORWARD ACCEPT iptables -t mangle -P OUTPUT ACCEPT iptables -t mangle -P POSTROUTING ACCEPT echo 1 > /proc/sys/net/ipv4/ip_forward echo "= Starting NAT..." iptables -t nat -A POSTROUTING -o $IFACE_INET -j SNAT --to $IP ICMP1I="iptables -A FORWARD -i $IFACE_LAN1 -o $IFACE_INET -s $RANGE_LAN1 -d ! $RANGE_LAN1 -p icmp" ICMP1O="iptables -A FORWARD -o $IFACE_LAN1 -i $IFACE_INET -d $RANGE_LAN1 -s ! $RANGE_LAN1 -p icmp -m state --state RELATED,ESTABLISHED" PORT1TI="iptables -A FORWARD -i $IFACE_LAN1 -o $IFACE_INET -s $RANGE_LAN1 -d ! $RANGE_LAN1 -p tcp" PORT1TO="iptables -A FORWARD -o $IFACE_LAN1 -i $IFACE_INET -d $RANGE_LAN1 -s ! $RANGE_LAN1 -p tcp -m state --state RELATED,ESTABLISHED" PORT1UI="iptables -A FORWARD -i $IFACE_LAN1 -o $IFACE_INET -s $RANGE_LAN1 -d ! $RANGE_LAN1 -p udp" PORT1UO="iptables -A FORWARD -o $IFACE_LAN1 -i $IFACE_INET -d $RANGE_LAN1 -s ! $RANGE_LAN1 -p udp -m state --state RELATED,ESTABLISHED" ICMP2I="iptables -A FORWARD -i $IFACE_LAN2 -o $IFACE_INET -s $RANGE_LAN2 -d ! $RANGE_LAN2 -p icmp" ICMP2O="iptables -A FORWARD -o $IFACE_LAN2 -i $IFACE_INET -d $RANGE_LAN2 -s ! $RANGE_LAN2 -p icmp -m state --state RELATED,ESTABLISHED" PORT2TI="iptables -A FORWARD -i $IFACE_LAN2 -o $IFACE_INET -s $RANGE_LAN2 -d ! $RANGE_LAN2 -p tcp" PORT2TO="iptables -A FORWARD -o $IFACE_LAN2 -i $IFACE_INET -d $RANGE_LAN2 -s ! $RANGE_LAN2 -p tcp -m state --state RELATED,ESTABLISHED" PORT2UI="iptables -A FORWARD -i $IFACE_LAN2 -o $IFACE_INET -s $RANGE_LAN2 -d ! $RANGE_LAN2 -p udp" PORT2UO="iptables -A FORWARD -o $IFACE_LAN2 -i $IFACE_INET -d $RANGE_LAN2 -s ! $RANGE_LAN2 -p udp -m state --state RELATED,ESTABLISHED" echo "= NAT rules eth1:" echo "# ICMP" $ICMP1I -j ACCEPT $ICMP1O -j ACCEPT echo "# HTTP" $PORT1TI --sport 1:65535 --dport 80 -j ACCEPT $PORT1TO --sport 80 --dport 1:65535 -j ACCEPT $PORT1TI --sport 1:65535 --dport 443 -j ACCEPT $PORT1TO --sport 443 --dport 1:65535 -j ACCEPT echo "# DNS" $PORT1UI --sport 1:65535 --dport 53 -j ACCEPT $PORT1UO --sport 53 --dport 1:65535 -j ACCEPT echo "# SSH" $PORT1TI --sport 1:65535 --dport 22 -j ACCEPT $PORT1TO --sport 22 --dport 1:65535 -j ACCEPT echo "# FTP" $PORT1TI --sport 1:65535 --dport 21 -j ACCEPT $PORT1TO --sport 21 --dport 1:65535 -j ACCEPT $PORT1TI --sport 1:65535 --dport 20 -j ACCEPT $PORT1TO --sport 20 --dport 1:65535 -j ACCEPT echo "= NAT rules eth2:" echo "# ICMP" $ICMP2I -j ACCEPT $ICMP2O -j ACCEPT echo "# HTTP" $PORT2TI --sport 1:65535 --dport 80 -j ACCEPT $PORT2TO --sport 80 --dport 1:65535 -j ACCEPT $PORT2TI --sport 1:65535 --dport 443 -j ACCEPT $PORT2TO --sport 443 --dport 1:65535 -j ACCEPT echo "# DNS" $PORT2UI --sport 1:65535 --dport 53 -j ACCEPT $PORT2UO --sport 53 --dport 1:65535 -j ACCEPT echo "# SSH" $PORT2TI --sport 1:65535 --dport 22 -j ACCEPT $PORT2TO --sport 22 --dport 1:65535 -j ACCEPT echo "# FTP" $PORT2TI --sport 1:65535 --dport 21 -j ACCEPT $PORT2TO --sport 21 --dport 1:65535 -j ACCEPT $PORT2TI --sport 1:65535 --dport 20 -j ACCEPT $PORT2TO --sport 20 --dport 1:65535 -j ACCEPT echo "= Building up Firewall" echo "= Setting ICMP limits" iptables -A INPUT -p icmp --icmp-type 0 -m limit --limit 2/s -j ACCEPT iptables -A INPUT -p icmp --icmp-type 3 -m limit --limit 2/s -j ACCEPT iptables -A INPUT -p icmp --icmp-type 5 -m limit --limit 2/s -j ACCEPT iptables -A INPUT -p icmp --icmp-type 8 -m limit --limit 2/s -j ACCEPT iptables -A INPUT -p icmp --icmp-type 11 -m limit --limit 10/s -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type 3 -m limit --limit 2/s -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type 8 -m limit --limit 2/s -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type 0 -m limit --limit 2/s -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type 11 -m limit --limit 10/s -j ACCEPT echo "= Loopback settings" iptables -t filter -A INPUT -i $IFACE_LO -j ACCEPT iptables -t filter -A OUTPUT -o $IFACE_LO -j ACCEPT echo "= LAN settings..." echo "# DHCP server eth1" iptables -A INPUT -i $IFACE_LAN1 -p udp --dport 67 -j ACCEPT iptables -A OUTPUT -o $IFACE_LAN1 -p udp --sport 67 -j ACCEPT echo "# DHCP server eth2" iptables -A INPUT -i $IFACE_LAN2 -p udp --dport 67 -j ACCEPT iptables -A OUTPUT -o $IFACE_LAN2 -p udp --sport 67 -j ACCEPT echo "= Internet settings..." echo "# DNS requests" iptables -A INPUT -i $IFACE_INET -p udp --sport 53 -j ACCEPT iptables -A OUTPUT -o $IFACE_INET -p udp --dport 53 -j ACCEPT echo "# SSH server" iptables -A INPUT -i $IFACE_INET -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -o $IFACE_INET -p tcp --sport 22 -j ACCEPT echo "= Firewall and NAT are active ! =" echo "=================================" # EOF # |
Hopelijk kan iemand me opweg helpen
| Hardcore - Terror |