Skip to main content
  1. Lab-blue/

[TODO] Lab - Squid Forward Proxy

·3 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

Cosa fa
#

Installa Squid su Ubuntu come forward proxy. Kali naviga attraverso Ubuntu: il sito vede l'IP di Ubuntu, non di Kali. Dimostra anche il content filtering bloccando un dominio specifico.

TL;DR
#

Senza proxy:  Kali ─HTTP─▶ example.com  (example.com vede IP Kali)
Con proxy:    Kali ─HTTP─▶ Ubuntu(Squid) ─HTTP─▶ example.com  (example.com vede IP Ubuntu)
FunzioneDescrizione
Anonimato IPIl sito vede il proxy, non il client
Content filteringBlocca domini o categorie di siti
CachingRisparmio banda (Squid cachea le risposte)
LoggingTutti gli URL visitati loggati su Ubuntu

Fase 1 — Installa e configura Squid su Ubuntu
#

  • Task 1.1 — Installa Squid

    sudo apt update && sudo apt install -y squid
    sudo systemctl status squid
    • Come sai che hai finito: status active (running), porta 3128 in ascolto
  • Task 1.2 — Verifica porta in ascolto

    ss -tlnp | grep 3128
    • Come sai che hai finito: squid in ascolto su 0.0.0.0:3128
  • Task 1.3 — Configura Squid per accettare connessioni dalla Kali

    sudo nano /etc/squid/squid.conf

    Trova la sezione ACL e aggiungi prima di http_access deny all:

    acl lab_network src 192.168.64.0/24
    http_access allow lab_network
    sudo systemctl restart squid
    • Come sai che hai finito: sudo squid -k parse senza errori

Fase 2 — Configura Kali per usare il proxy
#

  • Task 2.1 — Imposta proxy per curl (variabile d'ambiente)

    # Da Kali
    export http_proxy="http://192.168.64.3:3128"
    export https_proxy="http://192.168.64.3:3128"
  • Task 2.2 — Testa la connessione attraverso il proxy

    curl -v http://example.com 2>&1 | grep -E "Connected|HTTP|Via"
    • Come sai che hai finito: vedi "Via: 1.1 ubuntu (squid/...)" nell'header di risposta — conferma che il traffico è passato per Squid
  • Task 2.3 — Verifica i log su Ubuntu

    # Su Ubuntu — vedi le richieste di Kali
    sudo tail -f /var/log/squid/access.log

    Esegui una richiesta da Kali mentre guardi i log:

    # Da Kali
    curl http://example.com
    • Come sai che hai finito: nel log vedi l'IP di Kali (192.168.64.200), l'URL, il codice HTTP

Fase 3 — Content filtering: blocca un dominio
#

  • Task 3.1 — Aggiungi blocco dominio

    sudo nano /etc/squid/squid.conf

    Aggiungi queste righe prima di http_access allow lab_network:

    acl bloccati dstdomain .facebook.com .twitter.com
    http_access deny bloccati
    sudo systemctl restart squid
  • Task 3.2 — Verifica il blocco da Kali

    curl -v http://facebook.com
    • Come sai che hai finito: ricevi "403 Forbidden" da Squid — il dominio è bloccato
  • Task 3.3 — Verifica nei log

    sudo tail -5 /var/log/squid/access.log
    • Come sai che hai finito: vedi DENIED accanto alla richiesta verso facebook.com

Fase 4 — Differenza forward proxy vs reverse proxy
#

  • Task 4.1 — Analisi concettuale

    Forward ProxyReverse Proxy
    ProteggeIl clientIl server
    Dove staVicino al client / DMZ lato clientDMZ davanti ai server
    Chi lo configuraIl client (o il DHCP/GPO)L'amministratore del server
    EsempioSquid aziendalenginx, HAProxy
    Il server vedeIP del proxyIP del proxy
    • Come sai che hai finito: sai rispondere: "un reverse proxy sta nella DMZ e protegge i server interni" (trappola esame cap 3)

Scenario Reale
#

Un'azienda installa Squid come forward proxy obbligatorio per tutto il traffico HTTP/HTTPS interno. Risultati:

  • Visibilità: ogni URL visitato è loggato → utile per threat hunting
  • Content filtering: blocca malware domains noti, social media, siti non aziendali
  • SSL inspection (avanzato): Squid può fare MITM su HTTPS per ispezionare il contenuto cifrato

Risorse
#

  • man squid.conf — configurazione completa
  • /var/log/squid/access.log — log delle richieste
  • Gibson SY0-701 Cap 3 — Proxy Server

Collegato a
#

  • cap-03-security-architecture — proxy server, forward vs reverse

Related