Cum să Instalezi un Server Proxy SSL cu Autentificare pe Linux
Dorești să configurezi un server proxy criptat pe Linux, care să necesite autentificare? Un server proxy SSL oferă un nivel suplimentar de securitate, criptând traficul și asigurând confidențialitatea utilizatorilor din rețeaua ta. Prin autentificare, doar utilizatorii autorizați vor putea accesa proxy-ul, oferind atât securitate, cât și control. În acest ghid, îți vom arăta cum să instalezi un server proxy SSL pe Linux, să configurezi criptarea, să generezi certificate SSL și să adaugi autentificare pe bază de nume de utilizator și parolă.
De ce să folosești un server proxy SSL cu autentificare?
Un server proxy SSL criptează traficul între client și server, făcând navigarea mai sigură pentru utilizatori prin securizarea transferului de date. Adăugarea autentificării asigură accesul numai pentru utilizatorii autorizați, ideal pentru companii, organizații și rețele de acasă care au nevoie de securitate și acces restricționat.
Pasul 1: Instalează Squid (cu support OpenSSL) și OpenSSL
Pentru a crea un server proxy SSL pe Linux, vom folosi Squid cu suport OpenSSL (squid-openssl
) și OpenSSL în sine pentru criptare SSL.
Actualizează lista de pachete:
sudo apt update
Instalează pachetul squid
cu suport OpenSSL:
sudo apt install squid-openssl -y
Instalează OpenSSL (poate fi deja instalat, dar este bine să verifici):
sudo apt install openssl -y
Pasul 2: Generează certificate SSL pentru conexiuni sigure
Serverul tău proxy SSL necesită un certificat de Autoritate de Certificare (CA) pentru a cripta traficul. Urmează acești pași pentru a crea o cheie privată și un certificat.
Creează un director pentru a stoca certificatele SSL:
sudo mkdir -p /etc/squid/ssl_cert
Generează o cheie privată pentru CA:
sudo openssl genrsa -out /etc/squid/ssl_cert/myCA.key 2048
Creează certificatul CA:
sudo openssl req -new -x509 -key /etc/squid/ssl_cert/myCA.key -out /etc/squid/ssl_cert/myCA.pem -days 3650
- When prompted, enter details for the certificate. This certificate (
myCA.pem
) will be used by Squid to secure connections.
Setează permisiunile pentru fișierele de certificat:
sudo chmod 600 /etc/squid/ssl_cert/myCA.key
sudo chmod 644 /etc/squid/ssl_cert/myCA.pem
Pasul 3: Configurarea Autentificării Utilizatorilor
Pentru a restricționa accesul la proxy, vom configura autentificarea utilizatorilor prin crearea unui fișier de parolă unde vor fi stocate numele de utilizator și parolele autorizate.
Instalează utilitarul pentru crearea fișierelor de parolă:
sudo apt install apache2-utils -y
Creează fișierul de parolă:
sudo touch /etc/squid/passwd
sudo chmod 600 /etc/squid/passwd
Adaugă un utilizator în fișierul de parolă:
sudo htpasswd -c /etc/squid/passwd username
Replace username
with your preferred username. You’ll be prompted to create a password for this user.
Adaugă utilizatori suplimentari (opțional):
sudo htpasswd /etc/squid/passwd anotheruser
Pasul 4: Configurarea Squid ca Server Proxy SSL cu Autentificare
Cu criptarea SSL și autentificarea pregătite, modifică fișierul de configurare Squid pentru a activa aceste funcții.
Deschide fișierul de configurare Squid:
sudo nano /etc/squid/squid.conf
Înlocuiește configurația implicită cu următoarea:
# Squid Proxy Configuration with SSL Bumping and Authentication
https_port 7788 cert=/etc/squid/ssl_cert/myCA.pem key=/etc/squid/ssl_cert/myCA.key
# Access control list for IP range 192.168.155.0/24
acl allowed_network src 192.168.155.0/24
# Access control list for the specific domain
acl allowed_domain dstdomain .subomain.domain.com
# Authentication settings
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Proxy Server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
# Define an ACL for authenticated users
acl authenticated_users proxy_auth REQUIRED
# Access Control Rules
http_access allow authenticated_users allowed_network
http_access allow authenticated_users allowed_domain
# Allow access to HTTPS (port 443) traffic for authenticated users for all domains
acl SSL_ports port 443
http_access allow authenticated_users SSL_ports
# Deny all other access requests
http_access deny all
# SSL Bumping Configuration for handling HTTPS connections
acl step1 at_step SslBump1
acl step2 at_step SslBump2
acl step3 at_step SslBump3
ssl_bump peek step1
ssl_bump stare step2
ssl_bump bump step3
# Disable caching for specific sites
acl no_cache_sites dstdomain .domain.com
cache deny no_cache_sites
# Hide client information for anonymity
forwarded_for delete
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access From deny all
request_header_access Referer deny all
request_header_access Server deny all
request_header_access WWW-Authenticate deny all
request_header_access Link deny all
request_header_access User-Agent allow all
request_header_access Authorization allow all
request_header_access Allow allow all
request_header_access Cache-Control allow all
visible_hostname unknown
cache deny all
logfile_rotate 10
access_log /dev/null
cache_log /dev/null
coredump_dir /var/spool/squid
read_timeout 5 minutes
half_closed_clients off
shutdown_lifetime 1 seconds
dns_nameservers 8.8.8.8 8.8.4.4
Salvează și ieși din fișierul de configurare.
Repornește Squid pentru a aplica modificările:
sudo systemctl restart squid
Pasul 5: Testarea Serverului Proxy SSL
- Configurează un dispozitiv client pentru a folosi proxy-ul, setând adresa IP a serverului și portul
3322
în setările proxy. - Verifică Autentificarea: Când un utilizator se conectează la internet prin acest proxy, i se va solicita să introducă numele de utilizator și parola configurate.
- Testează Criptarea SSL: Accesează un site HTTPS prin proxy. Pentru a evita avertismentele de certificat, poate fi necesar să instalezi certificatul
myCA.pem
pe dispozitivul client sau în browser ca autoritate de încredere.
Concluzie
Felicitări! Ai configurat cu succes un server proxy SSL pe Linux cu autentificare de utilizator securizată. Cu criptare SSL, serverul tău proxy poate inspecta traficul securizat și poate asigura accesul doar utilizatorilor autorizați. Această configurație este ideală pentru cei care doresc să îmbunătățească securitatea rețelei, fie pentru afaceri, educație sau uz personal.
Puncte Cheie:
- Criptarea SSL securizează datele transferate prin proxy.
- Autentificarea Utilizatorului limitează accesul la proxy la utilizatorii autorizați.
- Controlul Confidențialității protejează anonimatul utilizatorilor.
Această configurație de server proxy SSL oferă un mediu sigur și controlat pentru gestionarea traficului pe internet, fiind un instrument valoros pentru oricine dorește să îmbunătățească securitatea re
Lasă un răspuns