Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: TkTz 10. 03. 2011, 13:45:49
-
Dobry den,
chci skryt pomoci iptables port MYSQL verejnemu internetu tak, aby na nej mohly pristupovat pouze tri ip adresy (tri webservery).
Mam v shellovem skriptu: (promenne si prosim domyslete,IP jsou jako priklad)
#$IPTABLES -A INPUT -i $INET_IFACE -p TCP --source 111.222.333.444 --dport 3306 -j
#$IPTABLES -A INPUT -i $INET_IFACE -p TCP --source 222.111.222.111 --dport 3306 -j
#$IPTABLES -A INPUT -i $INET_IFACE -p TCP --source 333.111.222.000 --dport 3306 -j
pristup z 111.222.333.444 a z 222.111.222.111 ve stejne siti jako db server FUNGUJE.
ale nefunguje uz pristup ze 333.111.222.000 NEFUNGUJE.
Prosim muzete mi poradit , co delam spatne ? Neexistuje neco nejaky multi-access-ip prepinac ?
Dekuji za rady
S pozdravem TkTz
-
Přistupuje ten třetí server ze stejného rozhraní? Nemá nějaký firewall on? Není za NATem?
Můžete využít značkování packetů (MARK) podle IP adres a potom to povolovat podle oné značky. Ale pokud tyhle stroje mají přistupovat jenom na jednu službu, je to zbytečné
-
Ja si zvykl pouzivat spis tuhle cestu:
iptables -N MySQLsip
iptables -A MySQLsip -s 1.2.3.4 -j ACCEPT
iptables -A MySQLsip -s 1.2.3.5 -j ACCEPT
iptables -A MySQLsip -s 4.3.2.1 -j ACCEPT
iptables -A INPUT -i $INET_IFACE -p tcp --dport 3306 -j MySQLsip
Ale muze za to nejspis fakt, ze k MARKovani jsem se jeste nedopracoval (jeste jsem nemel duvod jej pouzit).
Jinak k puvodnimu dotazu mam stejnou otazku jako Sten. Tedy za predpokladu ze behem "zprikladovani" nedoslo k zakryti nejake jine botky.
-
1) Pravidlo, ktore pouzivate nie je kompletne
2) Kolko sietovych rozhrani na db server?
3) troubleshooting? :)
-
TO Sten: server pristupuje pres stejne rozhrani, s jeho firewallem by promel byt nemel protoze kdyz vypnu vsechna pravidla v iptables tak se ten server na DB normalne pripoji, za NATem nevim jestli je avsak kdyz dam na tu IP traceroute tak to po 13. stanici zacne vypisovat hvezdicky .
TO kmarty: tva cesta nepomohla , stejny problem jako s mou konfiguraci . treti server se nepripoji .
Jsem z toho dosti nestastny , google nic neporadi a otevreny mysql port celemu svetu zrovna neni stastne reseni.
-
Takze zkousel jsme to z vice verejnych IP adres a pokazde to pristup na port 3306 projde . Takze prikaz je "relativne" spravne .. chyba je jinde , dali mi asi spatnou ip adresu ...
Nemuze to byt zpusobeno tim , ze tam maji VPS hosting ?
-
Clovek by rek ze bude vedet vlastni IP adresu. Ale coz. OK, prepokladejme ze neni moznost to zjistit.
Hele, sice to bude mozna vypadat divne, ale tytez iptables lze vyuzit k tomu aby ses dozvedel pod kterou IP adresou se to k tobe snazi vlezt.
Pridej si dalsi pravidlo:
iptables -I INPUT -p tcp --dport 3306 -j LOG --log-prefix WhosThere:
(radsi hned na zacatek, aby bylo vylouceno ze to odchytava nejaky jiny pravidlo)
jukej do /var/log/kern.log (resp. tam kam si posilas kern.warning nebo jakym levelem to vlastne iptables loguji) a udelej pokus o pripojeni z onoho stroje. V logu bys mel videt, ktera IP adresa se o to snazi a s trochou stesti by to mela byt IP adresa toho stroje.
I zadny vypis bude informace (aspon budes vedet ze ten stroj ma blokovane odchozi spojeni a proto to nejde).
P.S.: Ten muj priklad byla reakce na Stenovo reseni pres MARKovani, ne ze to nutne musis delat podle mne :-).
P.P.S.: VPS, neVPS, to na to vliv nema (nemelo by. Jestli neco blokuji/natuji/cokoliv, pak to neni vlastnost VPS, ale rozhodnuti toho poskytovatele VPS).
-
kmarty : dik vyzkousim to tedy logovat , jsem z toho sam jelen :)
IP adresu nemuzu vedet s jistotou , je to nejspis na webhostingu a hostuji to cizi lide , kteri pristupuji do nasi db kde maj data. Takze se chyba mohla vloudit i tam ...
Kazdopadne dekuji , zkusim to logovat anebo vyresit primo s tim kdo jim poskytuje webhosting ..
-
tak zadna jine ip nez me zname tam nejsou , takze to opravdu nejak blokuji ..
Dekuji za napady a informace