Diferència entre revisions de la pàgina «UF3-NF2. Implantació servidors intermediaris»

De Wiki IES Marianao. Departament Informàtica
Dreceres ràpides: navegació, cerca
(Opcions, tunning)
(Opcions, tunning)
Línia 289: Línia 289:
  
 
# Opcions de Disk per al Caché
 
# Opcions de Disk per al Caché
# Al voltant d'un 50% de la capcitat del disk
+
# 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
 
# On ufs és el format 40000 la mida en MB 16 i 256 nombre de subdirectoris de 1er i segon nivell
  

Revisió del 13:43, 1 feb 2012

tornar M11_-_Seguretat_i_alta_disponibilitat#UF3_-_Tallafocs_i_servidors_intermediaris

SQUID

http://www.squid-cache.org/

Squid logo.gif

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


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ó

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


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


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