Squid transparent proxy
Autor
Mikk Mähar AK32
Versioon
Versioon 0.01 muudetud 18.12.2009
Sissejuhatus
Siit artiklist peaks saama väikse ülevaate, mis asi see proxy on, milleks seda kasutatakse. Mis on on Squid ning kuidas seda autentimist nõudva transparent proxyna seadistada.
Mis asi on proxy
Proxy serveri näol on tegu kliendi ja võrgus paiknevate resursside vahelise puhvirga. Proxy servereid kasutatakse mitmetel erinevatel eesmärkidel:
- Võrguühenduste parendamiseks
- Veebiserverite koormuste leevendamiseks
- Inimeste anonüümsuse kaitsmiseks veebis
- Sisevõrgu kasutajatele võrgust kättesaadavate andmete piiramiseks
Mis asi see Squid on ja mida sellega teha saab
Squidi puhul on tegu täielikult HTTP/1.0 (peaaegu ka HTTP/1.1)ühilduva proxy serveri tarkvaraga, mis toetab HTTP, FTP ja muude asjade cachemist. Squid on võimeline kõigeks mida üks korralik proxy serveri tarkvara tegema peab. Võrguühenduste optimeerimiseks, kasutajate autentimiseks, kasutajatele kätte saadavate resursside piiramiseks ja palju muudki.
Eeldused/nõuded
- 1 mõne up to date linuxi distributsiooniga server
- server mille peale Squid paigaldatakse on võrgus kasutusel ruuterina / kui on tegu võrgus eraldi seisva masinaga on vaja proxytavate teenuste võrguliiklus suunata WCCP/GRE abiga sinna. (See ei kuulu siin artiklis kaetava osa hulka)
- Serveril peaks olema piisav vahemälu kogus (Squid tahab iga 1 GB cachetavate andmete kohta 10 MB vahemälu).
Paigaldamine
Squidi ja vajalike komponentide paigaldamiseks Ubuntu serveri korral piisab terminali sisestatud käsust:
sudo apt-get install squid squid-common apache2-utils
Seadistamine
Enne seadistamise alustamist tasuks teha originaal konfiguratsioonidest backupid.
iptables seadistamine
iptables'is on vaja kõik http (port 80) päringud suunata ümber squidi pordile, mis on vaikimisi 3128. Seda saab teha sisestades järgmised käsud:
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
Squidi seadistamine
Squidi seadistamiseks tuleb muuta squidi konfiguratsiooni failis (/etc/squid/squid.conf) järgneivaid asju:
httpd_accel_host virtual //määrab, et squid töötab http kiirendina httpd_accel_port 80 //pordi number, mille liiklust proxytakse httpd_accel_with_proxy on //lülitab squidi tööle, kui kohaliku httpd kiirendi ja proxyna httpd_accel_uses_host_header on acl lan src 192.168.1.1 192.168.2.0/24 //juurdepääsu piirangud, mis lubavad vaid lokaalses võrgus paiknevatel arvutitel squidi kasutada http_access allow localhost // http_access allow lan //
Autentimisega seotud parameetrid:
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid.passwd auth_param basic children 5 auth_param basic realm NFYE Squid proxy-caching web server auth_param basic credentialsttl 3 hours auth_param basic casesensitive off acl users proxy_auth REQUIRED acl sectionx proxy_auth REQUIRED http_access allow users
Esimese kasutaja loomiseks sisesta terminali:
sudo htpasswd -c /etc/squid.passwd esimese_kasutajanimi
Järgnevate kasutajate loomiseks:
sudo htpasswd /etc/squid.passwd järgmine_kasutaja
Peale konfiguratsiooni failis muudatuste sisse viimist tuleb nende aktiveerimiseks Squidile taaskäivitus teha:
/etc/init.d/squid restart
Kasutatud kirjandus
http://www.squid-cache.org/ http://www.ubuntugeek.com/how-to-setup-transparent-squid-proxy-server-in-ubuntu.html