Samba + Iptables probleem

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Trekkerkearl
  • Registratie: December 2003
  • Laatst online: 28-08 06:57

Trekkerkearl

Twentse Boer en ICT'er

Topicstarter
Ik heb vanmiddag een klein firewall scriptje gemaakt voor mijn 2 computers.
De machines draaien arch linux en samba werkt er pefect op als iptables niet aan staat, ook kan ik dan alle andere computer zien en benaderen op hun shares.

Voor zover ik begrepen heb gebruikt samba de poorten 445, 137, 138 en 139 moeten zowel op TCP als UDP open staan om samba te kunnen gebruiken.

dit is mijn iptables.rules bestand.

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
*filter
-F
-X

-P INPUT DROP
-P OUTPUT ACCEPT
-P FORWARD DROP

-A INPUT -s 127.0.0.1 -j ACCEPT
-A OUTPUT -s 127.0.0.1 -j ACCEPT

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

#Standard Ports
-A INPUT -p tcp --dport 20 -j ACCEPT
-A INPUT -p tcp --dport 21 -j ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --dport 25 -j ACCEPT
-A INPUT -p tcp --dport 42 -j ACCEPT
-A INPUT -p tcp --dport 43 -j ACCEPT
-A INPUT -p tcp --dport 53 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 110 -j ACCEPT
-A INPUT -p tcp --dport 119 -j ACCEPT
-A INPUT -p tcp --dport 137:139 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -p tcp --dport 445 -j ACCEPT
-A INPUT -p tcp --dport 1863 -j ACCEPT
-A INPUT -p tcp --dport 2301 -j ACCEPT
-A INPUT -p tcp --dport 2381 -j ACCEPT
-A INPUT -p tcp --dport 5814 -j ACCEPT
-A INPUT -p tcp --dport 6110 -j ACCEPT
-A INPUT -p tcp --dport 6111 -j ACCEPT
-A INPUT -p tcp --dport 6881:6889 -j ACCEPT
-A INPUT -p tcp --dport 6891:6895 -j ACCEPT
-A INPUT -p tcp --dport 10017 -j ACCEPT
-A INPUT -p tcp --dport 31416 -j ACCEPT
-A INPUT -p tcp --dport 32800:32900 -j ACCEPT

-A INPUT -p udp --dport 42 -j ACCEPT
-A INPUT -p udp --dport 53 -j ACCEPT
-A INPUT -p udp --dport 80 -j ACCEPT
-A INPUT -p udp --dport 123 -j ACCEPT
-A INPUT -p udp --dport 137:139 -j ACCEPT
-A INPUT -p udp --dport 445  -j ACCEPT
-A INPUT -p udp --dport 5814 -j ACCEPT
-A INPUT -p udp --dport 6110 -j ACCEPT
-A INPUT -p udp --dport 6111 -j ACCEPT
-A INPUT -p udp --dport 10017 -j ACCEPT
-A INPUT -p udp --dport 32700:32800 -j ACCEPT

COMMIT


echter werkt samba dan dus niet...
Als ik echte de regel boven aan in het bestand aanpas naar

code:
1
-A INPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT


dan werkt samba wel, maar ik wil die state NEW niet gebruiken voor alle poorten.
Ik heb dus geprobeert alleen de samba poorten van die status te voorzien door het volgende in het bestand te zetten

code:
1
2
-A INPUT -m state --state NEW,RELATED,ESTABLISHED -p tcp --dport 137:139 -j ACCEPT
-A INPUT -m state --state NEW,RELATED,ESTABLISHED -p tcp --dport 445 -j ACCEPT


voor de UDP poorten heb ik hetzelfde gedaan, maar dan werkt het gek genoeg niet...
blijkbaar moet er nog een poort de state NEW hebben maar ik weet niet welke of waar het anders aan kan liggen...

iemand een idee ? 8)

Ik heb d’r nich veur keuzn Tukker te wean, ik heb gewoon onmeunig mazzel had!


Acties:
  • 0 Henk 'm!

  • rapture
  • Registratie: Februari 2004
  • Laatst online: 04:01

rapture

Zelfs daar netwerken?

Zonder NEW-state laat je aan de INPUT alleen maar bestaande en gerelateerde connecties door. Aangezien je nog geen connecties heb, wordt er niks binnengelaten. Er moet ergens een kans zijn om connecties aan te maken.

Acties:
  • 0 Henk 'm!

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 21:46

Kees

Serveradmin / BOFH / DoC
Ik zou loggen en/of tcpdumpen en zien of je een poort vergeten bent.

New/related/established accepten is hetzelfde als al het verkeer zomaar accepten, dus die oplossing zit meer in de lijn van 'met firewall uit gaat het wel goed'.

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Acties:
  • 0 Henk 'm!

  • Trekkerkearl
  • Registratie: December 2003
  • Laatst online: 28-08 06:57

Trekkerkearl

Twentse Boer en ICT'er

Topicstarter
zonder NEW werkt het anders goed hoor @rapture ... alleen Samba niet.
Ik zou loggen en/of tcpdumpen en zien of je een poort vergeten bent.
dat is een goede suggestie.... die ga ik zeker proberen, echter weet ik niet of ik dat ook in iptables.rules kan aanroepen, maar we proberen het :)

Edit 20:36

dit is hem dan geworden en ny nog testen natuurlijk.

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
-F
-X

-P INPUT DROP
-P OUTPUT ACCEPT
-P FORWARD DROP

-A INPUT -j LOG --log-level 4

-A INPUT -s 127.0.0.1 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp --icmp-type 8 -m state --state NEW -j ACCEPT
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreach
-A INPUT -p tcp -j REJECT --reject-with tcp-rst
-A INPUT -j REJECT --reject-with proto-unreach

-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 
-A OUTPUT -s 127.0.0.1 -j ACCEPT

-A INPUT -p tcp --dport 20 -j ACCEPT
-A INPUT -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --dport 25 -j ACCEPT
-A INPUT -p tcp --dport 42 -j ACCEPT
-A INPUT -p tcp --dport 43 -j ACCEPT
-A INPUT -p tcp --dport 53 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 110 -j ACCEPT
-A INPUT -p tcp --dport 119 -j ACCEPT
-A INPUT -p tcp --dport 137:138 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A INPUT -p tcp --dport 515 -j ACCEPT
-A INPUT -p tcp --dport 631 -j ACCEPT
-A INPUT -p tcp --dport 1863 -j ACCEPT
-A INPUT -p tcp --dport 2301 -j ACCEPT
-A INPUT -p tcp --dport 2381 -j ACCEPT
-A INPUT -p tcp --dport 5814 -j ACCEPT
-A INPUT -p tcp --dport 6110 -j ACCEPT
-A INPUT -p tcp --dport 6111 -j ACCEPT
-A INPUT -p tcp --dport 6881:6889 -j ACCEPT
-A INPUT -p tcp --dport 6891:6895 -j ACCEPT
-A INPUT -p tcp --dport 10017 -j ACCEPT
-A INPUT -p tcp --dport 31416 -j ACCEPT
-A INPUT -p tcp --dport 32800:32900 -j ACCEPT

-A INPUT -p udp --dport 42 -j ACCEPT
-A INPUT -p udp --dport 53 -j ACCEPT
-A INPUT -p udp --dport 80 -j ACCEPT
-A INPUT -p udp --dport 123 -j ACCEPT
-A INPUT -p udp --dport 137:139 -j ACCEPT
-A INPUT -p udp --dport 161 -j ACCEPT
-A INPUT -p udp --dport 162 -j ACCEPT
-A INPUT -p udp --dport 445  -j ACCEPT
-A INPUT -p udp --dport 631 -j ACCEPT
-A INPUT -p udp --dport 5814 -j ACCEPT
-A INPUT -p udp --dport 6110 -j ACCEPT
-A INPUT -p udp --dport 6111 -j ACCEPT
-A INPUT -p udp --dport 10017 -j ACCEPT
-A INPUT -p udp --dport 32700:32800 -j ACCEPT

COMMIT


crap hij doet het nog steeds niet, al het andere wel, maar geen samba

[ Voor 80% gewijzigd door Trekkerkearl op 23-08-2010 22:35 ]

Ik heb d’r nich veur keuzn Tukker te wean, ik heb gewoon onmeunig mazzel had!


Acties:
  • 0 Henk 'm!

Verwijderd

Van samba.org:

Port 135/TCP - used by smbd
Port 137/UDP - used by nmbd
Port 138/UDP - used by nmbd
Port 139/TCP - used by smbd
Port 445/TCP - used by smbd

Hier mis ik er dus een van ;)


Edit:

Probeer anders dit even:
When configuring a firewall, the high order ports (1024-65535) are often used for outgoing connections and therefore should be permitted through the firewall. It is prudent to block incoming packets on the high order ports except for established connections.

[ Voor 44% gewijzigd door Verwijderd op 24-08-2010 09:00 ]


Acties:
  • 0 Henk 'm!

  • vanaalten
  • Registratie: September 2002
  • Laatst online: 06-10 17:20
Verwijderd schreef op dinsdag 24 augustus 2010 @ 08:46:
Van samba.org:

Port 135/TCP - used by smbd
Port 137/UDP - used by nmbd
Port 138/UDP - used by nmbd
Port 139/TCP - used by smbd
Port 445/TCP - used by smbd

Hier mis ik er dus een aantal van ;)
Van wat ik zo zie heeft TS alleen poort 135 er niet bij staan - en als ik naar m'n eigen iptables script kijk lijkt die ook niet nodig te zijn (ik heb zelf ook alleen 137-139 en 445 TCP/UDP open staan).

Zelf zou ik de trial&error methode proberen:
eerst poorten 0...32767 open zetten, kijken of het werk. Zo niet, dan 32768...65535 open zetten, ter controle.
Dan de werkende range halveren en weer testen. En zo verder. Met een paar stappen kan je dan bepalen waar het mis gaat.

Acties:
  • 0 Henk 'm!

  • Trekkerkearl
  • Registratie: December 2003
  • Laatst online: 28-08 06:57

Trekkerkearl

Twentse Boer en ICT'er

Topicstarter
Ik heb het probleem al opgelost door de volgende regel toe te voegen aan het script.

code:
1
-A INPUT -p udp --dport 1025:65535 -j ACCEPT


als ik de range kleiner maak dan wekt het al niet meer, dus ik denk dat hij deze poorten actief nodig heeft op de een of andere manier... :X
Het zijn echter maar udp poorten en ze vormen geen groot risico dus.... het moet maar :9

problem solved !! iedereen bedankt voor de moeite ;w

Ik heb d’r nich veur keuzn Tukker te wean, ik heb gewoon onmeunig mazzel had!


Acties:
  • 0 Henk 'm!

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 06-10 13:38

deadinspace

The what goes where now?

Trekkerkearl schreef op dinsdag 24 augustus 2010 @ 11:24:
Ik heb het probleem al opgelost door de volgende regel toe te voegen aan het script.
code:
1
-A INPUT -p udp --dport 1025:65535 -j ACCEPT

als ik de range kleiner maak dan wekt het al niet meer, dus ik denk dat hij deze poorten actief nodig heeft op de een of andere manier... :X
Heb je nou al in je iptables log gekeken wat hij dan tegenhoudt als je die rule niet gebruikt? Of een netwerksniffer gebruikt?

Ik zie in de laatste incarnatie van je script dat je al vrij vroeg alle UDP traffic reject, staat dat er nog? Anders is het niet zo gek dat het niet werkt idd.

Ik vind die blokkeer-alle-poorten aanpak trouwens vaak een tikje overdreven... Welke security levert het nou daadwerkelijk op?
Pagina: 1