Diferència entre revisions de la pàgina «UF3-NF2. Implantació servidors intermediaris»
(→SQUID) |
(→Instal·lació) |
||
Línia 37: | Línia 37: | ||
TCP_DENIED/403 | TCP_DENIED/403 | ||
+ | |||
TCP_MISS/302 | TCP_MISS/302 | ||
+ | |||
TCP_MISS/200 | TCP_MISS/200 | ||
+ | |||
TCP_MISS/204 | TCP_MISS/204 | ||
+ | |||
TCP_NEGATIVE_HIT/204 | TCP_NEGATIVE_HIT/204 | ||
+ | |||
TCP_HIT/200 | TCP_HIT/200 | ||
+ | |||
TCP_MEMHIT/200 | TCP_MEMHIT/200 | ||
+ | |||
En general | En general | ||
Línia 49: | Línia 56: | ||
* '''MISS''': Petició no trobada, accedeix directament a la font | * '''MISS''': Petició no trobada, accedeix directament a la font | ||
+ | http://wiki.squid-cache.org/SquidFaq/SquidLogs | ||
Directori de Caché | Directori de Caché |
Revisió del 18:36, 15 març 2013
tornar M11_-_Seguretat_i_alta_disponibilitat#UF3_-_Tallafocs_i_servidors_intermediaris
Contingut
SQUID
Squid és un proxy web caché per als principals protocols associats al web HTTP, HTTPS, FTP, SSL, DNS.
A més inclou tècniques de filtre a nivell d'aplicació (control d'accés).
Fitxer de configuració base sense comentaris Fitxer:Squid.conf
Instal·lació
Squid treballa per defecte sobre el port 3128 tcp, tot i que també s'utilitza el port 8080, més genèric per a proxys
La instal·lació per defecte denega l'accés a través del servidor intermediar, per començar a treballar el primer que cal fer és canviar
http_access deny all --> http_access allow all
Els dos fitxers més importants són
Configuració
/etc/squid3/squid.conf
Registre (Log) d'accés al servei
/var/log/squid/access.log $sudo tail -f /var/log/squid/access.log
En aquest és poden veure missatges del tipus:
TCP_DENIED/403
TCP_MISS/302
TCP_MISS/200
TCP_MISS/204
TCP_NEGATIVE_HIT/204
TCP_HIT/200
TCP_MEMHIT/200
En general
- DENIED: Accés denegat
- HIT: Petició en caché, retorna la còpia del servidor
- MISS: Petició no trobada, accedeix directament a la font
http://wiki.squid-cache.org/SquidFaq/SquidLogs
Directori de Caché
/var/spool/squid3/
Respecte a la caché és interessant la reflexió que realitzen els propis desenvolupadors de l'aplicació respecte a les proves de funcionament
TEST CACHÉ “As you can see, pressing reload in Netscape (and some other browsers) doesn't simply re-fetch the page, it forces the cache not to serve the cached page. Many people doing tests of how the cache increases performance simply press reload, and believe that there has been no change in speed. The cache is, in fact, re-downloading the page from the origin server, so a speed increase is impossible. “
http://www.deckle.co.za/squid-users-guide/Browser_Configuration
Funcionament i comprovació
Comanda per comprovar la configuració
#squid3 -k parse
En alguns casos per manteniment cal netejar la caché
/etc/init.d/squid3 stop rm -Rf /var/spool/squid3/* squid3 -z --> Crear directoris swap /etc/init.d/squid3 start
Eines addicionals
http://www.squid-cache.org/Scripts/
El programa Calamaris (disponible als repositoris) per exemple permet generar informes d'ús de la caché.
A la web hi ha exemples del report http://cord.de/tools/squid/calamaris/
cat /var/log/squid3/access.log | calamaris [-F html]
Configuració
Control d'accés
http://www.deckle.co.za/squid-users-guide/Access_Control_and_Access_Control_Operators
En general el control d'accés consta de dues parts
- Crear llistes d'accés, en general a través de la directiva acl
- Donar permisos a les llistes, en general a través de la directiva http_access (aquests s'anomenen operadors acl i són específics del protocol). Les peticions HTTP es validen contra la llista d'operadors http_access
Cal tenir en compte que els operadors acl
- S'avaluen per ordre, quan una coincideix amb la petició s'executa l'acció i no es comproven les altres
- És una bona pràctica denegar per defecte al final
Llistes d'accés
http://www.squid-cache.org/Doc/config/acl/
acl nom tipus parametres acl nom tipus “fitxer”
Els tipus poden ser: src, dst, time, srcdomain...
Cal observar que a la documentació al costat de les opcions apareix [fast] [low], que indiquen com afecten al temps de resposta del proxy
#Adreces i dominis acl server src 192.168.200.2 acl informatica src 192.168.200.0/24 acl aula1 src 192.168.200.64/26 acl tothom src 192.168.200.0/24 192.168.0.0/24 acl marianao dstdomain .institutmarianao.com acl microsoft dstdomain .microsoft.com #Temps, els dies en anglés: M T W H F A S acl horarilaboral time MTWHF 08:00-23:00 acl diesfesta time AS acl mati time 07:00-12:00 #Usuaris acl usuaris proxy_auth REQUIRED --> qualsevol acl senserestringir proxy_auth dirigents --> usuari concret acl restringits proxy_auth treballadors #Protocols, només els gestionats per squid acl tots proto HTTP FTP SSL acl protocolHTTP proto HTTP acl protocolFTP proto FTP #Mètodes HTTP acl metodesHTTP method GET POST #Filtre MAC (Només *NIX) acl macserver arp 00:00:0C:01:01:01 #URL's, usen expressions regulars, # $ indica final de text # \. indica el caràcter "." # Opció -i case-insensitive acl urlJocs url_regex [-i] juegos acl multimedia urlpath_regex \.mp3$ \.mpg$ \.wav$ acl instaladores urlpath_regex \.exe$ \.rar$ \.zip$ \.iso$ #Navegadors acl IE browser MSIE acl firefox browser Mozilla #Tipus mime, usen expressions regulars, # ^ indica començament del text acl No req_mime_type ^application/x-msn-messenger$
A vegades pot ser recomanable usar fitxers per contenir llistes que apliquen a les regles i alliberar i simplificar l'arxiu de configuració
acl llistaparaules url_regex "/etc/squid3/llistes/paraules.acl" acl extensions urlpath_regex -i "/etc/squid3/llistes/extensions.acl"
Operadors acl
http://www.squid-cache.org/Doc/config/http_access/
http_access allow|deny [!]aclname [& [!]aclname2 ... ]
En un operador es pot posar vàries llistes, sempre que s'entengui s'aplica un AND lògic i que s'han de complir totes per a que apliqui el operador
La última regla denega tot.
http_access allow llistablanca http_access allow !restringir http_access allow usuaris ports_web http_access deny all
Autenticació
http://wiki.squid-cache.org/Features/Authentication
Squid permet requerir autenticació dels usuaris per accedir al servei a través de múltiples sistemes d'autenticació: MySQL, LDAP, PAM, RADIUS...
Un dels més senzills és el propi de l'aplicació, NCSA mòdul propi d'squid (Apache)
Primer cal crear els usuaris
$sudo htpasswd -c /etc/squid3/passwds autoritzats $sudo htpasswd /etc/squid3/passwds altres
Després activar-la a la configuració
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwds -> Pop up navegador acl usuaris proxy_auth REQUIRED --> qualsevol http_access allow usuaris acl senserestringir proxy_auth dirigents --> usuari concret acl restringits proxy_auth treballadors acl whitelist dstdomain .google.com http_access allow senserestringir http_access allow restringits whitelist http_access deny all
Redirecció d'errors
http://www.squid-cache.org/Doc/config/deny_info/
Redirecció dels errors a una pàgina pròpia, permet configurar la pàgina o tancar la connexió tcp
Errors HTTP1.1
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
2XX --> OK 3XX --> Redirecció 4XX --> Error client 5XX --> Error servidor
Aquesta configuració es situa abans de denegar la acl
deny_info err_page_name acl deny_info http://... acl deny_info TCP_RESET acl
Per defecte les pàgines d'error es defineixen a la directiva error_directory /usr/share/squid3/errors/templates
Dins el codi HTML de la pàgina d'error es poden afegir tags (variables), per exemple:
%T - Timestamp in RFC 1123 format
%u - Url
Opcions, tunning
Paràmetres que es poden configurar al servidor
# Opcions de xarxa, definir el port 3128 per defecte, però també es fa servir 8080 http_port 3128 # En mode transparent redirecció # iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 http_port 3128 transparent # Opcions de Memòria Caché # Al voltant d'un terç de la memòria del sistema cache_mem 512 MB # Opcions de Disk per al Caché # Al voltant d'un 50% fins a un 80% de la capacitat del disk # On ufs és el format 40000 la mida en MB 16 i 256 nombre de subdirectoris de 1er i segon nivell cache_dir ufs /var/spool/squid 40000 16 256
Eines
DansGuardian
http://dansguardian.org/?page=whatisdg
http://dansguardian.org/downloads/DG2.9.7.1_Squid_Slackware_10.2.pdf
A tenir en compte la penalització que suposa el filtre de continguts. Baixa rendiment