¡Hola un gusto bloggers!
A continuación les presentare la configuración necesaria para iniciar su proyecto de LIGHTSQUID proxy Server.
Se tomó como base de la siguiente fuente:
https://www.server-world.info/en/note?os=CentOS_6&p=squid&f=6
Cualquier sugerencia o duda me la pueden hacer en los comentarios.
¡Comencemos!
Requerimientos:
Maquina Virtual o Física:
- Procesador: Dual-Core 3.2Ghz (o superior)
- RAM: 2 GB
- Memoria: 40 - 60 GB
- Grafica: 250 Mb
- Sistema: CentOS 6.8
- Tipo: Core o GUI
Instalación de Squid 3.1.23 con LightSquid 1.8 - CentOS 6.8
En primer lugar descarguemos e instalemos el paquete de 'squid' con el comando yum:
# Es preferible correr todos estos comandos desde el usuario ROOT
yum -y install squid
# Editemos con el mando 'vi'
vi /etc/squid/squid.conf
# Comentar todas las acl's por defecto con "#" al inicio.)
# Ingresar la acl que permitirá el acceso proxy debajo de "acl CONNECT method CONNECT":
acl CONNECT method CONNECT
acl nombredetured src 192.168.0.0/24 (escriban el nombre que gusten)
# Comentemos la primera línea de "http_access allow localnet" con un "#" delante
# Y apliquemos nuestro acl debajo de "http_access allow localhost":
#http_access allow localnet
http_access allow localhost
http_access allow nombredetured <=======
# Al final de todo el archivo agregar los siguientes comandos:
request_header_access Referer deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
forwarded_for off
# Una vez guardamos con :wq! en el archivo editado.
# Iniciamos el squid sin problemas e indicamos que siempre esté activo:
/etc/rc.d/init.d/squid start
Starting squid:........... [ OK ]
chkconfig squid on
# Ahora habilitamos el puerto 3128 y 8080 en iptables, en el que squid siempre 'escucha' debajo de "-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT" :
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3128 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
# Reiniciamos el servicio de iptables:
service iptables restart
# Probamos el cliente verificando que navega con la configuración hacia el proxy. Entramos a propiedades de internet en el navegador o avanzadas en google chrome ponemos la ip de nuestro proxy
192.168.0.10 puerto: 3128
# Ahora instalaremos el servicio de Apache:
yum -y install httpd
# Removemos las páginas que se instalan por defecto:
rm -f /etc/httpd/conf.d/welcome.conf
rm -f /var/www/error/noindex.html
# Configuramos el apache:
vi /etc/httpd/conf/httpd.conf
Cambiar donde dice "ServerTokens" a esto:
ServerTokens Prod
Cambiar donde dice "KeepAlive" a esto:
KeepAlive On
Cambiar donde dice "Listen 80" a esto:
Listen 192.168.0.10:8080 (esta es la ip de nuestro proxy)
Cambiar donde dice "ServerAdmin" a esto:
ServerAdmin root@proxy
Cambiar donde dice "AllowOverride" a esto:
AllowOverride All
Agregar el ServerName (tienes que buscarlo y agregar)
ServerName www.proxy:8080
Cambiar donde dice "ServerSignature" a esto:
ServerSignature Off
# Iniciamos el servicio httpd:
/etc/rc.d/init.d/httpd start
Starting httpd: [ OK ]
# Guardamos la configuración:
chkconfig httpd on
# Verificamos el nombre de nuestro host este permitido ponemos el nombre el final y guardamos:
vi /etc/hosts
127.0.0.1 localhost .......... proxy
# Creamos una pagina de prueba, la cual no vamos a usar solo es con el fin de verificar que apache esté correctamente instalado:
vi /var/www/html/index.html
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
Página para Proxy - PRUEBA
</div>
</body>
</html>
# Probamos que funciona:
192.168.0.10:8080
Instalación de Repositorios LIGHTSQUID
# Ahora instalamos estos paquetes y ponemos estas sentencias:
yum -y install yum-plugin-priorities
sed -i -e "s/\]$/\]\npriority=1/g" /etc/yum.repos.d/CentOS-Base.repo
yum -y install epel-release
sed -i -e "s/\]$/\]\npriority=5/g" /etc/yum.repos.d/epel.repo
sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/epel.repo
yum -y install centos-release-scl-rh centos-release-scl
sed -i -e "s/\]$/\]\npriority=10/g" /etc/yum.repos.d/CentOS-SCLo-scl.repo
sed -i -e "s/\]$/\]\npriority=10/g" /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-SCLo-scl.repo
sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
# Instalamos el lightsquid 1.8:
yum --enablerepo=epel -y install lightsquid lightsquid-apache
# Editamos el lightsquid agregando 3 parámetros nuevos incluyendo la red que haremos el escaneo:
vi /etc/httpd/conf.d/lightsquid.conf
<Directory /usr/share/lightsquid/cgi>
DirectoryIndex index.cgi
Options ExecCGI
AddHandler cgi-script .cgi
AllowOverride None
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 192.168.0.0/24
</Directory>
# Reiniciamos el servicio de Apache:
/etc/rc.d/init.d/httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
# Generamos los reportes:
/usr/sbin/lightparser.pl
chcon -R -t httpd_squid_content_t /var/lightsquid
# Ahora instalamos Python:
yum -y install policycoreutils-python
# Activamos por completo Lightsquid:
semanage fcontext -a -t httpd_squid_content_t /var/lightsquid
# Para ingresar a nuestro proxy lightsquid escribimos en el navegador.
192.168.0.10:8080/lightsquid (referencia a nuestra interfaz de nuestro proxy)
Adicional, pueden restringir el acceso a la página desde una sola IP, si lo desean pero les sugiero que lo investiguen pues no lo he considerado aquí.
¡Eso es todo!
Muchas gracias,
Tracert-BBc