=> => Proxy + Anti-Malware Hardware => Soekris 5501 (10W) Tools => USB naar Serial Adapter voor Console Putty voor Terminal sessie middels USB Serial Adapter Operating System => 4.8 Software => Squid + SquidGuard Proxy + Anti-Malware Pagina 1 van 23
Inleiding: De bedoeling is om op een Centraal punt in het netwerk Malware en Advertenties te blokkeren. Er zijn diverse lijsten met domeinen/url s die gebruikt kunnen worden. Het filtert dus alleen op basis van naam of IP, het is geen vervanging voor Anti-Virus of Rootkit Detectie, er wordt niet gefilterd op patronen zoals bij een IDS. Tevens kan er bandbreedte bespaard worden door Caching van opgevraagde HTML en FTP. Grote updates van programma s bv, bij meerdere computers in je netwerk is de kans groot dat je meermaals hetzelfde moet installeren. Nu zijn de meeste verbindingen op basis van Kabel of ADSL zeer snel, het kost ook niks extra, alleen waarom zou je bandbreedte en stroom willen verspillen als het niet noodzakelijk is? Zie het maar als een vorm van sport, minderen, gewoon omdat het kan. Zelfs al kost het je niks, je bent wel verantwoordelijk voor stroomverbruik bij anderen. Daarbij, het werkt ook gewoon sneller. SquidGuard is een uitbreiding, een zogenaamde Redirector, waarmee je groepen en tijden kunt instellen voor wie wat mag uitvoeren en wanneer. Dit gaat op basis van White- en Blacklists. Deze Blacklists bevatten vele onderwerpen, je bepaalt zelf welke worden gefilterd. Proxy + Anti-Malware Pagina 2 van 23
Restricties worden niet overal gewaardeerd, toch wil je minimaal de sites met slechte bedoelingen blokkeren. Voordeel voor een omgeving met vaste computers/werkplekken is dat niet elke PC zelf continue een filter hoeft te draaien, dit scheelt lokale rekenkracht. De manier waarop het nu is ingericht laat de keuze vrij om te werken als altijd of via de Proxy. Je hebt dan de keuze om te kiezen voor de voordelen van Centrale Filters, indien gewenst kun je ook Direct naar een pagina kijken, inc. alle reclame. Auto update ook nog niet gescript en in cron. Verder nog kijken naar SquidClamAV voor centrale antivirus. Proxy + Anti-Malware Pagina 3 van 23
Pre-install: Zie volgende stap. Houdt de ingevulde variabelenlijst van de Bijlage Variabelen in het inleidende document Firewall met Secure Anonymous Access bij de hand tijdens instalatie/configuratie. Zodra je een variabele ziet, bv %HOST% vervang dit dan in zijn geheel door wat je had ingevuld, dus zeker geen %-tekens achterlaten. Proxy + Anti-Malware Pagina 4 van 23
Installatie Squid Middels pkg_add opgehaald en geïnstalleerd. pkg_add squid-2.7.stable9 squid-2.7.stable9: ok --- +squid-2.7.stable9 ------------------- NOTES ON POST-INSTALLATION OF SQUID 2.7 The local () differences are: configuration files are in /etc/squid sample configuration files are in /usr/local/share/examples/squid error message files are in /usr/local/share/squid/errors sample error message files are in /usr/local/share/examples/squid/errors icons are in /usr/local/share/squid/icons sample icons are in /usr/local/share/examples/squid/icons the cache is in /var/squid/cache logs are stored in /var/squid/logs the ugid squid runs as is _squid:_squid Please remember to initialize the cache by running "squid -z" before trying to run Squid for the first time. You can also edit /etc/rc.local so that Squid is started automatically: if [ -x /usr/local/sbin/squid ]; then echo -n ' squid'; /usr/local/sbin/squid fi Proxy + Anti-Malware Pagina 5 van 23
Post-Installatie Squid: Toevoegen voor de regel met echo '.' root @ 10.0.10.1 PuTTY [vi /etc/rc.local] if [ -x /usr/local/sbin/squid ]; then echo -n ' squid' /usr/local/sbin/squid fi root @ 10.0.10.1 PuTTY [vi /etc/squid/squid.conf] squid.conf Interface, Port en Proxy Type http_port 127.0.0.1:3128 http_port 10.0.10.1:3128 Algemene Opties cache_mgr not_to_be_disturbed client_db on collapsed_forwarding on detect_broken_pconn on dns_defnames on dns_retransmit_interval 2 seconds dns_timeout 5 minutes forwarded_for off half_closed_clients off httpd_suppress_version_string on Proxy + Anti-Malware Pagina 6 van 23
ignore_unknown_nameservers on pipeline_prefetch on retry_on_error on strip_query_terms off uri_whitespace strip visible_hostname localhost Timeouts forward_timeout 30 seconds connect_timeout 30 seconds read_timeout 30 seconds request_timeout 30 seconds persistent_request_timeout 1 minute client_lifetime 20 hours Host Definities acl all src 0.0.0.0/0 acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8 Proxy Server Client Access acl mynetworks src 127.0.0.0/8 10.0.10.0/24 http_access deny!mynetworks Max Connecties per IP acl maxuserconn src 127.0.0.0/8 10.0.10.0/24 acl limitusercon maxconn 500 http_access deny maxuserconn limitusercon Enable Caching cache_dir ufs /var/squid/cache 100 6 256 cache_dir ufs /var/squid/cache 50 3 256 Proxy + Anti-Malware Pagina 7 van 23
Disable Multicast ICP icp_port 0 icp_access deny all Disable Ident Lookups ident_lookup_access deny all no-trust for on-the-fly Content-Encoding acl apache rep_header Server ^Apache broken_vary_encoding allow apache Logs logformat combined [%tl] %>A %{Host}>h "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh access_log /var/squid/logs/access.log combined cache_store_log /var/squid/logs/store.log cache_log /var/squid/logs/cache.log logfile_rotate 1 Support Files coredump_dir /tmp pid_filename /var/squid/logs/squid.pid Toegestane Poorten acl Safe_ports port 21 80 443 http_access deny!safe_ports Toegestane SSL Poorten/Methode acl SSL_ports port 443 Proxy + Anti-Malware Pagina 8 van 23
acl CONNECT method CONNECT http_access deny CONNECT!SSL_ports Toegestane Protocollen acl Safe_proto proto FTP HTTP SSL http_access deny!safe_proto Banned Sites acl Bad_Site dstdom_regex myspace.com youtube.com facebook.com http_access deny Bad_Site Redirect Squidguard url_rewrite_program /usr/local/bin/squidguard url_rewrite_children 5 url_rewrite_access deny localhost Toegestane Methoden acl Safe_method method CONNECT GET HEAD POST http_access deny!safe_method Reacties op Client Requests Toestaan http_reply_access allow all Header re-write header_replace Accept */* header_replace Accept-Encoding gzip header_replace Accept-Language en header_replace User-Agent OurBrowser/1.0 (Some Name) Header List ( DENY all - ALLOW listed ) Proxy + Anti-Malware Pagina 9 van 23
header_access Accept allow all header_access Accept-Encoding allow all header_access Accept-Language allow all header_access Authorization allow all header_access Cache-Control allow all header_access Content-Disposition allow all header_access Content-Encoding allow all header_access Content-Length allow all header_access Content-Location allow all header_access Content-Range allow all header_access Content-Type allow all header_access Cookie allow all header_access Expires allow all header_access Host allow all header_access If-Modified-Since allow all header_access Location allow all header_access Range allow all header_access Referer allow all header_access Set-Cookie allow all header_access WWW-Authenticate allow all header_access All deny all Aanmaken Cache Directories obv wat met cache_dir is aangegeven. Als het goed is zie je een hoop directories op je scherm als output. squid z 2011/06/13 18:04:35 Creating Swap Directories Proxy + Anti-Malware Pagina 10 van 23
Voeg een dagelijkse Log Rotate toe aan cron. Aanpassen mag alleen op deze manier, niet rechtstreeks met vi. Plaats het onder de kop als aangegeven. crontab e [... ] rotate log files every hour, if necessary 00 00 * * * /usr/local/sbin/squid -k rotate [... ] Toevoegingen Packet Filter. Na deze regel. client_out = root @ 10.0.10.1 PuTTY [vi /etc/pf.conf] client_proxy_out = "{ ftp, 3128 }" Na dit blok. Diverse Client Services root @ 10.0.10.1 PuTTY [vi /etc/pf.conf] Client Proxy Services pass in quick inet proto tcp from $localnet to any port $client_proxy_out rdr-to $int_if port 3128 pass out quick on $ext_if inet proto tcp from { $int_if, $ext_if } to any port $client_proxy_out Proxy + Anti-Malware Pagina 11 van 23
Installatie SquidGuard: Middels pkg_add opgehaald en geïnstalleerd. pkg_add squidguard-1.4p0 squidguard-1.4p0:db-4.6.21p0: ok squidguard-1.4p0: ok Proxy + Anti-Malware Pagina 12 van 23
Post-Installatie SquidGuard: Aanmaak Directories. mkdir -p /var/squidguard/db mkdir -p /var/squidguard/log Ophalen Blacklists. cd /var/squidguard/db/ wget http://www.shallalist.de/downloads/shallalist.tar.gz --2011-06-14 02:54:13-- http://www.shallalist.de/downloads/shallalist.tar.gz Resolving www.shallalist.de (www.shallalist.de)... 78.47.242.85 Connecting to www.shallalist.de (www.shallalist.de) 78.47.242.85 :80... connected. HTTP request sent, awaiting response... 200 OK Length: 9837536 (9.4M) [application/x-tar] Saving to: `shallalist.tar.gz' 100%[======================================>] 9,837,536 497K/s in 19s 2011-06-14 02:54:33 (496 KB/s) - `shallalist.tar.gz' saved [9837536/9837536] Uitpakken Blacklists. tar -zxvf shallalist.tar.gz Proxy + Anti-Malware Pagina 13 van 23
Bekijk het resultaat. ls -lr more total 19268 drwxr-x--- 57 root wheel 1536 May 23 21:15 BL -rw-r--r-- 1 root wheel 9837536 Jun 14 01:00 shallalist.tar.gz./bl: total 320 -rw-r----- 1 root wheel 803 Mar 8 2008 COPYRIGHT drwxr-x--- 2 root wheel 512 Jun 13 23:38 adv drwxr-x--- 2 root wheel 512 May 13 11:10 aggressive drwxr-x--- 2 root wheel 512 Jun 3 09:26 alcohol drwxr-x--- 2 root wheel 512 May 23 21:47 anonvpn drwxr-x--- 6 root wheel 512 Jun 11 23:58 automobile drwxr-x--- 2 root wheel 512 Jun 3 11:41 chat drwxr-x--- 2 root wheel 512 May 20 18:40 costtraps drwxr-x--- 2 root wheel 512 Jun 11 23:00 dating drwxr-x--- 2 root wheel 512 Jun 14 00:36 downloads drwxr-x--- 2 root wheel 512 Jun 11 23:07 drugs [... ] Rename Directory. mv BL blacklists Proxy + Anti-Malware Pagina 14 van 23
Veiligstellen Originele Configuratie. cd /etc/squidguard cp -p squidguard.conf squidguard.conf.org De inhoud wijkt nogal af van wat we willen, maak dus eerst leeg. Nu de benodigde configuratie. root @ 10.0.10.1 PuTTY [vi /etc/squidguard/squidguard.conf] squidguard.conf logdir /var/squidguard/log dbhome /var/squidguard/db src lan { ip 10.0.10.0/24 } dest white { domainlist whitelist/domains urllist whitelist/urls log anonymous white.log } dest %EIGENAAR% { domainlist blacklists/%eigenaar%/domains urllist blacklists/%eigenaar%/urls log anonymous %EIGENAAR%.log Proxy + Anti-Malware Pagina 15 van 23
} dest adv { domainlist blacklists/adv/domains urllist blacklists/adv/urls expressionlist blacklists/adv/expressions log anonymous adv.log } dest spyware { domainlist blacklists/spyware/domains urllist blacklists/spyware/urls expressionlist blacklists/spyware/expressions log anonymous spyware.log } dest porn { domainlist blacklists/porn/domains urllist blacklists/porn/urls expressionlist blacklists/porn/expressions log anonymous porn.log } dest tracker { domainlist blacklists/tracker/domains urllist blacklists/tracker/urls expressionlist blacklists/tracker/expressions log anonymous tracker.log } acl { lan { The built-in 'in-addr' destination group matches any IP address. pass white!in-addr!%eigenaar%!adv!tracker!porn!spyware all } default { Proxy + Anti-Malware Pagina 16 van 23
Default deny to reject unknown clients pass none redirect http://www.%eigenaar%.nl/error.html&ip=%a&url=%u redirect http://www.a-i-x.nl/pictures/securitate.jpg } } Maak eerst lege bestanden voor de expressionlists. Doe je dit niet dan loopt de volgende stap vast (bug). touch /var/squidguard/db/blacklists/adv/expressions touch /var/squidguard/db/blacklists/spyware/expressions touch /var/squidguard/db/blacklists/porn/expressions touch /var/squidguard/db/blacklists/tracker/expressions Aanmaak Filterbestanden, neemt behoorlijk tijd. De b optie geeft een statusbalk om te zien hoever het is, helaas zorgt dit tevens ervoor dat er geen.db bestanden gecreëerd worden (bug). squidguard -C all -d 2011-06-14 08:02:12 [18891] New setting: logdir: /var/squidguard/log 2011-06-14 08:02:12 [18891] New setting: dbhome: /var/squidguard/db 2011-06-14 08:02:12 [18891] Added User: root 2011-06-14 08:02:12 [18891] init domainlist /var/squidguard/db/blacklists/adv/domains 2011-06-14 08:02:13 [18891] create new dbfile /var/squidguard/db/blacklists/adv/domains.db 2011-06-14 08:02:13 [18891] init urllist /var/squidguard/db/blacklists/adv/urls Proxy + Anti-Malware Pagina 17 van 23
2011-06-14 08:02:13 [18891] create new dbfile /var/squidguard/db/blacklists/adv/urls.db 2011-06-14 08:02:14 [18891] init domainlist /var/squidguard/db/blacklists/gamble/domains 2011-06-14 08:02:28 [18891] create new dbfile /var/squidguard/db/blacklists/gamble/domains.db 2011-06-14 08:02:28 [18891] init urllist /var/squidguard/db/blacklists/gamble/urls 2011-06-14 08:02:28 [18891] create new dbfile /var/squidguard/db/blacklists/gamble/urls.db 2011-06-14 08:02:28 [18891] init domainlist /var/squidguard/db/blacklists/porn/domains 2011-06-14 09:49:09 [18891] create new dbfile /var/squidguard/db/blacklists/porn/domains.db 2011-06-14 09:49:09 [18891] init urllist /var/squidguard/db/blacklists/porn/urls 2011-06-14 09:49:11 [18891] create new dbfile /var/squidguard/db/blacklists/porn/urls.db 2011-06-14 09:49:11 [18891] init domainlist /var/squidguard/db/blacklists/warez/domains 2011-06-14 09:49:11 [18891] create new dbfile /var/squidguard/db/blacklists/warez/domains.db 2011-06-14 09:49:11 [18891] init urllist /var/squidguard/db/blacklists/warez/urls 2011-06-14 09:49:11 [18891] create new dbfile /var/squidguard/db/blacklists/warez/urls.db 2011-06-14 09:49:12 [18891] squidguard 1.4 started (1308031332.066) 2011-06-14 09:49:12 [18891] db update done 2011-06-14 09:49:12 [18891] squidguard stopped (1308037752.253) Proxy + Anti-Malware Pagina 18 van 23
Aanmaak Whitelist Directory. mkdir -p /var/squidguard/db/whitelist Aanmaak Whitelist Bestanden. Deze kun je zelf naar believen met vi aanpassen. touch /var/squidguard/db/whitelist/domains touch /var/squidguard/db/whitelist/urls Aanmaak eigen Blacklist Directory. mkdir -p /var/squidguard/db/blacklists/%eigenaar% Aanmaak eigen Blacklist Bestanden. Met vi kun je zelf te blokkeren entries toevoegen. touch /var/squidguard/db/blacklists/%eigenaar%/domains touch /var/squidguard/db/blacklists/%eigenaar%/urls Proxy + Anti-Malware Pagina 19 van 23
Aanpassen Eigenaar naar _squid. chown -R _squid:_squid /var/squidguard/ Laat squid de nieuwe configuratie gebruiken. squid k reconfigure Proxy + Anti-Malware Pagina 20 van 23
Browser Proxy Configuratie: Eerst Internet Explorer, Versie 9 in dit geval. Internet Opties => Verbindingen => Lan-instellingen => Proxyserver => Geavanceerd Proxy + Anti-Malware Pagina 21 van 23
Firefox, Versie 4. Opties => Netwerk => Instellingen => Handmatige proxyconfiguratie Proxy + Anti-Malware Pagina 22 van 23
Links: Boeken: http://www.openbsd.org/ http://www.squid-cache.org/ http://www.squidguard.org/index.html http://www.chiark.greenend.org.uk/~sgtatham/putty/ Squid The Definitive Guide Proxy + Anti-Malware Pagina 23 van 23