Está en la página 1de 3

Configuración de servidor proxy (Centos - Alma - Rocky 8):

Se instala el servidor squid.


[root@server ~]# dnf -y install squid

Una vez instalado es necesario realizar la configuración, pero es recomendable crear una copia de
seguridad del archivo de configuración original squid.conf que se encuentra en el directorio
/etc/squid
[root@server ~]# cp /etc/squid/squid.conf /etc/squid/squid.conf.bck

Una vez instalado es necesario crear archivos que contendrán las listas de acceso o restricción a
sitios, en nuestro caso crearemos dichos archivos dentro del directorio '/etc/squid/listas', si se desea
se pueden crear en otra parte:

Creamos la carpeta:
[root@server ~]# mkdir /etc/squid/listas

Se crean los archivos necesarios, en este caso, crearemos un archivo llamado 'denegados', si se
prefiere se puede usar otro nombre:
[root@server ~]# vi /etc/squid/listas/denegados

Dentro de este archivo incluir las URLs a las cuales no se permitirá el acceso.
.yahoo.com
.youtube.com

Guardamos y creamos otro archivo para los patrones bloqueados, al igual que antes se puede
emplear en nombre de archivo que se prefiera, en él se añadirán cadenas de texto, que cuando
aparezcan en una dirección de internet o URL, será automáticamente bloqueado el acceso a dicho
sitio:
[root@server ~]# vi /etc/squid/listas/patrones

Añadimos los patrones que queremos bloquear como lista simple, por ejemplo:
cuevana
facebook

Una vez creados los archivos, editamos el archivo squid.conf para incluir los archivos en la
configuración:
[root@server ~]# vi /etc/squid/squid.conf

Comentamos todas las líneas que inicien con el prefijo 'acl localnet': (#acl localnet)
#acl localnet src 0.0.0.1-0.255.255.255 # RFC 1122 "this" network (LAN)
#acl localnet src 10.0.0.0/8 # RFC 1918 local private network (LAN)
#acl localnet src 100.64.0.0/10 # RFC 6598 shared address space (CGN)
#acl localnet src 169.254.0.0/16 # RFC 3927 link-local (directly plugged)
machines
#acl localnet src 172.16.0.0/12 # RFC 1918 local private network (LAN)

1
#acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN)
#acl localnet src fc00::/7 # RFC 4193 local private network range
#acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged)
machines

Ubicamos la línea:
acl CONNECT method CONNECT

Y debajo agregamos los archivos que creamos como ACL (Access Control List):
acl CONNECT method CONNECT
acl denegados dstdomain "/etc/squid/listas/denegados"
acl patrones url_regex "/etc/squid/listas/patrones"

El bloque se deberá ver algo así:


acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl denegados dstdomain "/etc/squid/listas/denegados"
acl patrones url_regex "/etc/squid/listas/patrones"

Nótese que:
● El archivo "/etc/squid/listas/denegados" se está definiendo como dominios de destino.
● El archivo "/etc/squid/listas/patrones" se está definiendo como urls de rechazo.

Nos desplazamos dentro del archivo hasta las líneas :


# from where browsing should be allowed
http_access allow localnet
http_access allow localhost

Comentamos ambas líneas, agregamos las que se muestran para que el bloque quede como se ve a
continuación:
# from where browsing should be allowed
#http_access allow localnet
#http_access allow localhost
http_access deny denegados
http_access deny patrones
http_access allow all

2
Obsérvese que, se le está indicando al proxy que se negará el acceso a las URL's y patrones dentro
de los archivos 'denegados' y 'patrones'.

En caso de que dentro del archivo de configuración esté desconectada la opción "http_acces deny
all", es recomendable comentar, para prevenir bloqueos generales a internet en caso de algún error
ortográfico o de sintaxis acceso a cualquier página.
# And finally deny all other access to this proxy
#http_access deny all

Guardamos el archivo y arrancamos squid:


[root@client ~]# systemctl enable squid.service --now

Se aplican las políticas de firewall correspondientes.


[root@client ~]# firewall-cmd --add-port=3128/tcp --permanent
[root@client ~]# firewall-cmd --reload

Squid soporta los siguientes tipos de ACLs (Acess Control Lists).

● src: Dirección IP origen.


● dst: Dirección IP destino.
● myip: Dirección IP local de la conexión del cliente.
● srcdomain: Nombre de dominio del cliente de origen.
● dstdomain: Nombre de dominio del destino.
● srcdom_regex: Patrones de expresión regular del origen.
● dstdom_regex: Patrones de expresión regular del destino.
● time: Hora del día y día de la semana:
● url_regex: Patrones de expresión regular de la URL.
● port: Número de puerto destino.
● myport: Número de puerto del cliente.
● proto: Protocolo de transferencia (http, ftp, etc)
● ident: Patrón de coincidencia para el nombre de usuario.
● ident_regex: Patrones de expresión regular para el nombre de usuario.
● src_as: Número de sistema autónomo del origen.
● dst_as: Número de sistema autónomo del destino.
● proxy_auth: Autenticación del usuario por vías externas.
● maxconn: Número máximo de conexiones por cliente.
● arp: Dirección MAC origen.

También podría gustarte