Een proxy server heeft vele toepassingen. het kan variëren van persoonlijke internet toegang tot het beperken van organisatie systemen/servers om toegang te krijgen tot de buitenwereld of om externe internet toegang te beperken voor een set servers op de cloud.
De beste manier om een proxy server te configureren is door gebruik te maken van de Squid proxy. Dit is een veelgebruikte proxyserver.
In dit artikel hebben we het volgende behandeld.
- Installeer proxyserver
- Configureer de proxyserver
- Configureer basisproxyauthenticatie.
Note: deze tutorial is getest op CentOS 7. Voor installatie op Ubuntu, bekijk deze tutorial – Squid Proxy Setup On Ubuntu
Installeer proxyserver: Squid Proxy
Step1: Update de server
sudo yum update -y
Step 2: Configureer EPEL repo.
sudo yum -y install epel-releasesudo yum -y updatesudo yum clean all
Step 3: Installeer squid
sudo yum -y install squid
Step 4: Start en activeer squid server.
sudo systemctl start squidsudo systemctl enable squid
Step 5: Controleer de status van squid server.
sudo systemctl status squid
Configureer Proxy Server: Squid Proxy
Alle configuraties voor de squid server zijn aanwezig in /etc/squid/squid.conf
bestand.
Configureer proxy bronnen voor toegang tot Internet
Eerst moet u de bronnen configureren van waaruit squid proxy verbindingen moet accepteren. Bijvoorbeeld, u zou deze proxy server alleen vanaf uw thuisnetwerk moeten benaderen of vanaf specifieke CIDR bereiken.
U kunt een bron IP bereik toevoegen met een ACL met behulp van het volgende formaat.
acl localnet src 110.220.330.0/24
Open /etc/squid/squid.conf
bestand en voeg de bron toe zoals hieronder getoond. Verander de IP naar het gewenste netwerk/IP bron gebaseerd op uw behoeften. In het volgende voorbeeld hebben we een enkel bron-IP toegevoegd.
Start de proxyserver opnieuw nadat u de ACL wijzigingen hebt aangebracht.
sudo systemctl restart squid
Test proxyserverconnectiviteit
Test of de proxyserver werkt met een eenvoudig curl-verzoek. Gebruik het volgende curl formaat. Standaard draait squid proxy op poort 3128.
curl -x http://<squid-proxy-server-IP>:3128 -L http://google.com
Configureer Proxy Authenticatie
Gelijktijdig met toegang ACL’s, kunt u basisauthenticatie toevoegen aan uw proxyserver voor extra veiligheid. Volg de onderstaande stappen voor het instellen van een basis auth voor de squid proxy server.
Step 1: Installeer httpd-tools
sudo yum -y install httpd-tools
Step 2: Maak een passwd bestand en maak squid als eigenaar van het bestand.
sudo touch /etc/squid/passwd && sudo chown squid /etc/squid/passwd
Step 3: Voeg pxuser toe aan het password bestand met behulp van htpasswd utility. Het zal vragen om een aangepast wachtwoord. Voer een sterk wachtwoord in dat je nodig hebt. Deze gebruikersnaam en dit wachtwoord worden gebruikt voor alle verbindingen via deze proxy.
sudo htpasswd /etc/squid/passwd pxuser
Step 4: Open squid config bestand.
sudo vi /etc/squid/squid.conf
Voeg het volgende toe aan het config-bestand en sla het op.
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwdauth_param basic children 5auth_param basic realm Squid Basic Authenticationauth_param basic credentialsttl 2 hoursacl auth_users proxy_auth REQUIREDhttp_access allow auth_users
Step 5: Start nu de squid-server opnieuw op zodat de configuratiewijzigingen kunnen worden doorgevoerd.
sudo systemctl restart squid
Step 6: Als u nu de proxy-verbinding test met curl, krijgt u de melding “authenticatie vereist”, zoals hieronder wordt weergegeven.
Nu moet u de verbinding testen met de proxy-gebruiker en het wachtwoord die we in stap 3 hebben geconfigureerd.
curl -x http://35.196.101.43:3128 --proxy-user pxuser:12345 -I http://google.com
Met gebruikersnaam en wachtwoord zou uw proxyverzoek door moeten gaan.
Websites blokkeren
Een ander goed gebruik van de proxyserver is het beperken van de toegang tot websites. Volg de onderstaande stappen voor het maken van een blokkadelijst.
Stap 1: Open een geblokkeerde lijst bestand.
sudo vi /etc/squid/blocked_sites
Voeg de te blokkeren websites toe in het bestand. Bijvoorbeeld,
facebook.comtwitter.cominstagram.com
Step 2: Open het squid config bestand.
sudo vi /etc/squid/squid.conf
Voeg het volgende toe aan de ACL lijst.
acl blocked_sites dstdomain "/etc/squid/blocked_sites"http_access deny blocked_sites
Step 3: Herstart de squid server.
sudo systemctl restart squid
Als je nu via de proxy toegang probeert te krijgen tot de geblokkeerde site, krijg je een verboden melding zoals hieronder te zien is.
- More