Početak›Forumi›Linuks›Linuks umrežavanje›selektivni pristup Internetu
- This topic has 11 odgovora, 4 glasa, and was last updated 19 years, 8 months ranije by popeye.
-
AutorČlanci
-
14. jul 2004. u 10:36 pm #3974arunachalaUčesnik
Zamolio bih pomoc za pronalazenje resenja u sledecoj situaciji:
IST – Internet Stanica (KONFIGURACIJA LAN) je PC sa sledecim elementima
Mandrake 10.0 Official kernel 2.6.3
http server Apache
proxy server Squid
redirect helper program SquidGuard
firewall iptables
ssh server OpenSSH
svi paketi su originalni Mandrake iz verzije 10.0 Official.Pristup Internetu sa IST treba da imaju samo predvidjeni korisnici, posredstvom proxy servera, sa kontrolom sajtova pomocu programa za redirect – SquidGuard.
Pristup masini IST treba biti dozvoljen samo od strane ssh client programa (eventualno webmin).
Pristup Internetu je samo preko proxy servera, ako neki program za Internet nema postavljen proxy, ne treba da ima pristup Internetu. Kontrola pristupa raznim sajtovima se vrsi pomocu SquidGuard.
Trenutno stanje sistema je ovo:instalacija i funkcionisanje
httpd – OK
iptables – OK
ssh – OK
squidguard – OK
squid – OKkontrola pristupa masini i kontrola izlaza
spolja:
pristup pomocu ssh – OK
pristup pomocu webmin -OK
ping – OK
sva ostala vrata su zatvorena
iznutra:
koriscenje proxy za autentikaciju iz web browser – OK
kontrola pristupa sajtovima pomocu redirect -OKPROBLEM JE – I AKO NIJE POSTAVLJEN PROXY U NEKOM BROWSERU, PRISTUP INTERNETU JE MOGUC!!!
(squid funkcionise dobro kao transparent proxy)Problem je u postavljanju korektnog pravila za firewall… Masina nije double-homed i pravila za firewall koja podrzavaju transparent proxy server za normalne gateway masine ne moze da funkcionise (moja pretpostavka).
Naime, redirekcija vrata za virtual loop-back interfejs verovatno nije predvidjena. Oko ovoga sam pronasao vrlo malo podataka tako da nisam u potpunosti siguran. Cinjenica je da pravilo za redirekciju sa tcp 80 na tcp vrata proxy 3128 za lo interfejs ne funkcionise. (PREROUTING pravilo u NAT table)
Sa normalnom gateway masinom je sve u redu, probe su uradjene na jednom drugom sistemu. (sa eth1 umesto lo)
Konfiguracija sistema je prikazana u dnu i ne postoji mogucnost bilo kakve izmene u hardware konfiguraciji. Ostale korisnicke masine u sistemu su nebitne.
Ispod je prikazana konfiguracija iptables, jedan deo fajla za configuraciju squid proxy i blok sema LAN mreze.U ovom trenutku su svi resursi (ideje) manje-vise iscrpljeni tako da bi i najmanja sugestija bila od izuzetne pomoci.
Hvala.************** /ETC/SYSCONFIG/iptables ****************
*nat
PREROUTING ACCEPT
POSTROUTING ACCEPT
OUTPUT ACCEPT
-A PREROUTING -i lo -p tcp –dport 80 -j REDIRECT –to-port 3128*mangle
PREROUTING ACCEPT
INPUT ACCEPT
FORWARD ACCEPT
OUTPUT ACCEPT
POSTROUTING ACCEPT*filter
FORWARD DROP
INPUT DROP
OUTPUT ACCEPT
-A INPUT -p tcp -m tcp -m state –tcp-flags SYN,ACK SYN,ACK –state NEW -j REJECT –reject-with tcp-reset
-A INPUT -s 127.0.0.1 -i lo -j ACCEPT
-A INPUT -m state -d 192.168.0.47 –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -i eth0 -m tcp –dport 22 -j allowed
-A INPUT -p tcp -i eth0 -m tcp –dport 113 -j allowed
-A INPUT -p tcp -i eth0 -m tcp –dport 10000 -j allowed
-A INPUT -p icmp -i eth0 -m icmp –icmp-type 8 -j ACCEPT
-A INPUT -p icmp -i eth0 -m icmp –icmp-type 11 -j ACCEPT
-A OUTPUT -p tcp -m tcp -m state –tcp-flags SYN,ACK SYN,ACK –state NEW -j REJECT –reject-with tcp-reset********* squid.conf – TRANSPARENT PROXYING deo **********
http_port 3128
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on********** KONFIGURACIJA LAN ***********
[ IST ] [ PC1 ] [ PC2 ]
—|——-|——-|——[ router ]—-> WAN15. jul 2004. u 9:10 pm #20328jela07UčesnikNecu da vredjam nikog, ali tvoje pitanje je suvise komplikovano za ovaj sajt!!!
Poslacu ti privatnom porukom mail coveka koji ti moze pomoci.15. jul 2004. u 10:42 pm #20329popeyeGlavni majstorAko sam te dobro razumeo, želiš da samo mašine kojima je podešen proxy server mogu izaći na Internet.
Da li se proxy nalazi između rutera i unutrašnje mreže? Po grafiku se čini da nije tako. U tom slučaju moraš na ruteru postaviti pravilo kojim ćeš svima osim proxy serveru zabraniti izlazak na port 80 (eventualno i 21, ako ne želiš direktan pristup na FTP) ili ih preusmeriti na proxy (route mapom na Cisco ruteru). Preusmeravanje možeš odraditi i preko switcha, ako može da razvrstava saobraćaj na 4. sloju.
Jela07, ako postavi proxy na gateway mašinu, uopšte nije komplikovano.
16. jul 2004. u 10:02 am #20330jela07UčesnikPopaje, jel mislis da si sa tim odgovorom pomogao coveku?
Cisto sumnjam.16. jul 2004. u 11:01 am #20331popeyeGlavni majstorObjasnio sam mu kako da u sadašnjoj postavci ostale mašine spreči da izađu na Internet (pravilom na ruteru ili switchu) i savetovao sam ga da proxy postavi kao gateway ostalim mašinama (bolje rešenje).
Nisam mu dao copy/paste šta treba da radi, ali sam spreman da, u zavisnosti od dogovora, dođem i podesim sve.
Inače, kao što se vidi, u pitanju je vrlo mala mreža i problem je u loše zamišljenoj arhitekturi.
16. jul 2004. u 11:53 pm #20332ostresUčesnikČika Popeye je najjaći ćovek na svetu.
17. jul 2004. u 10:53 am #20333arunachalaUčesnikHvala vam na pomoci,
Popeye je u pravu, sistem nije optimalno postavljen, ali ne postoji mogucnost nikakve izmene u sistemu.
Zaboravio sam da napomenem vaznu pojedinost: proxy se nalazi na istoj masini koja treba da ima pristup Internetu. (zbog toga proxy i firewall moraju da budu configurisani za single-homed masinu)
Osim toga, a i ovo je verovatno bilo potrebno da napomenem ranije, masina koja pristupa Internetu je jedini Linux u sistemu.
Router je jednostavni ISDN router i osim prikljucivanja na ISP ne koristi se nijedna druga funkcija na njemu.
Posle nekoliko pokusaja (neuspelih) da se primene neka egzoticna resenja, danas cu ponovo da se vratim na netfilter jer mislim da je to najlogicnije resenje…17. jul 2004. u 9:37 pm #20334popeyeGlavni majstorPošalji ip podatke Linuxa i windows stanica, odnosno izlaze komadi ifconfig i route na Linuxu, odnosno ipconfig /all na Windowsu.
17. jul 2004. u 11:19 pm #20335arunachalaUčesnikIST je jedina masina iz celog sistema koja je bitna za ovo resenje.
Medjutim, verovatno bi trebalo da pojasnim realno okruzenje gde treba da se primeni resenje.
Radi se o biblioteci koja ima potrebu za jednom Internet stanicom, sa kontrolisanim pristupom sajtovima, koja bi se stavila na raspolaganje korisnicima. To znaci da za normalnog korisnika nema pristupa ostalim masinama u mrezi i jedini izlazi su na router (ISDN ili bilo koji drugi) i na stampac koji je na jednoj drugoj windows masini. Ali nema potrebe da se bavimo time jer to vec funkcionise.
Za analizu problema mozemo da svedemo sistem samo na IST i na router. Znaci, IST sa eth0 koji je koriscen od strane proxy za izlaz na Internet – preko routera; i loop-back na kome se poziva proxy od strane localnog browser programa. Adresse mogu biti bilo koje – u ovom slucaju je eth0 192.168.0.47/16 sa gateway 192.168.0.1, sto je eth0 adresa routera.
Logicno resenje bi bilo da se postavi redirekcija TCP vrata sa http na proxy. To odlicno funkcionise sa dva interfejsa na raspolaganju i kada poziv za proxy server ne dolazi sa localnog interfejsa – to su uslovi za normalan proxy server.
Prateci block semu tokova za ovu masinu, danas sam shvatio da se takvom redirekcijom zatvaraju vrata i samom proxy programu – gde ce da izadje ako ne na TCP 80. Znaci da bi trebalo da se primeni neka vrsta selectivne redirekcije…18. jul 2004. u 12:01 am #20336popeyeGlavni majstorAh, sada je sve jasnije.
Dodaj ovo pravilo:
iptables –append OUTPUT -m owner –uid-owner ! squid -p tcp –dport 80 -J DROP
Bitno je da tačno navedeš korisnika pod kojim radi proxy (u mom primeru, korisnik squid) i ne bi trebalo da bude problema.
-
AutorČlanci
Moraš biti prijavljen da bi postavio komentar u ovoj temi.