Proxy alatt nem megy néhány port

Fórumok

Beüzemeltem egy alaptelepítéses debian severt proxynak, raktam rá squid-t is. A web megy rendesen, az ftp is. Viszont sem pingelni nem tok, sem puttyolni, sem pop3-ni, sem vpn-ni a proxy mögül. Pedig a portok engedélyezve vannak a squidban és be van állítva mindegyik progiban a proxy server címe. Úgy néztem, el sem jutnak a kérések a squidig, mintha valami más megfogná. MIt állítsak át hogy menjenek ezek a dolgok? Hol adjam hozzá az engedélyezni kívánt portokat?

Hozzászólások

A két interfész között forwardot, abban pedig megfelelő tűzfalszabályokat.

Iptables. Van jókis kézi (inkább zseb-) könyv hozzá (Oh, really? vagy hog yhívják a kiadót :-)) meg jó sok doksi. Esetleg Shorewall-t tegyél fel, abban egyszerűbb a szabályokat leírnod. Mások persze más tűzfalszabály-generáló/frontend/tűzfal alkalmazást fognak mondani (Ágyú-veréb kategória választása esetén Zorp/GPL), a lényeg, hogy a linux rendszermag beépítve tartalmazza a a szükséges dolgokat, csak használatba kell venni.

Nos... Az iptables az a kewrnel része, és a hálózaton be/ki/átmenő csomagokat, ha van definiált szabálybázis, akkor azok szerint kezeli -- nem külön alkalmazás, mint ahogy a Winen a kerio, zoneAlarm vagy más tűzfalszoftver. javaslom nézelődni a http://www.netfilter.org/ oldalon, ha az alapok érdekelnek, illetve innen a Documentation rész az érdekes neked.

Tom hogy webroxy, igazából arra kell használni hogy a felhasználóknak nap közben bekorlátozzuk a sávszélt. Ez megy is, minden rendben. A többi nem is érdekes, csak annyi hogy a 110-es portot, meg a vpn által használt portot is átngedje. Ez is menne, ha más nem fogná meg....

Egyébként nem a proxy natolja a hálózatot, mert van egy router, amire ez is, meg a többi gép is rá van kötve.

Lenne még egy kis problémám. Beállítottam a squidban hogy a 22-es portot is engedje át, de mégis azt látom a logjában, hogy tcp denied! Valamiért letíltja és így nem tudom használni a putty-t.

A másik, hogy a tűzfalon engedélyezve van az összes bementő, kimenő forgalom és a portforward is (majd később beálíltom), de egyszerűen mégsem megy át rajta a pop3 kérés. Mit álíltsak még be hogy működjön rendesen?

Tudom hogy webproxy. És arra is akarom használni. Csak annyi kéne nekem még hogy a pop3-t, smtp-t a putty-t és a vpn-t engedje át. Egyébként ha csak webproxy, miért engedi alapból az ftp-t? Láttam már itt hup-n is hogy valaki megoldotta a pop3 és a többi engedélyezését és megpróbáltam én is úgy, de nem ment.

Próbáltam ezt is:

acl Safe_ports port 22

meg ezt:

acl putty port 22

Sehogy sem megy. TCP denied -t ír ki. De ilyen hogy CONNECT, nincs beállítva. Olvastam már csomó doksit, de nem találtam rá megoldást, ezért fordultam hozzátok, hátha valakinek más siekrült.

A tűzfalon a FORWARD láncon mi van beállítva? A bejövő és a kimenő láncokon csak azt tudod beállítani, hogy a tűzfal GÉPRE és a tűzfal GÉPRŐL mi menjen és jöjjön. A belső hálóról átmenő forgalmat a FORWARD lánc szabályozza.
A tűzfalon a NAT be van állítva?

Csak én érzem úgy, hogy kevered a fogalmakat? Porforwardról akkor beszélünk, ha a router mögötti (jellemzően privát IP című) gépet akarjuk elérni kívülről. Ha a belső hálózatról akarunk elérni külső gépeket, akkor a forgalmat forwardoljuk. Ezt valóban elintézi a router, ha minden gép abba van dugva.

OK, ezt tényleg kevertem. Leírom akkor a pontosan a problémát. Szóval van egy router amire csatlakoztatava van egy linux server és sok windowsos gép. Azt akarja a főnökség, hogy korlátozni lehessen az adatforgalmat. Azaz mondjuk 10 gépen le legyen korlátozva az adatforlalom reggel 8-tól délután 4-ig, 2 gépen meg egész nap mehessen full speed. Azt ne kérdezzétek ezt miért jó, ezt kell megcsinálnom. Ekkor gondoltam a squid-ra, mint webproxy. Ez eddig oké, de ugye a leleményesebb userek kikapcsolják a proxy-t az explorerben és már megy is rendesen a net. Ezért úgy lenne beállítva a windowsos gépeken a cuccos, hogy az ip és az alhálózati maszk beálíltva, átjáró meg dns server nem. Ha ilyenkor kikapcsolják a proxy server beállítást, nem megy a net. Ilyenkor azonban fellép az a probléma, hogy nem tudják külső mailserverről letölteni a leveleiket, a másik hogy nem működik a vpn. Ezt a kettőt kéne igazából engedélyezni (a putty nem létkérdés, de nem baj ha van). Szóval ezért kéne hogy a squid átengedje a pop3-at meg a vpn által használt portot. Ha tudtok jobb megoldást, hogy ebben a szituban hogyan lehet ezt az egészet megoldani, az is jó, csak valahogy meg kell! :)

A routeren kifelé 80, 20, 21, 443 csak a squid-es gépről, a többi portot meg időpont szerint kéne ugyanott bekorlátozni, ami azért nem biztos, hogy egy ilyen hálózat elé általában lerakott eszközben megodlható. Na, itt pl. mindenképp javasolnék egy két hálókártyával felszerelt Linux, meg rajta egy cron-ból állítgatott tűzfallal megoldott routert a jelenlegi helyett.

A VPN-t viszont érdekes lesz letűzfalazni (attól függ, hogy milyen vpn-t használtok), bár nem reménytelen :-))

Azzal, hogy nem adsz default gw-t, azzal nem csináltál semmit -- sec perc alatt beállíthatja bárki...

Szerintem olvass sokat Linux és hálózati ügyben, és utána vállalj el ilyen feladatot...

A net időbeni korlátozását beálítottam squid-al az nem probléma. Szal a web az jól működik.

A vpn meg olyat fogok használni, ami átmegy tűzfalon (nemtom még milyet ).

Ha nem tudja a gw ip címét, akkor nem tudja beálíltani, majd legfeljebb nem a szokásos lesz, csak nem áll neki beálíltani. De még akkor is tudnia kéne dns servert (routerben nem lesz beállítva).

Nem elvállaltam, hanem meg kell csinálnom...

Default gw -- meg lehet találni igen hamar, hidd el. DNS-t meg megintcsak lehet keresni, bár ha nem fog tudni senki bent dns-t használni, akkor a squid-ed nem t'om, mit fog csinálni... Jó, beállítod a routeren, hogy csak a squid-es gép mehet kifelé 53-as udp és tcp-portra -- ekkor viszont a pop3 és a vpn-ezés is csak címre fog működni...

Elolvastad, miket írtunk? Fogd a router/tűzfal dobozt, és túrd át a konfigurációját, tiltsd le a megfelelő portokat rajta. A squid NEM pop3/smtp/vpn proxy. Az kifele tcp/25 (smtp) nem javaslom, rakj fel a linuxos gépre egy eximet/postfixet vagy más MTA-t, amihez a szakértelmed megvan, varrj bele egy spam/víruskergetőt, és csak azt a gépet engett ki a világ felé a 25-ös tcp-portokra, és bentről mindenki smarthostoljon erre a gépre.

Elolvastam hát! Smtp mindegy, azt megoldom. Akkor az lesz, hogy a 80-as portot letiltom a routeren, meg ami a webhez kell. A pop3-t meg a vpn-t pedig engedélyezve hagyom. Ha beállítoma routert átjárónak, akkor elvileg megy a gépekről a pop3, viszont a web nem. Ahhoz be kell állítanom a proxyt. Jól értem, hogy ez így menne? (Remélem a routeren be lehet állítani a portok tiltását)

Ha azt akarod hogy a felhasznalok ne tudjak kikerulni a Squid proxyt, akkor csak annyit kell tenned hogy a Linux gepen iptablesbol atiranyitod a 80 portot a Squid 3128-as portjara (ha jol emlekszem alap felallasban ezen a porton mukodik a Squid). Igy a bongeszokben a klienseknel nem kel semmit sem allitani, a felhasznalo nem is tudja hogy nem "egyenesben" megy ki.

Ezt akartam javasolni én is. Ha squid transparent módban fut, akkor nem tudják kikapcsolni a proxy-t, de ekkor a proxy kell hogy alapértelmezett gateway legyen azoknak a gépeknek. Hátránya a transparent proxy-nak, hogy HTTPS kéréseket nem tud átengedni magán, és proxy autentikáció (ha akarsz ilyet) se működik akkor.
VPN-el kapcsolatban: IPSec NAT miatt nem igazán jó, olyan router kell, ami képes NAT-traversal módban az IP-header melletti IPSec header-eket is átcímkézni.
Használj openvpn-t, azt simán keresztül lehet küldeni proxy-n is. De ha trasparent módban használod a proxy-t, mivel akkor nem megy a https rajta, külön kell engedélyezned azt egy tűzfal szabályjal.

"Használj openvpn-t, azt simán keresztül lehet küldeni proxy-n is. De ha trasparent módban használod a proxy-t, mivel akkor nem megy a https rajta, külön kell engedélyezned azt egy tűzfal szabályjal."

Tuti hogy nem megy a https? Ha csak a 80-as port van átirányítva, akkor sem megy?

Igazából nem érdekel hogy a userek tudják-e hogy proxyn keresztül mennek-e ki. Ezért lett volna jó megoldás az, hogy a routerben letiltom a http által használt portokat, és a proxy beálíltasa nélkül nem megy a web. Viszont megy a pop3, a vpn, meg minden. Csak kiderült hogy egy 10 useres Cisco Pix van benn, amit emaitt fel kéne upgradelni 100 userre, ami nem olcsó mulatság. Szal ez az ötlet bukott. (Vagy berakok még 1 routert, legfeljebb dupla routolás van, de egyszerű a megoldás).

Ekkor marad az, amit mondtatok, hogy átirányítom a 80-as portot a 3128-as portra (megjegyzem: hogyan?, nem vágom a témát) és beálíltom transparent proxynak a squid-t. Ekkor ha jól értem mennie kéne a vpn-nek is, meg a pop3-nak is meg minden más egyébnek, mert ez az egy port van csak a proxyra iránítva. Viszont nem árt, ha működik a https, szal ebben az esetben a https egyáltalán nem működik, vagy kikerülve a proxyt működik( Ez nem lenne nagy baj, nem hiszem hogy olyan sok https oldalt nézegetnének). Szal jól értem hogy ez így működik, vagy nem jól értem?

Az webforgalom squidre törtőnő átirányításhoz az

iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 3128

parancs lesz a segítség, de ekkor muszáj transparent módban futnia a squidnek.

/etc/squid/squid.conf:

http_port 3128 transparent (ez Version 2.6.STABLE5-nél él)

régebbi verzióknál (nem tudom pontosan melyiktől váltott a fentire, kövezzetek meg:)

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
http_port transparent

Sok sikert!

(Elfelejtettem, hogy így nekem megy a https is, természetesen tűzfalon ki kell engedni a 443-as portot)
-----
Üdv, icee

A PIX mögé maximum 10 gépet tehetsz. Összesen. Ha nem így teszetl, vagy NAT-tal mögéraksz több gépet, akkor igen-igen megsértd a licenszét. Tesség upgrade-elni valami normális PIX-re (tudok ajánlani céget erre :-)), és kész. Esetleg ugyanettől a cégtől Linux-os tűzfal/proxy (vírus- és spamszűréssel, illetve webes korlátozásokkal) is kapható :-P

A VPN külön dolog. Ha OpenVPN-t használsz(?), annak a default portja a 1194-es UDP. De tud működni TCP felett is, akár proxy-n keresztül is. Mivel a squid TCP-n figyel, beállítasz a konfigjában egy portot (pl. 1194 TCP) amit engedélyezel acl-eknél, és ezt állítod be a vpn konfigjában is. De legjobb az lenne, ha nem a squid-en keresztül hajtanád a VPN-t. Ha transparent squid-et használsz, azoknak a gépeknek amiket így akarsz netre engedni, a proxy kell hogy legyen az alapértelmezett gateway. Tehát a külső tűzfal mögött lesz egy belső Linuxos tűzfal. A VPN-re meg a HTTPS-re pedig felveszel egy másik szabályt az iptables-ben amivel kiengeded.