- Squid telepítése
Debian alatt ez a folyamat viszonylag egyszerű:# apt-get install squid
- Squid beállítása
Mint minden szolgáltatás esetében, most sem szabad rögtön a bonyolult, kifinomult szabályokkal kezdeni, lássunk működni egy teljesen alap squid-et. Aztán lehet bonyolítani...
A squid config file-ja alapértelmezésben (debian alatt): /etc/squid/squid.conf . Ebben az alapvető működéshez legalább az alábbi soroknak kell lennie:http_port 3128 # mely porton dolgozik (hova kell irányítani a 80-ast...) hierarchy_stoplist cgi-bin ? acl QUERY urlpath_regex cgi-bin \? cache deny QUERY access_log /var/log/squid/access.log squid # a log helye cache_mem 64 MB # a squid-nek adott memória mennyisége, szabadon választott maximum_object_size 32 MB # a legnagyobb objektum (kép video stb.) amit tárol cache_dir ufs /var/spool/squid 1024 64 128 # a cache könyvtár helye, a mögötte lévő számok sorrendben: cache mérete(MB) könyvtárakszáma alkönyvtárakszáma # néhány alap szabály, amit nem jó kihagyni acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl localnet src 192.168.2.0/255.255.255.0 # Őszinte leszek: ezt pontosan magam sem tudom micsoda, de ha kiveszem nem igazán megy. acl purge method PURGE acl CONNECT method CONNECT # most pedig az engedélyzések http_access allow localhost http_access deny all http_access allow localnet
Ez elvileg a minimális squid.conf egy sima, _nem_ transzparens proxy működéséhez. (Aki úgy érzi ennél több kell, vagy elég kevesebb is, az hozzászólásban jelezze, és ha szükséges akkor javítom.) Komolyabb hozzáférési szabályokért nézd meg például ezt.
- Transzparens proxy: attól hogy az átjárón van squid, még nem megy simán a proxy szolgáltatás. Kivéve, ha minden belső böngészőnek külön beállítod a proxyt, de ez ugyebár kényelmetlen nagyobb hálózat esetén.
A squid transzparens módba állítható, ha a config fájl elején lévőhttp_port 3128
sort kiegészíted így:
http_port 3128 transparent
Ennyi.
Szívás: a transzparens proxy beállítása a squid 2.5-től felfele változott. Néhány régi howto-ban megtalálható, hogy a transzparens proxihoz még négy sor kell a squid.conf-ba:httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on
Ez csak akkor igaz, ha squid-ed 2.5-nél korábbi, az újabb nem is kezeli.
- Tűzfal beállítása: ha nem gondolsz arra, hogy a 80-as portra irányuló kéréseket a squid a 3128-on szeretné fogadni, akkor a squid csak csendben ülni fog a fenekén, és nem dolgozik. Ezért a tűzfal beállításaihoz hozzá kell csapni az alábbi sort:
/sbin/iptables -t nat -A PREROUTING -i [belsohalokartya] -p tcp --dport 80 -j REDIRECT --to-port 3128
- Squidguard telepítése
A dolog hasonló bonyolultságú mint a squid telepítése volt:# apt-get install squidguard
- Squidguard beállítása: a squidguard config-file-ja debian alatt alapártelmezésben: /etc/squid/squidGuard.conf . Minimális config igazából nincs, leszámítva az lábbi két sort:
dbhome /var/lib/squidguard/db # az adatbázisok helye (pl blacklist) logdir /var/log/squid # a naplók helye
Ha ezen kívül üresen hagyod a squidGuard.conf-ot, akkor csak naplóbejegyzéseket fog pakolni a squid minden indításakor (vagy azt sem), de gond nélkül müxik tovább a webelérés. Ha szerkeszteni szeretnénk a squidGuard configját (ami logikus, különben miért telepítettük?), akkor a benne lévő kommentek nagyon jó segítséget nyújtanak (időintervallumra korlátozás, IP-korlát stb.). Ha valaki a komolyabb lehetőségekre is kíváncsi, akkor a squidguard dokumentációja könnyen értelmezhető, sok példával van megáldva.
- A squid és a squidGuard házasítása: a squidguard-ot a squid hívogatja minden kapcsolatnál, tehát ha squidnek nem mondjuk meg hogy van mögötte egy squidguard is, akkor ... de ez nyilvánvaló. A squid.conf állományba bele kell tenni ezt a sort:
url_rewrite_program /usr/bin/squidGuard
Így már menni fog :)
Szívás: Néhány régi howto a 2.5 előtti squid-ekre ezt a paramétert írja:redirect_program /usr/bin/squidGuard
Az új squid-ek ezt már nem használják, nem is ismerik.
- A feketelista: számomra a squidguard legfontosabb előnye (és gyakorlatilag az egyetlen ok amiért feltettem), hogy lehetőség van olyan adatbázisok használatára feketelistaként, melyek igen nagy arányban ismerik a spyware-terjesztő, vagy vírust terjesztő, vagy agresszív oldalakat. Ezek blokkolása önmagában is komoly vírusvédelmet jelent a belső hálózat windows-ai számára. Ilyen adatbázis letülthető például innen.
- Feketelista átadása a squidguard-nak: a feketelista letöltése után azt kicsomagoljuk, és kitesszük a
/var/lib/squidguard/db
könyvtárba. Ez ugyanis az alapértelmezett adatbázis könyvtár (kivéve ha squidGuard.conf-ba mást írsz).
Szívás: Könnyű elfelejteni, hogy a listákra a megfelelő jogokat meg kell adni a proxy usernek. Adjuk hát meg a megfelelő jogosultságokat:chown -R proxy:proxy /var/lib/squidguard/db chmod -R =rwsr-xr-x /var/lib/squidguard/db
Most pedig a squdGuard.conf-ban definiálunk egy szabályt, amivel a spyware terjesztő oldalakat blokkoljuk:
# definialjuk a szabalyt dest spyware { domainlist spyware/domains urllist spyware/urls } # ervenybe leptetjuk a szabalyt acl { default { pass !spyware all redirect http://localhost/blocked.html } }
A 'redirect' szó utáni URL tetszés szerinti helyre mutathat, az itt látható blocked.html-t én készítettem a felhasználók tájékoztatására.
Természetesen ilyen módosítás után mindig:/etc/init.d/squid reload
Szívás!!!: A squidguard alapesetben a db formájú listákat szereti, de elég okos ahhoz hogy kezeljen szövegeseket is. A letöltött listáról látható, hogy síma szöveges file-ok. Ha így hagyjuk, akkor a squid reload-ja után (vagy az első webes kérés után) a proxy gépnek a load-ja az egekbe szökik (ha van fennt egy nagios, akkor az elkezdi dobálni a "Load Critical" leveleket), és gyakorlatilag megszűnik a web elérés. Mindennek az az oka, hogy elfelejtettük db-formára hozni a listánkat és a squidguard a szöveges adathalomban keres illeszkedést. Nagyon. Tehát a listákat hozzuk db formára így:
squidGuard -C /var/lib/squidguard/db/* chown -R proxy:proxy /var/lib/squidguard/db chmod -R =rwsr-xr-x /var/lib/squidguard/db
Ezt követően már szépen dolgozik... :)
Egyelőre ennyi. Folytatása következik (ha lesz egy kis időm) a squidclam -el, ami vírusellenőrzést végez a letöltéseken. Félek ez lassítani fog... Meglátjuk.
- peterson blogja
- A hozzászóláshoz be kell jelentkezni
- 10632 megtekintés
Hozzászólások
Tipp:
Gondolom kívülről az iptables nem enged konnetálni a 3128-ra, de ettől függetlenül nem baj, ha egy konfig annyira szigorú, amennyire az csak lehet. Ezért az
acl all src 0.0.0.0/0.0.0.0
sort hagynám békén és valami ilyesmit tennék alá
acl helyi_halo src 192.168.0.0/24
(ahol a 192.168.0.0 a helyi hálózat) és engedélyezném ezt
http_access allow helyi_halo
az
acl all src 0.0.0.0/0.0.0.0
pedig hagynám alapértelmezetten deny-n, mert ugye ez a mindenki mindenhonnan.
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Valóban. A kezdeti config-example -k alapján került bele, és bennt is felejtettem (egyébként a saját configom összetettebb az írtaknál, de itt a célom az alapok leírása volt). Még jó hogy az iptables tiltja kívülről a 3128-at, különben akkora open-proxy-m lenne mint egy mozdony :). Módosítottam a bejegyzést, és a saját configjaimat is. Köszönöm.
---
"A megoldásra kell koncentrálni nem a problémára."
- A hozzászóláshoz be kell jelentkezni
Köszönöm! Nagyon hasznos volt számomra, várom a folytatást! :)
--
\\-- blog --//
- A hozzászóláshoz be kell jelentkezni
Üdv !
Nekem speciel a 'squidGuard -C all' -ra csinálta meg a konverziót. A fent leírt módszer nem ment Ubuntu 9.04 alatt.
Szintén Ubuntu 9.04 alatt a squid-nak a "redirect_program /usr/bin/squidGuard" paraméter kellett. "url_rewrite_program /usr/bin/squidGuard" nem ment, hibaüzenet lett belőle.
- A hozzászóláshoz be kell jelentkezni
Valami miatt nekem nem szűr.
Jogosultságok ok. A db file-okra van teljes jog. A logban írja, hogy a squidguard várja a kéréseket, ennek ellenére a két tiltott oldal amit megadtam simán bejön.
Mi lehet a gond? Mintha a squid nem kérdezné le a szabályokat. A saját szabályai szerint megy csak...
- A hozzászóláshoz be kell jelentkezni
Nos most már működget, de egy valami nem megy.
Mégpedig, hogy hiába adok meg a squidguard-nak user-t nem veszi figyelembe... mintha nem is olvasná ki.
AD-nől auth-ol ami a squid szerint megy is, hiszen csak a csoport tagjai netezhetnek. De szeretnék bizonyos oldalakat blokkolni 6-8 user kivételével. Ezeket a usereket venném fehér listára... De nem akarja a megadott file-ból kiolvasni...
Ötlet?
- A hozzászóláshoz be kell jelentkezni
Nem csináltam még user szűrést, de ha lesz időm a napokban kísérletképpen megcsinálom és elmesélem hogy mi kell neki.
- A hozzászóláshoz be kell jelentkezni
Azt hittem végre jól működik erre nem.
Szóval már szinte minden megy. Blokkol adott oldalt adott user-ekre és adott időpontba.. tiszta jó, de!!!
Ha a tiltott időn kívül, azaz amikor minden oldal elérhető lenne, akkor pár lekérés után segfault-al elszáll a squid a squidguard miatt. :(
log részlet:
Jan 18 16:25:52 backup kernel: [37370.007993] squidGuard[7197]: segfault at 8 ip 0804c5ad sp bfabf868 error 4 in squidGuard[8048000+e000]
Jan 18 16:25:52 backup squid[7196]: The url_rewriter helpers are crashing too rapidly, need help!
Jan 18 16:25:52 backup squid[7059]: Squid Parent: child process 7196 exited due to signal 6
Jan 18 16:25:55 backup squid[7059]: Squid Parent: child process 7239 started
Jan 18 16:25:57 backup kernel: [37374.988034] __ratelimit: 9 messages suppressed
Jan 18 16:25:57 backup kernel: [37374.988034] squidGuard[7240]: segfault at 8 ip 0804c5ad sp bf93a668 error 4 in squidGuard[8048000+e000]
Jan 18 16:25:57 backup squid[7239]: The url_rewriter helpers are crashing too rapidly, need help!
Jan 18 16:25:57 backup squid[7059]: Squid Parent: child process 7239 exited due to signal 6
Jan 18 16:26:00 backup squid[7059]: Squid Parent: child process 7282 started
- A hozzászóláshoz be kell jelentkezni
Nekem is ezt mondja, csak a squidGuar-od kihagyja...:
Mar 5 11:18:13 mailserv squid[944]: Squid Parent: child process 947 started
Mar 5 11:18:13 mailserv squid[947]: The url_rewriter helpers are crashing too rapidly, need help!
Mar 5 11:18:13 mailserv squid[944]: Squid Parent: child process 947 exited due to signal 6
Mar 5 11:18:16 mailserv squid[944]: Squid Parent: child process 960 started
Mar 5 11:18:16 mailserv squid[960]: The url_rewriter helpers are crashing too rapidly, need help!
Mar 5 11:18:16 mailserv squid[944]: Squid Parent: child process 960 exited due to signal 6
Mar 5 11:18:19 mailserv squid[944]: Squid Parent: child process 968 started
Mar 5 11:18:20 mailserv squid[968]: The url_rewriter helpers are crashing too rapidly, need help!
Mar 5 11:18:20 mailserv squid[944]: Squid Parent: child process 968 exited due to signal 6
Üdv:
beze
- A hozzászóláshoz be kell jelentkezni
Üdv!
Jó kis leírás, köszi!
Viszont nekem valamiért nem megy...
Valamiért az acces logban mindig ezt kapom:
1267617441.182 0 10.0.1.153 TCP_DENIED/403 1430 GET http://index.hu/ - NONE/- text/html
1267617812.443 0 10.0.1.153 TCP_DENIED/403 1430 GET http://index.hu/ - NONE/- text/html
1267617814.215 0 10.0.1.153 TCP_DENIED/403 1430 GET http://index.hu/ - NONE/- text/html
1267617817.265 0 10.0.1.153 TCP_DENIED/403 1430 GET http://index.hu/ - NONE/- text/html
1267617821.136 1 10.0.1.153 TCP_DENIED/403 1438 GET http://index.hu.com/ - NONE/- text/html
1267617828.614 1 10.0.1.153 TCP_DENIED/403 1434 GET http://www.hup.hu/ - NONE/- text/html
1267617942.401 0 10.0.1.153 TCP_DENIED/403 1436 GET http://www.hwsw.hu/ - NONE/- text/html
A konfigon csak a helyi_lan-t módosítottam:
acl helyi_halo src 10.0.0.0/255.255.0.0
http_access allow localhost
http_access deny all
http_access allow helyi_halo
Hol rontottam el?
Thx:
beze
- A hozzászóláshoz be kell jelentkezni
@beze
Tűzfal?
- A hozzászóláshoz be kell jelentkezni
http_access allow localhost
http_access allow helyi_halo
http_access deny all
itt
- A hozzászóláshoz be kell jelentkezni
Szép leírás! (Meg jegyeztem magamnak .:))
- A hozzászóláshoz be kell jelentkezni
Frankó leírás! Köszi
- A hozzászóláshoz be kell jelentkezni
Subscribe
- A hozzászóláshoz be kell jelentkezni
Nem akar mukodni...
squidguard.conf:
dest fb {
domainlist facebook/domains
}
acl {
default {
pass !fb all
redirect http://localhost/tiltott.html
}}
domains file:
facebook.com
www.facebook.com
index.hu
Legeneralja a
/usr/bin/squidGuard -C all
chown -R proxy:proxy /var/lib/squidguard/db
chmod -R =rwsr-xr-x /var/lib/squidguard/db
log file:
2011-02-24 13:29:41 [27368] New setting: dbhome: /var/lib/squidguard/db
2011-02-24 13:29:41 [27368] New setting: logdir: /var/log/squid
2011-02-24 13:29:41 [27368] destblock good missing active content, set inactive
2011-02-24 13:29:41 [27368] destblock local missing active content, set inactive
2011-02-24 13:29:41 [27368] init domainlist /var/lib/squidguard/db/facebook/domains
2011-02-24 13:29:41 [27368] create new dbfile /var/lib/squidguard/db/facebook/domains.db
2011-02-24 13:29:41 [27368] squidGuard 1.4 started (1298550581.148)
2011-02-24 13:29:41 [27368] db update done
2011-02-24 13:29:41 [27368] squidGuard stopped (1298550581.165)
Es ennyi...Utana ugyanugy szepen bejonnek a tiltsra rakott oldalak...
A log fileban semmi nem latszik (tail -f figyeli)
squid restart volt.
--
http://www.micros~1
- A hozzászóláshoz be kell jelentkezni
A squidguard.conf -ban csak annyi van amennyit írtál?
A file-ok jogosultságaira érdemes ránézni. Nekem volt olyan, hogy a chown -R =rwsr-xr-x
nem ment, de a chown -R 4755
pedig működött. Ennek okát nem tudom, de most nem is számít.
Esetleg meg lehet próbálni a könyvtárra irányítani a squidGuard -C
-t, hátha rossz helyen keresi.
---
"A megoldásra kell koncentrálni nem a problémára."
- A hozzászóláshoz be kell jelentkezni
Nyert. En is az ls -l utan jottem ra, hoyg teljesen idiota jogosulsagokat allitott be.
(suid/guid, csak irhato meg ilyesmi)
Koszi. (Es igen, volt nagy csodalkozas az irodaban, amikor nem jott be a Facebook :)
- A hozzászóláshoz be kell jelentkezni
bookmark
- A hozzászóláshoz be kell jelentkezni
+1
színes aláírás
- A hozzászóláshoz be kell jelentkezni
Sziasztok,
iskolában melyik blacklist-ot kell/érdemes használni, hogy megfeleljünk a 2014-es "szűrőszoftver a kiskorúak védelmében" törvénynek?
- A hozzászóláshoz be kell jelentkezni
A törvényt nem ismerem, de ha a józan parasztit veszem, akkor az összeset :)
Komolyan:
Innen választanám a MESD-et.
Ebből a gyermekek miatt kell (_szvsz_) a
- porn
- drugs
- gambling
Neked technikailag legalább:
- aggressive
- redirector
- spyware
---
"A megoldásra kell koncentrálni nem a problémára."
- A hozzászóláshoz be kell jelentkezni
Köszönöm válaszod,
csak arra gondoltam, hogy hátha erősebb pl. a Shalla - ha már üzletileg fizetős (remélem jól értelmeztem, hogy mezei iskoláknak ingyenes)
Azért nincs tapasztalatom, mert eddig norton family volt, de annak több volt a hátránya, mint az előnye, ezért szeretnék váltani.
- A hozzászóláshoz be kell jelentkezni