[iptables] loggen van traffic

Pagina: 1
Acties:

  • nzyme
  • Registratie: November 2001
  • Laatst online: 28-12-2025
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.
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 |


  • Gondor
  • Registratie: September 2003
  • Laatst online: 14:36
Als je deze log-regel als laatste hebt laten uitvoeren is het natuurlijk niet goed. Daarme log je alles wat gedropped is maar jij wilt juist loggen wat wel naar buiten gaat.

Probeer dit eens:
code:
1
iptables -I FORWARD 1 -o eth0 -j LOG -p all -m limit --limit 2/s --log-level 6 --log-prefix ">>FORWARD Logged"


Ook loggen wat van je FW uitgaat kan ook niet kwaad:
code:
1
iptables -I OUTPUT 1  -o eth0 -j LOG -p all -m limit --limit 2/s --log-level 6 --log-prefix ">>OUTPUT Logged"



Btw, als je abuse voor poortscan krijgt is het verstandig om chkrootkit oid te gebruiken.

"Peace cannot be kept by force. It can only be achieved by understanding"-Albert Einstein-


  • nzyme
  • Registratie: November 2001
  • Laatst online: 28-12-2025
Achter de firewall zitten de "schadelijke" pc's die een vanwege bv een trojan poortscans uitvoeren. Het gaat niet om de firewall zelf. Dus chkrootkit is niet aan de orde.

Die log regel kan ik gewoon onderaan mn rc.firwall zetten dacht ik zo toch ?

iig:
code:
1
iptables -I FORWARD l

>insert in de forward chain (wtf is die l :?)
code:
1
-o eth0

>outgoing verkeer op eth0 interface
code:
1
-j LOG -p all

>log het verkeer op alle poorten, maar
code:
1
-m limit --limit 2/s --log-level 6 --log-prefix="xxx"

>alleen verkeer wat voldoet aan bovenstaande :?

en mss verder nog opmerken over het firewall scriptje ?

| Hardcore - Terror |


  • cool_zero
  • Registratie: Juni 2001
  • Laatst online: 25-10-2022
Hellraizer schreef op vrijdag 13 mei 2005 @ 10:52:
Achter de firewall zitten de "schadelijke" pc's die een vanwege bv een trojan poortscans uitvoeren.
Een proxy kan ook goed voor dit doeleinde gebruikt worden. Deze zijn alleen niet meer transparant voor de eindgebruiker.
Die log regel kan ik gewoon onderaan mn rc.firwall zetten dacht ik zo toch ?
Dat ligt eraan wat je doet. Als je "iptables -A" doet dan moet die bovenaan in je chain en moet die dus ook bovenaan in je rc.firewall. Met "iptables -I" kun je zelf de plaats bepalen en kan die dus ook onderaan.
iig:
code:
1
iptables -I FORWARD l

>insert in de forward chain (wtf is die l :?)
De eerste I is van Insert i.p.v. de A van Append. Na de FOWARD moet volgens mij een 1 staan, maar dat is volgens mij ook de default als er niets zou staan. Deze 1 bepaald de plaats in de chain. Dus zo voeg je een regel toe als 2de in de chain:
code:
1
iptables -I FORWARD 2
en mss verder nog opmerken over het firewall scriptje ?
Je geeft een aantal keer ook het hele portbereik mee: 1:65535. Volgens mij is dit alleen maar extra werk voor je firewall(afhankelijk van hoe slim iptables is) en geeft het geen toegevoegde waarde, dus je kan het gewoon wellaten.

  • nzyme
  • Registratie: November 2001
  • Laatst online: 28-12-2025
dat van die 1 en 2 is ook wel logisch als je voor INSERT kiest :)

dat het sport deel weggelaten kan worden wanneer het om _alle_ poorten gaat klinkt ook wel logisch, maar vanwege het overzicht is het wel handig... En qua speed maakt het geen donder uit voor de pc :p

vanmiddag maar ff de regel in mn firewall dumpen _O_

| Hardcore - Terror |


  • nzyme
  • Registratie: November 2001
  • Laatst online: 28-12-2025
het loggen werkt, als ik bv een site connect dan zie ik een stuk of 10regels over poort 80. Wneer ik met flashfxp naar een ftp op poort 12345 connect wil het connecten niet en zie ik eenzelfde zooi regels over poort 12345.

Waarom werkt een poortscan nog wel :?
omdat icmp niet geblocked is ? Maar een scan op poort A kan toch niet omdat verkeer daarvandaan/naartoe niet toegestaan is :?

En ook UDP packets komen gewoon door :?

[ Voor 6% gewijzigd door nzyme op 13-05-2005 15:07 ]

| Hardcore - Terror |


  • cool_zero
  • Registratie: Juni 2001
  • Laatst online: 25-10-2022
Hellraizer schreef op vrijdag 13 mei 2005 @ 15:05:
Waarom werkt een poortscan nog wel :?
omdat icmp niet geblocked is ? Maar een scan op poort A kan toch niet omdat verkeer daarvandaan/naartoe niet toegestaan is :?
Zoals je zelf al zegt, dit gaat over icmp portocol en als je dat wil tegenhouden zul je daarmee wat in de FORWARD chain moeten doen.
En ook UDP packets komen gewoon door :?
Hoe heb je dat getest en kun je dan misschien de output van "iptables -L" even geven, dat is misschien wat duidelijker.

[ Voor 5% gewijzigd door cool_zero op 13-05-2005 21:56 ]


  • nzyme
  • Registratie: November 2001
  • Laatst online: 28-12-2025
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
root@router:/home/admin# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     icmp --  anywhere             anywhere            icmp echo-reply limit: avg 2/sec burst 5
ACCEPT     icmp --  anywhere             anywhere            icmp destination-unreachable limit: avg 2/sec burst 5
ACCEPT     icmp --  anywhere             anywhere            icmp redirect limit: avg 2/sec burst 5
ACCEPT     icmp --  anywhere             anywhere            icmp echo-request limit: avg 2/sec burst 5
ACCEPT     icmp --  anywhere             anywhere            icmp time-exceeded limit: avg 10/sec burst 5
ACCEPT     all  --  anywhere             anywhere
ACCEPT     udp  --  anywhere             anywhere            udp dpt:bootps
ACCEPT     udp  --  anywhere             anywhere            udp dpt:bootps
ACCEPT     udp  --  anywhere             anywhere            udp spt:domain
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh

Chain FORWARD (policy DROP)
target     prot opt source               destination
LOG        all  --  anywhere             anywhere            limit: avg 2/sec burst 5 LOG level info prefix `>>FORWARD: '
ACCEPT     icmp --  192.168.0.0/24      !192.168.0.0/24
ACCEPT     icmp -- !192.168.0.0/24       192.168.0.0/24      state RELATED,ESTABLISHED
ACCEPT     tcp  --  192.168.0.0/24      !192.168.0.0/24      tcp spts:tcpmux:65535 dpt:http
ACCEPT     tcp  -- !192.168.0.0/24       192.168.0.0/24      state RELATED,ESTABLISHED tcp spt:http dpts:tcpmux:65535
ACCEPT     tcp  --  192.168.0.0/24      !192.168.0.0/24      tcp spts:tcpmux:65535 dpt:https
ACCEPT     tcp  -- !192.168.0.0/24       192.168.0.0/24      state RELATED,ESTABLISHED tcp spt:https dpts:tcpmux:65535
ACCEPT     udp  --  192.168.0.0/24      !192.168.0.0/24      udp spts:tcpmux:65535 dpt:domain
ACCEPT     udp  -- !192.168.0.0/24       192.168.0.0/24      state RELATED,ESTABLISHED udp spt:domain dpts:tcpmux:65535
ACCEPT     icmp --  192.168.1.0/24      !192.168.1.0/24
ACCEPT     icmp -- !192.168.1.0/24       192.168.1.0/24      state RELATED,ESTABLISHED
ACCEPT     tcp  --  192.168.1.0/24      !192.168.1.0/24      tcp spts:tcpmux:65535 dpt:http
ACCEPT     tcp  -- !192.168.1.0/24       192.168.1.0/24      state RELATED,ESTABLISHED tcp spt:http dpts:tcpmux:65535
ACCEPT     tcp  --  192.168.1.0/24      !192.168.1.0/24      tcp spts:tcpmux:65535 dpt:https
ACCEPT     tcp  -- !192.168.1.0/24       192.168.1.0/24      state RELATED,ESTABLISHED tcp spt:https dpts:tcpmux:65535
ACCEPT     udp  --  192.168.1.0/24      !192.168.1.0/24      udp spts:tcpmux:65535 dpt:domain
ACCEPT     udp  -- !192.168.1.0/24       192.168.1.0/24      state RELATED,ESTABLISHED udp spt:domain dpts:tcpmux:65535

Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     icmp --  anywhere             anywhere            icmp destination-unreachable limit: avg 2/sec burst 5
ACCEPT     icmp --  anywhere             anywhere            icmp echo-request limit: avg 2/sec burst 5
ACCEPT     icmp --  anywhere             anywhere            icmp echo-reply limit: avg 2/sec burst 5
ACCEPT     icmp --  anywhere             anywhere            icmp time-exceeded limit: avg 10/sec burst 5
ACCEPT     all  --  anywhere             anywhere
ACCEPT     udp  --  anywhere             anywhere            udp spt:bootps
ACCEPT     udp  --  anywhere             anywhere            udp spt:bootps
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ssh
root@router:/home/admin#


Door vanachter de firewall een poortscan uit te voeren op een remote systeem. In de logs kwam forward meuk wat over udp ging.

| Hardcore - Terror |


  • cool_zero
  • Registratie: Juni 2001
  • Laatst online: 25-10-2022
Hellraizer schreef op vrijdag 13 mei 2005 @ 23:34:
code:
1
2
3
4
5
6
7
8
Chain FORWARD (policy DROP)
target     prot opt source               destination

ACCEPT     udp  --  192.168.0.0/24      !192.168.0.0/24      udp spts:tcpmux:65535 dpt:domain
ACCEPT     udp  -- !192.168.0.0/24       192.168.0.0/24      state RELATED,ESTABLISHED udp spt:domain dpts:tcpmux:65535

ACCEPT     udp  --  192.168.1.0/24      !192.168.1.0/24      udp spts:tcpmux:65535 dpt:domain
ACCEPT     udp  -- !192.168.1.0/24       192.168.1.0/24      state RELATED,ESTABLISHED udp spt:domain dpts:tcpmux:65535


Door vanachter de firewall een poortscan uit te voeren op een remote systeem. In de logs kwam forward meuk wat over udp ging.
Zoals hierboven te zien is staat er udp open voor dns, het klopt dus dat je udp verkeer krijgt als je iets met internetnamen doet.
code:
1
2
3
4
5
6
7
8
Chain FORWARD (policy DROP)
target     prot opt source               destination

ACCEPT     icmp --  192.168.0.0/24      !192.168.0.0/24
ACCEPT     icmp -- !192.168.0.0/24       192.168.0.0/24      state RELATED,ESTABLISHED

ACCEPT     icmp --  192.168.1.0/24      !192.168.1.0/24
ACCEPT     icmp -- !192.168.1.0/24       192.168.1.0/24      state RELATED,ESTABLISHED
icmp staat dus open naar buiten toe, maar dat zei ik eerder ook al ;) Je kunt zorgen dat bepaalde icmp types niet meer mogen worden uitgevoerd of een limit/s zetten op bepaalde type icmp packets zoals je bij de INPUT chain al gedaan had.

  • nzyme
  • Registratie: November 2001
  • Laatst online: 28-12-2025
AHA :D

code:
1
2
3
4
5
6
7
8
9
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

Zoiets moet ik ook in de FORWARD chain zetten denk ik dan :?

code:
1
2
3
4
iptables -A FORWARD -p icmp --icmp-type 0 -m limit --limit 2/s -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type 3 -m limit --limit 2/s -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type 8 -m limit --limit 2/s -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type 11 -m limit --limit 10/s -j ACCEPT

Nu accepteerd hij alleen deze icmp-types: 0, 3, 8, 11
Maar kan ik daarmee WEL sites bezoeken en GEEN poortscans meer doen ?

| Hardcore - Terror |


  • nzyme
  • Registratie: November 2001
  • Laatst online: 28-12-2025
hmz, bovenstaande krijg ik niet helemaal voor elkaar maar het kan makkelijker :
code:
1
2
3
echo "# ICMP"
$ICMP1I -j ACCEPT
$ICMP1O -j ACCEPT

veranderen in:
code:
1
2
3
echo "# ICMP"
$ICMP1I -j DROP
$ICMP1O -j DROP


Bij de opening van dit topic keek ik hier ook al zo raar tegen aan :p

iig, na de verandering kan ik niet meer pingen naar bv www.xs4all.nl surfen kan ik nog wel evenals liveupdate uitvoeren.
code:
1
2
3
4
5
6
7
8
9
10
11
12
>ping www.xs4all.nl

Pingen naar www.xs4all.nl [194.109.6.92] met 32 byte gegevens:

Time-out bij opdracht.
Time-out bij opdracht.
Time-out bij opdracht.
Time-out bij opdracht.

Ping-statistieken voor 194.109.6.92:
    Pakketten: verzonden = 4, ontvangen = 0, verloren = 4
    (100% verlies).

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
root@router:/home/admin# cat /var/log/messages | grep 194.109.6.92
May 14 00:07:02 router kernel: >>FORWARD: IN=eth1 OUT=eth0 SRC=192.168.0.17 DST=194.109.6.92 LEN=60 TOS=0x00 PREC=0x00 TTL=127 ID=5526 PROTO=ICMP TYPE=8 CODE=0 ID=768 SEQ=3072
May 14 00:07:08 router kernel: >>FORWARD: IN=eth1 OUT=eth0 SRC=192.168.0.17 DST=194.109.6.92 LEN=60 TOS=0x00 PREC=0x00 TTL=127 ID=5529 PROTO=ICMP TYPE=8 CODE=0 ID=768 SEQ=3328
May 14 00:07:13 router kernel: >>FORWARD: IN=eth1 OUT=eth0 SRC=192.168.0.17 DST=194.109.6.92 LEN=60 TOS=0x00 PREC=0x00 TTL=127 ID=5530 PROTO=ICMP TYPE=8 CODE=0 ID=768 SEQ=3584
May 14 00:07:19 router kernel: >>FORWARD: IN=eth1 OUT=eth0 SRC=192.168.0.17 DST=194.109.6.92 LEN=60 TOS=0x00 PREC=0x00 TTL=127 ID=5531 PROTO=ICMP TYPE=8 CODE=0 ID=768 SEQ=3840
May 14 00:09:30 router kernel: >>FORWARD: IN=eth1 OUT=eth0 SRC=192.168.0.17 DST=194.109.6.92 LEN=60 TOS=0x00 PREC=0x00 TTL=127 ID=5555 PROTO=ICMP TYPE=8 CODE=0 ID=768 SEQ=4096
May 14 00:09:35 router kernel: >>FORWARD: IN=eth1 OUT=eth0 SRC=192.168.0.17 DST=194.109.6.92 LEN=60 TOS=0x00 PREC=0x00 TTL=127 ID=5558 PROTO=ICMP TYPE=8 CODE=0 ID=768 SEQ=4352
May 14 00:09:41 router kernel: >>FORWARD: IN=eth1 OUT=eth0 SRC=192.168.0.17 DST=194.109.6.92 LEN=60 TOS=0x00 PREC=0x00 TTL=127 ID=5559 PROTO=ICMP TYPE=8 CODE=0 ID=768 SEQ=4608
May 14 00:09:46 router kernel: >>FORWARD: IN=eth1 OUT=eth0 SRC=192.168.0.17 DST=194.109.6.92 LEN=60 TOS=0x00 PREC=0x00 TTL=127 ID=5560 PROTO=ICMP TYPE=8 CODE=0 ID=768 SEQ=4864
May 14 00:14:17 router kernel: >>FORWARD: IN=eth1 OUT=eth0 SRC=192.168.0.17 DST=194.109.6.92 LEN=60 TOS=0x00 PREC=0x00 TTL=127 ID=5829 PROTO=ICMP TYPE=8 CODE=0 ID=768 SEQ=6144
May 14 00:14:23 router kernel: >>FORWARD: IN=eth1 OUT=eth0 SRC=192.168.0.17 DST=194.109.6.92 LEN=60 TOS=0x00 PREC=0x00 TTL=127 ID=5832 PROTO=ICMP TYPE=8 CODE=0 ID=768 SEQ=6400
May 14 00:14:28 router kernel: >>FORWARD: IN=eth1 OUT=eth0 SRC=192.168.0.17 DST=194.109.6.92 LEN=60 TOS=0x00 PREC=0x00 TTL=127 ID=5833 PROTO=ICMP TYPE=8 CODE=0 ID=768 SEQ=6656
May 14 00:14:34 router kernel: >>FORWARD: IN=eth1 OUT=eth0 SRC=192.168.0.17 DST=194.109.6.92 LEN=60 TOS=0x00 PREC=0x00 TTL=127 ID=5834 PROTO=ICMP TYPE=8 CODE=0 ID=768 SEQ=6912
root@router:/home/admin#


offtopic:
jaja, me router loopt 12uur achter :p


Nu moet ik alleen ff zoeken hoe ik alle pogingen tot poortscan kan loggen.... Lijkt me dus alleen icmp packets loggen en dan graag in een /var/log/firewall bestandje ipv de messages. Moet wel op GoT te vinden zijn :)

edit:
syslog.conf:
code:
1
*.=debug /var/log/debug.firewall

rc.firewall:
code:
1
iptables -I FORWARD 1 -o eth0 -j LOG -p all -m limit --limit 2/s --log-level 6 --log-prefix ">>FORWARD Logged"

veranderen in:
code:
1
2
3
iptables -I FORWARD -o eth0 -j LOG -p tcp -m limit --limit 2/s --log-level 6 --log-prefix ">>FORWARD (TCP): "
iptables -I FORWARD -o eth0 -j LOG -p udp -m limit --limit 2/s --log-level 6 --log-prefix ">>FORWARD (UDP): "
iptables -I FORWARD -o eth0 -j LOG -p icmp -m limit --limit 2/s --log-level 6 --log-prefix ">>FORWARD (ICMP): "


Geloof dat alles nu perfect werkt :D

[ Voor 21% gewijzigd door nzyme op 14-05-2005 12:40 ]

| Hardcore - Terror |


  • cool_zero
  • Registratie: Juni 2001
  • Laatst online: 25-10-2022
Hellraizer schreef op zaterdag 14 mei 2005 @ 00:06:
Zoiets moet ik ook in de FORWARD chain zetten denk ik dan :?
Ja, dat klopt, het plaatje in dit topic illustreert dat erg goed: [rml][ iptables] deel 947 echt vaag[/rml]
Nu moet ik alleen ff zoeken hoe ik alle pogingen tot poortscan kan loggen.... Lijkt me dus alleen icmp packets loggen en dan graag in een /var/log/firewall bestandje ipv de messages. Moet wel op GoT te vinden zijn :)
En die regel moet dan voor je icmp-drop regel staan, anders zie je nog niets in je log :)

  • nzyme
  • Registratie: November 2001
  • Laatst online: 28-12-2025
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
root@router:/home/admin# cat /etc/rc.d/rc.firewall
#! /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 -A FORWARD -o $IFACE_INET -j LOG -p all -m limit --limit 2/s --log-level debug --log-prefix ">>FORWARD (TCP): "
iptables -A FORWARD -o $IFACE_INET -j LOG -p udp -m limit --limit 2/s --log-level debug --log-prefix ">>FORWARD (UDP): "
iptables -A FORWARD -o $IFACE_INET -j LOG -p icmp -m limit --limit 2/s --log-level debug --log-prefix ">>FORWARD (ICMP): "

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 DROP
$ICMP1O -j DROP
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 "= NAT rules eth2:"
echo "# ICMP"
$ICMP2I -j DROP
$ICMP2O -j DROP
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 "= Building up Firewall"
echo "= Setting LOCAL 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 0 -m limit --limit 2/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 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 "= LOCAL settings..."
echo "# DHCP/SSH 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
iptables -A INPUT -i $IFACE_LAN1 -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -o $IFACE_LAN1 -p tcp --sport 22 -j ACCEPT

echo "# DHCP/SSH 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
iptables -A INPUT -i $IFACE_LAN2 -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -o $IFACE_LAN2 -p tcp --sport 22 -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 #
root@router:/home/admin#

Het werkende script :D

| Hardcore - Terror |


  • cool_zero
  • Registratie: Juni 2001
  • Laatst online: 25-10-2022
Bij de eerste log regel moet er waarschijnlijk -p tcp staan i.p.v. -p all. Voor de rest ziet het er goed uit.

[ Voor 20% gewijzigd door cool_zero op 14-05-2005 16:05 ]


  • nzyme
  • Registratie: November 2001
  • Laatst online: 28-12-2025
fuck idd ja domme ik :p vergeten weer terug te zetten :p oepz _O_

| Hardcore - Terror |

Pagina: 1