» »

Samba porti

Samba porti

poweroff ::

Zanima me katere porte moram odpreti na firewallu, če želim, da moj Linux računalnik vidijo drugi računalniki v omrežju.

TCP: 139 in 445
UDP: ??? 137, 138, 139, 445?
sudo poweroff

borchi ::

TCP: 137, 139, 445
UDP: 137, 138, 139

edit: aja, js dovolim tut udp porte nad 1024, če je source port 137. ne bom trdil, ampak mislim, da je bilo to tisto, kar je zadovoljilo vse (z)mešane OSje na mojmu lan-u.
l'jga

Zgodovina sprememb…

  • spremenil: borchi ()

OmegaBlue ::

Kolikor vem samba uporablja 137/tcp/udp 138/tcp/udp 139/tcp/udp.
Never attribute to malice that which can be adequately explained by stupidity.

Brane2 ::

Tudi 445 rabiš, če hočeš da dela stvar v naprednem načinu (=CIFS)
On the journey of life, I chose the psycho path.

OmegaBlue ::

Dobro vedeti :)
Never attribute to malice that which can be adequately explained by stupidity.

poweroff ::

Ugotovil sem še nekaj.

Ne sme se blokirati broadcast paketkov. Še vedno pa blokiram multicast (prej sem imel totalno paranoičen firewall, ki je blokiral oboje).

OK, zdaj sem odprl porte:
TCP_PORTS: 139 445
UDP_PORTS: 137 138

OK, če nmapam sam sebe s parametrom -sU, vidim, da so odprti UDP porti:
137/udp open|filtered netbios-ns
138/udp open|filtered netbios-dgm
32775/udp open|filtered sometimes-rpc14

Včasih pokaže še enega okrog 32000, vendar to pač blokiram.

In sedaj, ko sem to odprl:
a) vidim network
b) drugi v networku vidijo mene

Problem pa je:
a) vidim samo en network (v resnici sta dva). Če rečem:
iptables -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT

iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Potem vidim oba networka (NET1 in NET2). Očitno torej še vedno preveč blokiram. Ampak kaj?

b) Če imam vključen firewall, potem ko v smb4k (KDE SMB browser) kliknem na en računalnik, se zgodi tole: dostop je zavrnjen. Če pa flushnem iptables in odprem firewall, pa se mi v smb4k pojavi okno, ki me vpraša za avtentikacijo. To je verjetno povezano s tem, da nekaj preveč blokiram v firewallu.

c) Imam dve mrežni kartici - eth0 in eth1. eth0 je vezana na lokalno omrežje, ki je zaprto, fizično ločeno in nima povezave v internet. eth1 pa je odprto in ima zunanje IPje.
Problem je v tem, da obstajajo na obeh omrežjih različna windows omrežja. Na eth0 sta dva, na eth1 pa štirje. Windows omrežij ki so na eth1 ne vidim.

Jih pa vidim v Windowsih Xp.
Je pa ena čudna zadeva. En računalnik, ki je na omrežju NET2 na eth0 ima IP lokalni (10.10.10.xxx), drugi pa ima zunanjega (193.xxx.xxx.xxx). To mi namreč pokaže smb4k.

Ampak! Če pa v Konquerorju vpišem smb://193.xxx.xxx.xxx - IP od neke mašine na eth1 na enem izmed networkov, ki jih ne vidim, pa lepo pridem gor! Če seveda vpišem smb://ime_kiste ne pridem nikamor.

d) Ne morem mountat svojega shara iz smb4k. Če v smb4k kliknem na svoj račuanlnik vidim kateri share imam omogočen. OK, sedaj pa kliknem na share in javi tole:
"smbmnt must be installed suid root for direct user mounts (1000,1000) // smbmnt failed: 1". Če grem vKonqueror, pa seveda svoj share brez problemov mountam.

BTW: share je narejen tako, da lahko gor pišejo in berejo vsi. Gre v bistvu za eno FAT particijo, ki jo v /etc/fstab automountam in omogočim pisanje po njej vsem.

e) kako implementirati dropanje ostalih broadcast paketkot razen od sambe (oz. od nekaj izbranih windows kišt). Dropnem jih takole:
$IPTB -A INPUT -m pkttype --pkt-type broadcast -j DROP
Vendar če imam to vključeno, Samba ne dela (kot sem že zgoraj omenil).
sudo poweroff

korenje_ver2 ::

no nisem ravno bralec romanov, ki so nezanimivi... sicer pa...

zakaj misls da imajo headerje z ipji in porti taki paketi?
poskusi nekaj takega $IPTB -A INPUT -p udp -m pkttype --pkt-type broadcast --dport ! 138 -j DROP

edit: ali pa mogoce brez -p udp :)

Zgodovina sprememb…

Brane2 ::

Ne vem, če ima broadcast kakšen pomen pri tcpju.

Tam je itak vse p2p...

Matthai:

Broadcast rabiš, ker ti ne dela ali pa ne uporabljaš "wins". Uporabljaš torej stari način spremljanja mašin v skupini in resourceov (udp broadcast" namesto novega, poizvedba pri PDCju...

Če imaš opravka z Windows klienti, so ti dostikrat zateženi in zahtevajo določen protokol, tako da ni rečeno, da si lahko brez broadcasta, sicer pa ga AFAIK ne rabiš...
On the journey of life, I chose the psycho path.

korenje_ver2 ::

brane, samo zato ker govorim o ipjih in portih, se ne pomen da paketi ne morejo biti broadcast. da pa broadcast od windows klientov za sambo lahko mirno blokiras.

Zgodovina sprememb…

Brane2 ::


OK, zdaj sem odprl porte:
TCP_PORTS: 139 445
UDP_PORTS: 137 138


Sam imam to tako rešeno, da imam v lokalu odprte porte tako udp kot tcp: 137,138,139,445.
Pri tem, jasno, govrimo o DESTINATION PORTih in ne startnih ali obojih. Pri filtriranju te torej zanima -dport in ne -port ali -sport...


Je pa ena čudna zadeva. En računalnik, ki je na omrežju NET2 na eth0 ima IP lokalni (10.10.10.xxx), drugi pa ima zunanjega (193.xxx.xxx.xxx). To mi namreč pokaže smb4k.


V okvirih dosega kabla Etherneta imaš dva različna IP omrežja. Pa je to dobro ? Po tamalem to pomeni, da imaš tisto ethernetko v kurbirskem modu, pa verjetno tudi probleme in luknje pri filtriranju, saj rabiš učinkovit firewall tudi na tisti mašini...


Ampak! Če pa v Konquerorju vpišem smb://193.xxx.xxx.xxx - IP od neke mašine na eth1 na enem izmed networkov, ki jih ne vidim, pa lepo pridem gor! Če seveda vpišem smb://ime_kiste ne pridem nikamor.


V sambi lahko nastaviš način, kako ime spremeni v IP. Pri tem lahko nastaviš, da uporablja klasični DNS, lmhostst file, hosts file ali kaj tretjega. Pač imena hostov imej v /etc/hosts in to imej nastavljeno, pa wins imej vklopljen. DNS pa, če je izklopljen, zaboga izklopi...



d) Ne morem mountat svojega shara iz smb4k. Če v smb4k kliknem na svoj račuanlnik vidim kateri share imam omogočen. OK, sedaj pa kliknem na share in javi tole:
"smbmnt must be installed suid root for direct user mounts (1000,1000) // smbmnt failed: 1". Če grem vKonqueror, pa seveda svoj share brez problemov mountam.


SMbmount ti neče zmountat stvari, ker nisi root, on pa ne suid_root. spremeni mu atribute (chmod 3711 ali kaj poodobnega), pa bo mogoče delal.

Sams se izogibam Konquerorja in njegovih smb uslug, ker nikoli ne vem, kaj točno počne "za zaveso". Saj vse kao nekako dela,s amo dostikrat pri njemu mi odpiranje mape iz nerazumljivih vzrokov traja nekaj sekund preveč, ki jih pri ročno/fstab zmountani particiji ni...



e) kako implementirati dropanje ostalih broadcast paketkot razen od sambe (oz. od nekaj izbranih windows kišt). Dropnem jih takole:
$IPTB -A INPUT -m pkttype --pkt-type broadcast -j DROP



Odvisno od ostalih pravil v tvojem FWju.

Čisto tako na uč:

$IPTB -A INPUT -i eth0 -m multiports -dport 137,138,139,445 -s10.0.0.0/24 -pkt-type broadcast -j DROP
On the journey of life, I chose the psycho path.

Zgodovina sprememb…

  • spremenil: Brane2 ()

Brane2 ::


brane, samo zato ker govorim o ipjih in portih, se ne pomen da paketi ne morejo biti broadcast. da pa broadcast od windows klientov za sambo lahko mirno blokiras.


Pravim samo, da tisti -p UDP verjetno ne bi naredil razlike. Broadcasting pri TCPju ne dela. JE pa res, da tak paket lahko pošleš in mogoče z njim narediš kje kako štalo. Good point...:\
On the journey of life, I chose the psycho path.

korenje_ver2 ::

al pa ce bi kdo moje configre prebral, ki sem jih dal pred katkim casom na ta forum...
Tole dej v config od sambe:

interfaces = eth0 eth1 br0
hosts allow = 192.168. 127. 10.
read only = no
guest ok = yes
browseable = yes
writable = yes
public = yes

edit: sicer ne vem vec kaj pisem oz kaksen problem ma... karkoli ze cisto mozno da programska oprema (samba) omejuje dostopanje iz 10/8

Zgodovina sprememb…

Brane2 ::

IIRc tudi če ne podaš interfaces in hosts_allow, bo pač samba poslušala na vseh vmesnikih in dovoljevala dostop vsem...

Zakaj pa rabi tudi br0 ?
On the journey of life, I chose the psycho path.

Zgodovina sprememb…

  • spremenil: Brane2 ()

korenje_ver2 ::

brane, br0 je zato ker imam delno transparentni bridge ali pa je ostanek od prejsnje konfiguracije in ni pogoj da bi to odstranil za normalno delovanje.
zakaj bi omogocal tudi drugim? zato ker ne vem ker lolek bo hodil s svojim pcjem v mojo hiso prklapljat svoj racunalnik v omrezje, drugace pa firewall na drugem nivoju onemogoca dostop drugim. to je pa tako zato, ker ce si bom spreminjal ip na pcju, da bo normalno delovalo.

Zgodovina sprememb…

Brane2 ::

Ja, to vem. Samo tip sprašuje, zakaj mu stvar ne dela. Dodajanje novih filtrov tega sedaj očitno ne bo rešilo.

Ko bo pa stvar enkrat delala, je pa jasno pametno imeti dodatne filtre...
On the journey of life, I chose the psycho path.

korenje_ver2 ::

ja ne vem kako on to filtrira. jz filtriram vse v externo omrezje (internet). samo za primer naj povem, da dobim na dan preko 1000 povezav na sambo, ce izklopim filtre v externo omrezje.

hruske ::

HA.

Pogrnil ste vsi po vrsti.

Ni problem v strezniku, ampak v odjemalcu. Streznik ze deluje.

Dobro bi bilo, ko bi matthai prilepil izpis ukaza

nmblookup -d 4 -A 10.x.x.x


Ce to ne bo dovolj, bo morda potreben se kak "tcpdump -i eth1" ob izvajanju zgornjega ukaza.
Rad imam tole državico. <3

Zgodovina sprememb…

  • spremenilo: hruske ()

Brane2 ::


$IPTB -A INPUT -i eth0 -m multiports -dport 137,138,139,445 -s10.0.0.0/24 -pkt-type broadcast -j DROP


Errm, moj zajeb. Te pakete naj bi acceptal in ne dropal.

Torej:

$IPTB -A INPUT -i eth0 -m multiports -dport 137,138,139,445 -s10.0.0.0/24 -pkt-type broadcast -j ACCEPT
On the journey of life, I chose the psycho path.

hruske ::

Ok, pravilno je:

$IPTB -A INPUT -i eth0 -p udp -m multiports --dports 137,138 \
-s 10.0.0.0/24 -j ACCEPT
$IPTB -A INPUT -i eth0 -p tcp -m multiports --dports 139,445 \
-s 10.0.0.0/24 -j ACCEPT


Dobro je imet oba interfejsa v smb.conf, ja, ampak samba se itak privzeto veze na vse ki jih najde.

Pa verjetno bi koristilo tudi


$IPTB -A INPUT -i eth0 -p udp -m multiports --dports 137,138 \
-s 10.0.0.0/24 -m pkttype --pkt-type broadcast -j ACCEPT
Rad imam tole državico. <3

Zgodovina sprememb…

  • spremenilo: hruske ()

hruske ::

Hmnja, pa se

nmblookup -d 4 IME_KISTE


bi blo dobro videt.
Rad imam tole državico. <3

korenje_ver2 ::

hruske, kaj mu bo to, ce se baje ne more sploh povezat. nmb se pa poveze na port 137 se mi zdi.

kle je primer smb paketov pri aktivni povezavi (port 138 filtriram, ker je multicast (edini port) in ni potreben):
19:12:15.299853 192.168.0.11.2017 > 192.168.1.100.139: P 2700:2745(45) ack 3711 win 64435
>>> NBT Packet
NBT Session Packet
Flags=0x0
Length=41 (0x29)

SMB PACKET: SMBclose (REQUEST)
SMB Command = 0x4
Error class = 0x0
Error code = 0 (0x0)
Flags1 = 0x18
Flags2 = 0x7
Tree ID = 1 (0x1)
Proc ID = 65279 (0xfeff)
UID = 0 (0x0)
MID = 50051 (0xc383)
Word Count = 3 (0x3)
smbvwv[]=
Handle=9269 (0x2435)
Time=Thu Jan 1 00:59:59 1970
[|SMB]
(DF) (ttl 128, id 13969, len 85)

hruske ::

Eh, kva sm neumen.


$IPTB -A INPUT -i eth1 -p udp --sport 137 -j ACCEPT
Rad imam tole državico. <3

Brane2 ::

Zakaj --sport ?

Saj efemeralni (source) porti ponavadi nikoli niso tam, kjer so destination-porti, še več, dostikrat so random in služijo samo identifikaciji paketa, ne pa označevanju tipa servisa...
On the journey of life, I chose the psycho path.

hruske ::

Ker je tak reko tcpdump. Odgovarja namrec duhec, ki pociva na portu 137 in ocitno ne odpira novega socketa.

Popolnoma empiricna ugotovitev.
Rad imam tole državico. <3

Brane2 ::

na udpju AFAIK ni "socketov".Vsak paket je zase.

To, da ima ta sport isti kot dport ne bo nujno vedno res, razen če višjeležeči protokol to zahteva...
On the journey of life, I chose the psycho path.

hruske ::

Eh. Na podlagi cesa pa naj ne bi bilo socketov? Ravno tako mora program poslusati na dolocenem portu, jasno da bo odprl socket.

Glede na to, da so bili porti vedno 137 > 32000+, sklepam, da bi to moralo delovati.
Rad imam tole državico. <3

Zgodovina sprememb…

  • spremenilo: hruske ()

Brane2 ::

Res je. Zabluzil sem in na trenutek pomešal "virtual link" naravo TCPja s socketom... :8)
On the journey of life, I chose the psycho path.

poweroff ::

OK, pogledam eno kišto v lokalnem omrežju z IP = 10.10.10.100 in imenom \\hana (Win 2000 server)

matej@matthai:~$ nmblookup -d 4 -A 10.10.10.100
lp_load: refreshing parameters
Initialising global parameters
params.c:pm_process() - Processing configuration file "/etc/samba/smb.conf"
Processing section "[global]"
doing parameter workgroup = CJMMK
doing parameter server string = %h server
doing parameter dns proxy = no
doing parameter interfaces = eth0 eth1
doing parameter log file = /var/log/samba/log.%m
doing parameter max log size = 1000
doing parameter syslog = 0
doing parameter panic action = /usr/share/samba/panic-action %d
doing parameter encrypt passwords = yes
doing parameter passdb backend = tdbsam guest
doing parameter obey pam restrictions = no
doing parameter invalid users = root
doing parameter passwd program = /usr/bin/passwd %u
doing parameter passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
doing parameter socket options = TCP_NODELAY
doing parameter message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &
doing parameter restrict anonymous = no
doing parameter domain master = no
doing parameter preferred master = no
doing parameter ldap ssl = No
doing parameter security = share
pm_process() returned Yes
added interface ip=10.10.10.50 bcast=10.10.10.255 nmask=255.255.255.0
added interface ip=193.***.***.50 bcast=193.***.***.255 nmask=255.255.255.0
Socket opened.
Looking up status of 10.10.10.100
nmb packet from 10.10.10.100(137) header: id=31232 opcode=Query(0) response=Yes
    header: flags: bcast=No rec_avail=No rec_des=No trunc=No auth=Yes
    header: rcode=0 qdcount=0 ancount=1 nscount=0 arcount=0
    answers: nmb_name=*<00> rr_type=33 rr_class=1 ttl=0
    answers   0 char .HANA              hex 0848414E412020202020202020202020
    answers  10 char ...HANA            hex 00040048414E41202020202020202020
    answers  20 char    ..CJMMK         hex 2020200400434A4D4D4B202020202020
    answers  30 char     ...HANA        hex 2020202000840048414E412020202020
    answers  40 char       ...INet~Se   hex 202020202020030400494E65747E5365
    answers  50 char rvices  ...IS~HA   hex 72766963657320201C840049537E4841
    answers  60 char NA...........CJM   hex 4E410000000000000000000400434A4D
    answers  70 char MK          ...A   hex 4D4B202020202020202020201E840041
    answers  80 char DMINISTRATOR  ..   hex 444D494E4953545241544F5220200304
    answers  90 char ..P.............   hex 0000508BF7F296000000000000000000
    answers  a0 char ................   hex 00000000000000000000000000000000
    answers  b0 char ...............   hex 000000000000000000000000000000
        HANA            <00> -         B <ACTIVE>
        HANA            <20> -         B <ACTIVE>
        CJMMK           <00> - <GROUP> B <ACTIVE>
        HANA            <03> -         B <ACTIVE>
        INet~Services   <1c> - <GROUP> B <ACTIVE>
        IS~HANA         <00> -         B <ACTIVE>
        CJMMK           <1e> - <GROUP> B <ACTIVE>
        ADMINISTRATOR   <03> -         B <ACTIVE>

        MAC Address = **-**-**-**-**-**



Pa še po imenu:
matej@matthai:~$ nmblookup -d 4 Hana
lp_load: refreshing parameters
Initialising global parameters
params.c:pm_process() - Processing configuration file "/etc/samba/smb.conf"
Processing section "[global]"
doing parameter workgroup = CJMMK
doing parameter server string = %h server
doing parameter dns proxy = no
doing parameter interfaces = eth0 eth1
doing parameter log file = /var/log/samba/log.%m
doing parameter max log size = 1000
doing parameter syslog = 0
doing parameter panic action = /usr/share/samba/panic-action %d
doing parameter encrypt passwords = yes
doing parameter passdb backend = tdbsam guest
doing parameter obey pam restrictions = no
doing parameter invalid users = root
doing parameter passwd program = /usr/bin/passwd %u
doing parameter passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
doing parameter socket options = TCP_NODELAY
doing parameter message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &
doing parameter restrict anonymous = no
doing parameter domain master = no
doing parameter preferred master = no
doing parameter ldap ssl = No
doing parameter security = share
pm_process() returned Yes
added interface ip=10.10.10.50 bcast=10.10.10.255 nmask=255.255.255.0
added interface ip=193.***.***.50 bcast=193.***.***.255 nmask=255.255.255.0
Socket opened.
querying Hana on 10.10.10.255
querying Hana on 193.***.***.255
name_query failed to find name Hana
sudo poweroff

Zgodovina sprememb…

  • spremenilo: poweroff ()

Brane2 ::

Tako kot imaš sedaj nastavljeno pixno, ti očitn name resloution lahkhko dela samo skozi broadcasting, tega pa ti tista mašina ne podpira.

Nastavi si Linux pixno tako, da je PDC.

Torej naj bo:

-domain master
-preferred master
-wins support

omogočen.

ZAdevo lahko rešiš tudi tako, da imena in naslove vpišeš v (IIRC) /etc/hosts file, nato pa v smb.conf nastaviš, da gre najprej to gledat. Mislim, da je opcija "Name resolve order" ki naj bi v tvojem primeru bil "lmhosts wins broadcast".

Ne spomnim se, ali Samba uporablja Linuxov hosts file ali hoče imeti svoj lmhosts nekje v /etc/samba- to prečekiraj sam...
On the journey of life, I chose the psycho path.

Zgodovina sprememb…

  • spremenil: Brane2 ()

poweroff ::

Hm, glede wins support mi piše tole:

# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
; wins support = no

# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
; wins server = ww.xx.yy.zz

Samo včeraj mi je nekdo rekel, da ne smem nastaviti wins support = yes, ker bom s tem povzročil težave v omrežju.

Ne vem pa zakaj, oz. kaj se zgodi, če wins supoport omogočim.
sudo poweroff

Brane2 ::

Wins support pomeni, da bo stvar začela delati kot wins server.

Ne sme pa biti obenem aktivirana še opcija "wins server", kar je malo kontraintuitivno...
On the journey of life, I chose the psycho path.

korenje_ver2 ::

ok zadeva je taka. ce se ti poveze z nmblookup -d 4 -A [client ip], potem je problem mogoce taksen:

imas ip, ki ni zajet v netmaski v linuxu na omreznem interfejcu.

dej pokazi kaj ti izpise "route", pa a imas ip od interfaca ki je enak 10.10.10.xxx z netmasko 255.255.255.0 ?

hruske ::

Pa saj sem ze ugotovil, da mora sprejemati UDP pakete, ki pridejo s porta 137.
Rad imam tole državico. <3

korenje_ver2 ::

hruska, sam tolk za info, na port 137 se mu lepo poveze.


Looking up status of 10.10.10.100
nmb packet from 10.10.10.100(137) header: id=31232 opcode=Query(0) response=Yes
header: flags: bcast=No rec_avail=No rec_des=No trunc=No auth=Yes
header: rcode=0 qdcount=0 ancount=1 nscount=0 arcount=0

hruske ::

Ja, korenje, pri uporabi "nmblookup -A ip", ne (!) pa pri uporabi "nmblookup ime".
Rad imam tole državico. <3

Zgodovina sprememb…

  • spremenilo: hruske ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

ProtFtp Passive mode in iptables

Oddelek: Programska oprema
252057 (1879) SasoS
»

Pomoč pri prehodu na linux (strani: 1 2 3 417 18 19 20 )

Oddelek: Operacijski sistemi
96343572 (20874) Anteus
»

ebtables+linux+brctl+siol-tv

Oddelek: Omrežja in internet
122268 (2120) korenje_ver2
»

iptables skripta

Oddelek: Omrežja in internet
72040 (1820) karafeka
»

iptables + forward

Oddelek: Operacijski sistemi
332228 (1803) tx-z

Več podobnih tem