
moiseseccam
Pi
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
¡Usuario popular!
Un servidor proxy es un servidor que hace de intermediario en las peticiones de recursos que realiza un cliente a otro servidor.
En esta oportunidad voy a enseñarles a crear un proxy en su propio servidor, ya sea porque te gusta tener el control sobre los datos que envías a través de él o no confías en la protección de datos de los proveedores.
Para empezar, usaré un VPS en Estados Unidos con Ubuntu Server 20.04 de Hetzner
1. Primero nos conectamos mediante SSH al VPS y procedemos con la instalación de Squid, para ello digitamos
2. Si usas Amazon o algún otro servicio que tenga Firewall externo, no olvides abrir el puerto correspondiente añadiendo una regla que lo permita.
La imagen es un ejemplo de Amazon Lightsail
3. Una vez que esté instalado todo, tendremos que ir al archivo de configuración, para ello vamos a la ruta
Yo estoy usando MobaXterm para navegar mediante SFTP pero si quieres editar desde consola puedes usar nano digitando sudo nano /etc/squid/squid.conf
De igual manera puedes usar tu gestor de SFTP favorito para editar/subir el archivo de configuración.
4. Abrimos el archivo squid.conf y copiamos la siguiente configuración. Recuerda configurar el puerto en el que estará abierto para que te conectes con el proxy
5. Guardamos la configuración y reiniciamos el servicio squid
Para probarlo, voy a usar Firefox para conectarme mediante el proxy
Y ahora si entramos a páginas para ver la ip, veremos que estamos conectados mediante el servidor.
Hasta allí sabremos que el proxy funciona correctamente. En el archivo de configuración podremos limitar a las ip que pueden conectarse al servidor. Pero si queremos ponerle una contraseña, tendremos que añadir una cuantas líneas al archivo squid.conf y crear un archivo de contraseña.
6. Para poder ponerle contraseña, se necesita apache-utils, así que lo instalamos.
7. Una vez instalado, configuraremos el usuario y contraseña, para ello digitamos en lo siguiente. En vez de davidmorales pongan el usuario que quieran (letra minúscula)
Les pedirá una contraseña para su usuario, así que digitan 2 veces el password.
8. Ahora añadimos las siguientes lineas debajo de la linea Configuraciones avanzadas
El archivo squid.conf en su totalidad quedaría así
9. Guardamos el archivo y reiniciamos el servicio Squid
Ahora cada vez que intentes ingresar mediante el proxy, te pedirá una contraseña para poder conectarte.
Eso sería prácticamente todo.
Hasta la próxima!
En esta oportunidad voy a enseñarles a crear un proxy en su propio servidor, ya sea porque te gusta tener el control sobre los datos que envías a través de él o no confías en la protección de datos de los proveedores.
Para empezar, usaré un VPS en Estados Unidos con Ubuntu Server 20.04 de Hetzner
1. Primero nos conectamos mediante SSH al VPS y procedemos con la instalación de Squid, para ello digitamos
sudo apt-get update && sudo apt-get install squid
y le damos Y para confirmar la instalación2. Si usas Amazon o algún otro servicio que tenga Firewall externo, no olvides abrir el puerto correspondiente añadiendo una regla que lo permita.
La imagen es un ejemplo de Amazon Lightsail
3. Una vez que esté instalado todo, tendremos que ir al archivo de configuración, para ello vamos a la ruta
/etc/squid/squid.conf
para poder editar el archivo squid.confYo estoy usando MobaXterm para navegar mediante SFTP pero si quieres editar desde consola puedes usar nano digitando sudo nano /etc/squid/squid.conf
De igual manera puedes usar tu gestor de SFTP favorito para editar/subir el archivo de configuración.
4. Abrimos el archivo squid.conf y copiamos la siguiente configuración. Recuerda configurar el puerto en el que estará abierto para que te conectes con el proxy
YAML:
# Configuraciones Sencillas
tcp_outgoing_address 0.0.0.0 all
dns_nameservers 8.8.8.8 8.8.4.4
#Puerto por el cual te conectaras al proxy
http_port 8080
# Configuraciones Avanzadas
acl to_localhost dst all
acl localhost src all
http_access allow all
acl localnet src all
acl lan src all
# Configuraciones Seguridad
acl manager proto cache_object
acl Safe_ports port 0-65535
acl CONNECT method CONNECT
acl SSL_ports port 443
# Otras Configuraciones
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
# Proteger la Identidad
via off
forwarded_for off
follow_x_forwarded_for deny all
request_header_access Via deny all
request_header_access From deny all
request_header_access Link deny all
request_header_access Server deny all
request_header_access Pragma deny all
request_header_access X-Cache deny all
request_header_access Referer deny all
#request_header_access User-Agent deny all
request_header_access Keep-Alive deny all
request_header_access Cache-Control deny all
request_header_access X-Cache-Lookup deny all
request_header_access X-Forwarded-For deny all
request_header_access Proxy-Connection deny all
request_header_access WWW-Authenticate deny all
5. Guardamos la configuración y reiniciamos el servicio squid
sudo service squid restart
Para probarlo, voy a usar Firefox para conectarme mediante el proxy
Y ahora si entramos a páginas para ver la ip, veremos que estamos conectados mediante el servidor.
Hasta allí sabremos que el proxy funciona correctamente. En el archivo de configuración podremos limitar a las ip que pueden conectarse al servidor. Pero si queremos ponerle una contraseña, tendremos que añadir una cuantas líneas al archivo squid.conf y crear un archivo de contraseña.
6. Para poder ponerle contraseña, se necesita apache-utils, así que lo instalamos.
sudo apt-get install apache2-utils
7. Una vez instalado, configuraremos el usuario y contraseña, para ello digitamos en lo siguiente. En vez de davidmorales pongan el usuario que quieran (letra minúscula)
sudo touch /etc/squid/squid_passwd
sudo chown proxy /etc/squid/squid_passwd
sudo htpasswd -c /etc/squid/squid_passwd davidmorales
Les pedirá una contraseña para su usuario, así que digitan 2 veces el password.
8. Ahora añadimos las siguientes lineas debajo de la linea Configuraciones avanzadas
YAML:
# Configuraciones Avanzadas
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/squid_passwd
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
El archivo squid.conf en su totalidad quedaría así
YAML:
# Configuraciones Sencillas
tcp_outgoing_address 0.0.0.0 all
dns_nameservers 8.8.8.8 8.8.4.4
http_port 8080
# Configuraciones Avanzadas
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/squid_passwd
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
acl to_localhost dst all
acl localhost src all
http_access allow all
acl localnet src all
acl lan src all
# Configuraciones Seguridad
acl manager proto cache_object
acl Safe_ports port 0-65535
acl CONNECT method CONNECT
acl SSL_ports port 443
# Otras Configuraciones
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
# Proteger la Identidad
via off
forwarded_for off
follow_x_forwarded_for deny all
request_header_access Via deny all
request_header_access From deny all
request_header_access Link deny all
request_header_access Server deny all
request_header_access Pragma deny all
request_header_access X-Cache deny all
request_header_access Referer deny all
#request_header_access User-Agent deny all
request_header_access Keep-Alive deny all
request_header_access Cache-Control deny all
request_header_access X-Cache-Lookup deny all
request_header_access X-Forwarded-For deny all
request_header_access Proxy-Connection deny all
request_header_access WWW-Authenticate deny all
9. Guardamos el archivo y reiniciamos el servicio Squid
sudo service squid restart
Ahora cada vez que intentes ingresar mediante el proxy, te pedirá una contraseña para poder conectarte.
Eso sería prácticamente todo.
Hasta la próxima!