{"id":22142,"date":"2019-05-26T20:51:31","date_gmt":"2019-05-26T18:51:31","guid":{"rendered":"https:\/\/eltallerdelbit.com\/?p=22142"},"modified":"2020-08-28T02:37:07","modified_gmt":"2020-08-28T00:37:07","slug":"squid-proxy","status":"publish","type":"post","link":"https:\/\/eltallerdelbit.com\/squid-proxy\/","title":{"rendered":"C\u00f3mo configurar un servidor Proxy con Squid"},"content":{"rendered":"
\n<\/p>\n
Atribuci\u00f3n de la imagen: Squid-cache.org<\/a><\/p>\n Web oficial de SQUID PROXY<\/strong>: http:\/\/www.squid-cache.org\/<\/a><\/p>\n <\/p>\n <\/p>\n <\/p>\n Como dec\u00edamos antes los servidores Proxy transparentes<\/strong><\/em> tambi\u00e9n pueden actuar como filtro de contenidos<\/strong> porque es un servidor intermediario (proxy). Este filtro de contenidos lo haremos por medio de diversas directivas que utiliza Squid. <\/p>\n <\/p>\n <\/p>\n o<\/p>\n <\/p>\n Para configurar Squid, hemos de editar el archivo \/etc\/squid\/squid.conf<\/strong><\/em>. Vamos a crear una configuraci\u00f3n b\u00e1sica.<\/p>\n Lo primero vemos que el archivo squid.conf.default<\/em> muestra lo siguiente:<\/p>\n Hecha la copia del archivo, comenzamos a configurar el archivo \/etc\/squid\/squid.conf<\/em>, que es el que realmente utilizar\u00e1 Squid para funcionar. <\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n Lo haremos as\u00ed, con la directiva dstdomain<\/a><\/strong><\/em>:<\/p>\n Declaramos la acl, que nos remite a un archivo, en el cual constar\u00e1n los dominios que queremos bloquear:<\/p>\n <\/p>\n Y declaramos el comportamiento de dicha acl, deny<\/em> o allow<\/em>, en este caso deny<\/em> (denegar)<\/p>\n <\/p>\n Contenido del archivo \/etc\/squid\/dominios bloqueados<\/em>:<\/p>\n <\/p>\n Creamos la acl:<\/p>\n y le denegamos el trafico:<\/p>\n <\/p>\n Y el contenido del archivo “\/etc\/squid\/expresiones-denegadas”, ser\u00e1 simplemente:<\/p>\n <\/p>\n
\nEn este art\u00edculo:
\n <\/p>\n\n
\n
\n
Qu\u00e9 es SQUID Proxy<\/strong><\/em><\/span><\/h3>\n
\nSquid<\/strong><\/em>\u00a0 actuar\u00e1 por defecto como servidor Proxy transparente<\/strong> y servidor proxy cach\u00e9<\/strong>, as\u00ed que nos permite gestionar el acceso a cliente y nos permite crear ACL\u00b4s para Squid<\/a> (Access Control list), o sea listas de control de acceso para host grupos redes … a los cuales autorizar hemos o no la navegaci\u00f3n y adem\u00e1s podemos prohibir concretamente la navegaci\u00f3n a sitios concretos .<\/p>\n
\n <\/p>\nINSTALANDO proxy transparente SQUID<\/strong><\/em><\/span><\/h3>\n
\n
yum -y install squid<\/pre>\n
\n
sudo apt install squid<\/pre>\n
\n
yum update --disablerepo=epel\\*<\/pre>\n
yum -y install epel-release<\/pre>\n
\n
\n <\/p>\nCONFIGURAR SQUID<\/span><\/h3>\n
\r\n#\r\n# Recommended minimum configuration:\r\n#\r\n\r\n# Example rule allowing access from your local networks.\r\n# Adapt to list your (internal) IP networks from where browsing\r\n# should be allowed\r\nacl localnet src 10.0.0.0\/8 # RFC1918 possible internal network\r\nacl localnet src 172.16.0.0\/12 # RFC1918 possible internal network\r\nacl localnet src 192.168.0.0\/16 # RFC1918 possible internal network\r\nacl localnet src fc00::\/7 # RFC 4193 local private network range\r\nacl localnet src fe80::\/10 # RFC 4291 link-local (directly plugged) machines\r\n\r\nacl SSL_ports port 443\r\nacl Safe_ports port 80 # http\r\nacl Safe_ports port 21 # ftp\r\nacl Safe_ports port 443 # https\r\nacl Safe_ports port 70 # gopher\r\nacl Safe_ports port 210 # wais\r\nacl Safe_ports port 1025-65535 # unregistered ports\r\nacl Safe_ports port 280 # http-mgmt\r\nacl Safe_ports port 488 # gss-http\r\nacl Safe_ports port 591 # filemaker\r\nacl Safe_ports port 777 # multiling http\r\nacl CONNECT method CONNECT\r\n\r\n#\r\n# Recommended minimum Access Permission configuration:\r\n#\r\n# Deny requests to certain unsafe ports\r\nhttp_access deny !Safe_ports\r\n\r\n# Deny CONNECT to other than secure SSL ports\r\nhttp_access deny CONNECT !SSL_ports\r\n\r\n# Only allow cachemgr access from localhost\r\nhttp_access allow localhost manager\r\nhttp_access deny manager\r\n\r\n# We strongly recommend the following be uncommented to protect innocent\r\n# web applications running on the proxy server who think the only\r\n# one who can access services on \"localhost\" is a local user\r\n#http_access deny to_localhost\r\n\r\n#\r\n# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS\r\n#\r\n\r\n# Example rule allowing access from your local networks.\r\n# Adapt localnet in the ACL section to list your (internal) IP networks\r\n# from where browsing should be allowed\r\nhttp_access allow localnet\r\nhttp_access allow localhost\r\n\r\n# And finally deny all other access to this proxy\r\nhttp_access deny all\r\n\r\n# Squid normally listens to port 3128\r\nhttp_port 3128\r\n\r\n# Uncomment and adjust the following to add a disk cache directory.\r\n#cache_dir ufs \/var\/spool\/squid 100 16 256\r\n\r\n# Leave coredumps in the first cache dir\r\ncoredump_dir \/var\/spool\/squid\r\n\r\n#\r\n# Add any of your own refresh_pattern entries above these.\r\n#\r\nrefresh_pattern ^ftp: 1440 20% 10080\r\nrefresh_pattern ^gopher: 1440 0% 1440\r\nrefresh_pattern -i (\/cgi-bin\/|\\?) 0 0% 0\r\nrefresh_pattern . 0 20% 4320\r\n<\/pre>\n
\nEsta es la configuraci\u00f3n por defecto de Squid<\/strong><\/em>. Interesa que guardemos una copia de backup del archivo por si hemos de restaurarla en caso de desastre.<\/p>\n
\n
\n
\n <\/p>\nCONFIGURACI\u00d3N B\u00c1SICA DE SERVIDOR PROXY SQUID<\/em><\/strong> PARA PROBAR SU FUNCIONAMIENTO<\/span><\/h3>\n
Qu\u00e9 va a hacer Squid en nuestro caso:<\/span><\/h4>\n
\n
Configurando Squid (Configuraci\u00f3n b\u00e1sica)<\/span><\/h4>\n
\n
acl miredlocal src 192.168.8.0\/24<\/pre>\n
\n
http_access allow miredlocal<\/pre>\n
BLOQUEO DE CONTENIDOS (Bloquear Dominios con Squid<\/em><\/strong>)<\/span><\/h4>\n
\n
acl dominios-denegados dstdomain \"\/etc\/squid\/dominiosdenegados\"<\/pre>\n
http_access deny dominios-denegados<\/pre>\n
.facebook.com<\/pre>\n
\n
\n <\/p>\nBLOQUEO DE CONTENIDOS (Bloquear por expresiones regulares)<\/span><\/h4>\n
\nUsaremos la directiva url_regex<\/a><\/em><\/strong><\/p>\nacl expresiones-denegadas url_regex \"\/etc\/squid\/expresiones-denegadas\"<\/pre>\n
http_access deny expresiones-denegadas<\/pre>\n
torrent<\/pre>\n
\nAs\u00ed que si Squid encuentra esta expresi\u00f3n en una url, la bloquear\u00e1 (Esta directiva es muy configurable y avanzada, as\u00ed que vamos a mostrar lo que hace con este ejemplo simple):<\/p>\n
\n <\/p>\nBLOQUEO DE CONTENIDOS (Bloquear tipos de archivos)<\/span><\/h4>\n