GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare un proxy HTTP utilizzando Squid su CentOS 8

Squid è un server di cache proxy Web gratuito e open source che supporta diversi protocolli, come HTTP, HTTPS, FTP e SSL. Viene utilizzato principalmente come server proxy di memorizzazione nella cache e può migliorare notevolmente le prestazioni del server memorizzando nella cache le richieste ripetute, filtrando il traffico Web e accedendo a contenuti con restrizioni geografiche.

Squid può fungere da intermediario tra il client e il server web. Dopo aver collegato il proxy Squid, sarai in grado di accedere in modo anonimo ai servizi Internet e aggirare le restrizioni della rete locale.

In questo tutorial impareremo come installare e configurare Squid Proxy su CentOS 8.

Prerequisiti

  • Un nuovo CentOS 8 VPS sulla piattaforma Atlantic.Net Cloud
  • Una password di root configurata sul tuo server

Fase 1:crea un server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo CentOS 8 come sistema operativo con almeno 1 GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Dopo aver effettuato l'accesso al server CentOS 8, esegui il comando seguente per aggiornare il sistema di base con gli ultimi pacchetti disponibili.

dnf update -y

Passaggio 2:installare il server proxy Squid

Il pacchetto Squid è disponibile nel repository predefinito di CentOS 8. Puoi installarlo semplicemente eseguendo il seguente comando:

dnf install squid -y

Una volta installato, avvia il servizio proxy Squid e abilitalo all'avvio al riavvio con il seguente comando:

systemctl start squid
systemctl enable squid

Passaggio 3:configurazione dell'autenticazione basata su IP

Esistono diversi modi per configurare Squid per accettare connessioni e fungere da proxy HTTP. In questa sezione, configureremo Squid per autenticare i client in base ai loro indirizzi IP.

Apri il file di configurazione predefinito di Squid in /etc/squid/squid.conf:

nano /etc/squid/squid.conf

Aggiungi la seguente riga all'inizio del file:

acl user1 src 192.168.0.10
acl user2 src 192.168.0.11
http_access allow user1 user2

Salva e chiudi il file al termine, quindi riavvia il servizio Squid per applicare le modifiche:

systemctl restart squid

Nel passaggio precedente, sostituisci le informazioni pertinenti come di seguito :

utente1 e utente2 è il nome che identifica i computer client.

192.168.0.10 e 192.168.0.11 è l'indirizzo IP del computer client.

Passaggio 4:configurazione dell'autenticazione basata sull'utente

In questa sezione, configureremo Squid per autenticare un client con nomi utente e password.

Innanzitutto, installa il pacchetto di utilità Apache nel tuo sistema:

dnf install httpd-tools -y

Quindi, crea un file per memorizzare utenti e password Squid e modificare la proprietà del file password:

touch /etc/squid/squid_passwd
chown squid /etc/squid/squid_passwd

Quindi, crea un nuovo utente squid con nome utente1 usando il seguente comando:

htpasswd /etc/squid/squid_passwd user1

Ti verrà chiesto di creare una password per questo utente come mostrato di seguito:

New password:
Re-type new password:
Adding password for user user1

Quindi, crea un altro utente chiamato user2 con il seguente comando:

htpasswd /etc/squid/squid_passwd user2

Fornisci una password per questo utente come mostrato di seguito:

New password:
Re-type new password:
Adding password for user user2

Ora puoi verificare entrambi gli utenti con il seguente comando:

cat /etc/squid/squid_passwd

Dovresti ottenere il seguente output:

user1:$apr1$szXO3OTj$37MuRy2V06mIAOiRpFjnr1
user2:$apr1$MCAckv0h$0VwDLLhAfMLaLm3Xvk3H/0

Quindi, modifica il file di configurazione di Squid:

nano /etc/squid/squid.conf

Aggiungi le seguenti righe all'inizio del file:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users

Salva e chiudi il file, quindi riavvia il servizio proxy Squid per applicare le modifiche:

systemctl restart squid

Passaggio 5:configurazione dell'autenticazione combinata

In questa sezione, configureremo Squid per autenticare un client in base all'indirizzo IP e al nome utente/password.

Modifica il file di configurazione predefinito di Squid:

nano /etc/squid/squid.conf

Trova le seguenti righe che hai aggiunto in precedenza:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users
acl user1 src 192.168.0.10
acl user2 src 192.168.0.11
http_access allow user1 user2

E sostituiscili con le seguenti righe:

acl user1 src 192.168.0.10
acl user2 src 192.168.0.11
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow user1 user2 ncsa_users

Salva e chiudi il file, quindi riavvia il servizio proxy Squid per applicare le modifiche:

systemctl restart squid

Passaggio 6:configura Squid per rendere anonimo il traffico

Successivamente, dovrai aggiungere alcune regole per mascherare gli indirizzi IP dei client dai server che ricevono traffico dal tuo proxy HTTP Squid.

Puoi farlo modificando il file di configurazione predefinito di Squid:

nano /etc/squid/squid.conf

Aggiungi le seguenti righe all'inizio del file:

forwarded_for off
request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all
request_header_access Content-Type allow all
request_header_access Date allow all
request_header_access Expires allow all
request_header_access Host allow all
request_header_access If-Modified-Since allow all
request_header_access Last-Modified allow all
request_header_access Location allow all
request_header_access Pragma allow all
request_header_access Accept allow all
request_header_access Accept-Charset allow all
request_header_access Accept-Encoding allow all
request_header_access Accept-Language allow all
request_header_access Content-Language allow all
request_header_access Mime-Version allow all
request_header_access Retry-After allow all
request_header_access Title allow all
request_header_access Connection allow all
request_header_access Proxy-Connection allow all
request_header_access User-Agent allow all
request_header_access Cookie allow all
request_header_access All deny all

Salva e chiudi il file, quindi riavvia il servizio proxy Squid per applicare le modifiche:

systemctl restart squid

Passaggio 7:prova il proxy Squid

A questo punto, il tuo server proxy Squid è configurato per accettare connessioni client in base all'indirizzo IP e nome utente/password e gestire in modo anonimo il traffico Internet.

Successivamente, dovrai configurare le impostazioni del browser del tuo computer Cliente per utilizzare il tuo server Squid come proxy HTTP.

Sul computer client, apri Mozilla Firefox e fai clic su Modifica => Preferenze come mostrato di seguito:

Scorri verso il basso fino alla sezione Impostazioni di rete e fai clic su Impostazioni . Dovresti vedere la seguente pagina:

Seleziona il pulsante di opzione Configurazione proxy manuale, inserisci l'indirizzo IP del tuo server Squid nel campo Host HTTP e 3128 nel campo Porta, seleziona la casella di controllo "Utilizza questo server proxy per tutti i protocolli" e fai clic su OK pulsante per salvare le impostazioni.

Ora il tuo browser è configurato per navigare in Internet tramite il proxy Squid.

Per verificarlo, digita l'URL https://www.whatismyip.com/. Ti verrà chiesto di fornire un nome utente e una password come mostrato di seguito:

Fornisci il nome utente e la password del server proxy Squid che hai creato in precedenza e fai clic su OK pulsante. Dovresti vedere la seguente pagina:

Nella pagina sopra, dovresti vedere l'indirizzo IP del tuo server Squid invece dell'indirizzo IP del tuo computer client.

Conclusione

Nella guida sopra, hai imparato come configurare Squid come server proxy HTTP su CentOS 8 e configurare il tuo browser per usarlo. Ora puoi navigare sul Web in modo anonimo e impedire a Firefox di tracciarti. Prova oggi Squid su un account di hosting VPS di Atlantic.Net!


Linux
  1. Server proxy calamari

  2. Come utilizzare il metodo CONNECT su un proxy HTTP utilizzando Telnet?

  3. Come eseguire Ssh su un server utilizzando un altro server??

  4. Come configurare VSFTPD su CentOS 8

  5. Come creare un banner SSH nel server CentOS/RHEL

Come configurare un server FTP su CentOS 8 utilizzando VSFTPD

Come configurare un server TeamSpeak su CentOS 7

Come installare Nginx su CentOS 7

Come configurare NGINX su un server CentOS 7

Come configurare Apache come server proxy frontend per Node.js CentOS 8

Come installare il server proxy Squid su Ubuntu 18.04