Szerző: mrsla

2000. július 18. 00:00

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.

    [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.
  • Nagyon széles az a skála, amin az állásinterjú visszajelzések tartalmi minősége mozog: túl rövid, túl hosszú, semmitmondó, értelmetlen vagy semmi. A friss heti kraftie hírlevélben ezt jártuk körül. Ha tetszett a cikk, iratkozz fel, és minden héten elküldjük emailben a legfrissebbet!

    a címlapról