Biztonságosabb netezés - Használj Squid-et.
A Squid egy nagyszerű ftp, http, https proxy. Véleményem szerint az otthoni netezésedet is segítheti. Gyorsít és véd. Próbáld ki!
Ha a neten barangolsz és Linuxot használsz,
mindezt mindössze pár órában teszed naponta,
a veszélyek nagy részétől már védve vagy.
Ha mégis úgy gondolod, hogy ez kevés akkor
valamilyen védelemre van szükséged. Ezt
egyrészről biztosíthatja számodra a
kernelben található védelem,
de a védekezésben hasznodra
lehet egy proxy is.
A következőkben a Squid-ről kapsz
egy rövid áttekintést.
1., Mi a SQUID
A Squid egy nagyteljesítményű proxy cach szerver web kliensekhez. Ismeri az FTP, gopher és HTTP protokollokat. A Squid támogatja az SSL-t, a széles körű hozzáférés kontrolt és természetesen a teljes request loggot.
A Squid jelenleg a következő operációs rendszereket támogatja:
Linux
FreeBSD
NetBSD
BSDI
OSF és Digital Unix
IRIX
SunOS/Solaris
NeXTStep
SCO Unix
AIX
HP-UX
Linux alá az installáció nem okozhat gondot. Én a Debianom alá közvetlenül csomagból telepítettem. Libc6 és netbase függősége van csupán. A debian csomagokat a hwsw ftp szerverén is elérheted.
És akkor hogy működjön is.
Ha a squid rendben feltelepült, akkor a /etc könyvtárban lennie kell egy squid.conf-nak. A továbbiakban ezt kell heggeszteni. Mint a többi, jól megírt Linuxos program esetén, természetesen itt sem egy üres konfig fájlt kapunk, hanem egy kitöltöttet. Ezt érdemes alakítani. A jelen cikkben, csupán néhány alapbeállításról fogok írni, így például olyan fontos dolgok mint a cashek egymásra hivatkozása nem fog szerepelni (egyelőre :) ).
Az első amit be kell állítanunk a NETWORK OPTIONS részben a http port. Ennek alapértelmezett értéke 3128. Vegyük ki előle a commentet, az értéket hagyjuk alapértelmezetten, bár természetesen szabadon alakítható.
# NETWORK OPTIONS
#TAG http_port
#The port number where Squid will listen
#for HTTP client
#requests. Default is 3128,
#for httpd-accel mode use port 80.
#May be overridden with -a on the command line.
#
#You may specify multiple ports here, but they MUST
#all be on a single line.
http_port 3128
A következő két TAG, ami ha jól emlékszem alapban is működik
# TAG: hierarchy_stoplist
# A list of words which, if found in a URL
# cause the object to
# be handled directly by this cache.
# In other words,
# use this to not query neighbor caches for
# certain objects.
# You may list this option multiple times.
#The default is to directly fetch URLs containing
#'cgi-bin' or '?'.
#
hierarchy_stoplist cgi-bin ?
#TAG: no_cache
#A list of ACL elements which, if matched,
#cause the reply to
#immediately removed from the cache. In other words,
#use this
#to force certain objects to never be cached.
#You must use the word 'DENY' to indicate #the ACL names which should
#NOT be cached.There is no default. We recommend
#you uncomment the
#following two lines.
acl QUERY urlpath_regex cgi-bin ?
no_cache deny QUERY
Ezeket hagyjuk így, ha azt szeretnénk, hogy például a dinamikus weboldalak is jól működjenek a továbbiakban.
1., Mi a SQUID
A Squid egy nagyteljesítményű proxy cach szerver web kliensekhez. Ismeri az FTP, gopher és HTTP protokollokat. A Squid támogatja az SSL-t, a széles körű hozzáférés kontrolt és természetesen a teljes request loggot.
A Squid jelenleg a következő operációs rendszereket támogatja:
Linux alá az installáció nem okozhat gondot. Én a Debianom alá közvetlenül csomagból telepítettem. Libc6 és netbase függősége van csupán. A debian csomagokat a hwsw ftp szerverén is elérheted.
[oldal:Telepítés és beállítás]
A telepítést én a dpkg -i squid_2.1.2-1.deb módon intéztem el. Feltettem még a squidclient_2.1.2-1.deb csomagot is.És akkor hogy működjön is.
Ha a squid rendben feltelepült, akkor a /etc könyvtárban lennie kell egy squid.conf-nak. A továbbiakban ezt kell heggeszteni. Mint a többi, jól megírt Linuxos program esetén, természetesen itt sem egy üres konfig fájlt kapunk, hanem egy kitöltöttet. Ezt érdemes alakítani. A jelen cikkben, csupán néhány alapbeállításról fogok írni, így például olyan fontos dolgok mint a cashek egymásra hivatkozása nem fog szerepelni (egyelőre :) ).
Az első amit be kell állítanunk a NETWORK OPTIONS részben a http port. Ennek alapértelmezett értéke 3128. Vegyük ki előle a commentet, az értéket hagyjuk alapértelmezetten, bár természetesen szabadon alakítható.
# NETWORK OPTIONS
#TAG http_port
#The port number where Squid will listen
#for HTTP client
#requests. Default is 3128,
#for httpd-accel mode use port 80.
#May be overridden with -a on the command line.
#
#You may specify multiple ports here, but they MUST
#all be on a single line.
http_port 3128
A következő két TAG, ami ha jól emlékszem alapban is működik
# TAG: hierarchy_stoplist
# A list of words which, if found in a URL
# cause the object to
# be handled directly by this cache.
# In other words,
# use this to not query neighbor caches for
# certain objects.
# You may list this option multiple times.
#The default is to directly fetch URLs containing
#'cgi-bin' or '?'.
#
hierarchy_stoplist cgi-bin ?
#TAG: no_cache
#A list of ACL elements which, if matched,
#cause the reply to
#immediately removed from the cache. In other words,
#use this
#to force certain objects to never be cached.
#You must use the word 'DENY' to indicate #the ACL names which should
#NOT be cached.There is no default. We recommend
#you uncomment the
#following two lines.
acl QUERY urlpath_regex cgi-bin ?
no_cache deny QUERY
Ezeket hagyjuk így, ha azt szeretnénk, hogy például a dinamikus weboldalak is jól működjenek a továbbiakban.
[oldal:Logfile...]
A logfile útvonalakat és a cache-könyvtár beállításokat is elfogadhatod. Ha természetesen mondjuk a kijelölt útvonal nem azon a vincseszteren van amelyiken elszeretnéd helyezni a cache-könyvtárakat, átírhatod a megfelelő útra. Vagy használj symlinkeket, és akkor az eredeti beállításokkal is üzemelhet, bár ezt azért heggeszteni kell. A lényeg, hogy a következő bejegyzések meglegyenek: # LOGFILE PATHNAMES AND CACHE DIRECTORIES # TAG: cache_dir # Usage: # # cache_dir Directory-Name Mbytes Level-1 Level2 # # You can specify multiple cache_dir lines to spread the # cache among different disk partitions. # # 'Directory' is a top-level directory where cache swap # files will be stored. If you want to use an entire disk # for caching, then this can be the mount-point directory. # The directory must exist and be writable by the Squid # rocess. Squid will NOT create this directory for you. # # If no 'cache_dir' lines are specified, the following # default will be used: /var/spool/squid. # 'Mbytes' is the amount of disk space (MB) to use # under this # directory. The default is 100 MB. # Change this to suit your configuration. # # 'Level-1' is the number of first-level # subdirectories which # will be created under the 'Directory'. # The default is 16. # # 'Level-2' is the number of second-level # subdirectories which # will be created under each first-level directory. #The default is 256. # cache_dir /var/spool/squid 100 16 256 Talán részleteznem sem kell. 100 MB tároló terület, 16 darab első szintű könyvtár, és minden könyvtárban további 256 alkönyvtár. # TAG:cache_access_log # Logs the client request activity. # Contains an entry for # every HTTP and ICP request received. # cache_access_log /var/log/squid/access.log # TAG: cache_log # Cache logging file. This is where general information # about your cache's behaviour goes. # You can increase the amount of data # logged to this file with the "debug_options" tag below. # cache_log /var/log/squid/cache.log
[oldal:Ftp...]
A következő amit érdemes beállítani # TAG: ftp_user # If you want the anonymous login password to be more # informative # (and enable the use of picky ftp servers), # set this something # resonable for your domain, like wwwuser@somewhere.net # # The reason why this is domainless by default # is that the # request can be made on the behalf of a user in any # domain, # depending on how the cache is used. # Some ftp server also validate that the email address # is valid # (for example perl.com). # #ftp_user Squid@ ftp_user mrsla@hwsw.hu Ismert dolog, ftp szerverek néha azonosítást kérnek. A DNS szervert is be kell állítani. Ha nincs sajátod, jó a szolgáltatód szervere is: # TAG: dns_nameservers # Use this if you want to specify # a list of DNS name servers # (IP addresses) to use instead of those given in your # /etc/resolv.conf file. # # Example: dns_nameservers 10.0.0.1 192.172.0.4 # #dns_nameservers none dns_nameservers 212.108.200.75[oldal:ACL]
Elérkeztünk végre a talán legfontosabb tételhez, neve ACL. Az ACL az Acces Control List rövidítése. Rengeteg mindent lehet itt is beállítani, most csupán egy dologra térek ki. A beállítás menete, hogy létrehozol egy ACL bejegyzést és utánna szabályozod a jogosítványokat. Példa: #Defaults: acl mrsla src 127.0.0.1/255.255.255.255 # TAG: http_access # Allowing or Denying access based on defined access lists # # Access to the HTTP port: # http_access allow|deny [!]aclname ... # Access to the ICP port: # icp_access allow|deny [!]aclname ... # NOTE on default values: # # If there are no "access" lines present, the default is to allow # the request. # # If none of the "access" lines cause a match, the default is the # opposite of the last line in the list. If the last line was # deny, then the default is allow. Conversely, if the last line # is allow, the default will be deny. For these reasons, it is a # good idea to have an "deny all" or "allow all" entry at the end # of your access lists to avoid potential confusion. # #Default configuration: http_access allow manager localhost mrsla A többi beállítást hagyd meg, vagy alakítsd át ahogy gondolod. Remélem világos, hogy az mrsla helyére, írd pédául azt a felhasználónevet, ami alatt internetezel. Bízom benne ez senkinél sem a root. # # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # http_access allow mrsla http_access deny all Ha elvégzed ezeket a beállításokat, akkor a dolognak menie kell. Még egy beállítási lehetőségre szeretném felhívni a figyelmedet. A fake userre. Állítsd be ezt ;) . # TAG: fake_user_agent # If you use the paranoid http_anonymizer setting, Squid will strip # your User-agent string from the request. Some Web servers will # refuse your request without a User-agent string. Use this to # fake one up. For example: # fake_user_agent Nutscrape/1.0 (CP/M; 8-bit) # (credit to Paul Southworth pauls@etext.org for this to #fake_user_agent none fake_user_agent Nutscrape/1.0 (CP/M; 8-bit)[oldal:Az első indítás és zárszó]
A config fájl beállítasa után indítsd el a squidet a -z paraméterrel: squid -z Ez kialakítja a config fájlban meghatározott könyvtárakat. A Squidnek ezekután már gond nélkül kell működni. /etc/init.d/squid [start] v. [restart] használható. Egy dolog van még hátra, hogy a böngésződet is beallítsd. Netscape esetén az edit/preferences/advanced/proxies/ Manual Proxy Configurationban. ftp proxy : localhost port: 3128 és így tovább. Végűl. Természetesen én is tisztában vagyok azzal, hogy a Squid beáálítási lehetőségeinek alig pár százalékát érintettem. Így az olyan levelektől, amik arról szólnak, hogy te láma kihagytad még ezt is, meg nem írtál amarról sem, válasz nélkül a kukába kerülnek. Ha azonban valaki, kiegészítést kíván fűzni a cikkhez, akár a leírtakhoz, akár a nem érintett témákhoz, szívesen veszem, és a szerző megjelölésével, öremmel javítom, egészítem ki a cikket. Udv mindenkinek Sla[oldal:Parancssori lehetőségek]
Bárdi Attila küldte a következő kiegészítést:
parancssorbol hasznalhato:
export http_proxy=http://localhost:3128/
export ftp_proxy=http://localhost:3128/
hasznalja a lynx, apt, stb.
Ezenkívűl itt szeretném megemlíteni, hogy Bárdi Attila barátom, már az eredeti cikk megírásakor sok, hasznos információval látott el.