Firewall Setup · 9 min read · Oct 10, 2025
Imposta Ubuntu-Server 6.06 LTS come Firewall/Gateway per il tuo Ambiente di Piccole Imprese - Pagina 8
Ora devi inviare a ciascun utente reale un messaggio di benvenuto, creando così le strutture iniziali di Maildir nelle loro directory home necessarie per poter accedere ai loro account. Puoi utilizzare il modulo postfix di webmin per questo. Non è necessario inviare nulla ai loro alias. Potresti voler utilizzare un’email esterna per inviare questi messaggi di benvenuto, tuttavia, dovrai prima aprire la porta 25 nel tuo firewall, come mostrato in questa pagina del tutorial.
Nota che dovrai inviare un messaggio a ogni nuovo utente aggiunto dopo questa configurazione iniziale, ovviamente.
Il tuo Server Webmail si trova su https://your.domain/webmail (prima invia quei messaggi!)
Munin è su http://your.domain/munin
Webmin è su https://your.domain:10000
Se non hai impostato domini, usa https://192.168.1.1/webmail ecc.
Controlla che tu possa accedere al tuo webmail e inviare e ricevere effettivamente email all’interno della tua rete locale. Se sei soddisfatto, apri la porta 25 sul tuo firewall per il traffico tcp in entrata (postfix) e la porta 6277 per il traffico udp in entrata (dcc). Potresti voler rendere il tuo server webmail disponibile ai tuoi utenti dal mondo esterno. Apri anche la porta 443 per il traffico tcp in entrata (apache ssl). Aprire la porta 993 è anche una buona idea per le connessioni tcp in entrata, poiché facilita imaps.
Il mio /etc/shorewall/rules ora appare così: (giusto per cominciare, tutte le impostazioni del firewall mostrate in questo articolo sono solo destinate a farti partire e funzionare, potresti voler regolare queste impostazioni una volta che hai finito!)
#############################################################################################################
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/
# PORT PORT(S) DEST LIMIT GROUP
# PORT PORT(S) DEST LIMIT GROUP
ACCEPT net $FW tcp 25
ACCEPT net $FW tcp 443
ACCEPT net $FW tcp 993
ACCEPT net $FW udp 6277
#
# Accetta connessioni DNS dal firewall alla rete
#
DNS/ACCEPT $FW net
ACCEPT $FW net all
ACCEPT $FW loc all
ACCEPT loc $FW all
#
# Accetta connessioni SSH dalla rete locale per l'amministrazione
#
SSH/ACCEPT loc $FW
#
# Consenti Ping dalla rete locale
#
Ping/ACCEPT loc $FW
#
# Rifiuta Ping dalla zona di rete "cattiva".. e impedisci che il tuo log venga inondato..
#
Ping/REJECT net $FW
ACCEPT $FW loc icmp
ACCEPT $FW net icmp
#ULTIMA RIGA -- AGGIUNGI LE TUE ENTRATE PRIMA DI QUESTA -- NON RIMUOVERERiavvia il firewall:
/etc/init.d/shorewall restartSuccessivamente fai:
/var/dcc/libexec/updatedccOra configuriamo il tuo Server VPN.
Modifica /etc/pptpd.conf. Dovrebbe apparire così ora:
###############################################################################
# $Id: pptpd.conf 4255 2004-10-03 18:44:00Z rene $
#
# File di configurazione Poptop di esempio /etc/pptpd.conf
#
# Le modifiche hanno effetto quando pptpd viene riavviato.
###############################################################################
# TAG: ppp
# Percorso al programma pppd, predefinito '/usr/sbin/pppd' su Linux
#
#ppp /usr/sbin/pppd
# TAG: option
# Specifica la posizione del file delle opzioni PPP.
# Per impostazione predefinita PPP cerca in '/etc/ppp/options'
#
option /etc/ppp/pptpd-options
# TAG: debug
# Attiva (ulteriore) debug su syslog
#
#debug
# TAG: stimeout
# Specifica il timeout (in secondi) all'avvio della connessione ctrl
#
# stimeout 10
# TAG: noipparam
# Sopprime il passaggio dell'indirizzo IP del client a PPP, che è
# fatto per impostazione predefinita.
#
#noipparam
# TAG: logwtmp
# Usa wtmp(5) per registrare le connessioni e disconnessioni dei client.
#
logwtmp
# TAG: bcrelay
# Attiva il relay broadcast ai client dall'interfaccia
#
#bcrelay eth1
# TAG: localip
# TAG: remoteip
# Specifica gli intervalli di indirizzi IP locali e remoti.
#
# Qualsiasi indirizzo funziona purché la macchina locale si occupi del
# routing. Ma se vuoi utilizzare il networking di MS-Windows, dovresti
# utilizzare indirizzi IP al di fuori dello spazio degli indirizzi LAN e utilizzare l'opzione proxyarp
# nel file delle opzioni pppd, o eseguire bcrelay.
#
# Puoi specificare indirizzi IP singoli separati da virgole o puoi
# specificare intervalli, o entrambi. Ad esempio:
#
# 192.168.0.234,192.168.0.245-249,192.168.0.254
#
# RESTRIZIONI IMPORTANTI:
#
# 1. Non sono consentiti spazi tra le virgole o all'interno degli indirizzi.
#
# 2. Se fornisci più indirizzi IP di MAX_CONNECTIONS, inizierà
# a partire dall'inizio dell'elenco e andrà fino a ottenere
# MAX_CONNECTIONS IPs. Altri saranno ignorati.
#
# 3. Niente scorciatoie negli intervalli! ie. 234-8 non significa 234 a 238,
# devi digitare 234-238 se intendi questo.
#
# 4. Se fornisci un solo localIP, va bene - tutti gli IP locali saranno
# impostati su quello dato. Devi comunque fornire almeno un remoto
# IP per ogni client simultaneo.
#
# (Consigliato)
localip 192.168.1.1
remoteip 192.168.1.10-30
# o
#localip 192.168.0.234-238,192.168.0.245
#remoteip 192.168.1.234-238,192.168.1.245
Successivamente modifica /etc/ppp/options. Dovrebbe apparire così:
asyncmap 0
noauth
lock
hide-password
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
noipxModifica /etc/ppp/pptpd-options. Dovrebbe apparire così:
###############################################################################
# $Id: pptpd-options 4643 2006-11-06 18:42:43Z rene $
#
# File di opzioni PPP Poptop di esempio /etc/ppp/pptpd-options
# Opzioni utilizzate da PPP quando arriva una connessione da un client.
# Questo file è puntato dalla parola chiave option di /etc/pptpd.conf.
# Le modifiche hanno effetto alla connessione successiva. Vedi "man pppd".
#
# Ci si aspetta che tu modifichi questo file per adattarlo al tuo sistema. Come
# pacchettizzato, richiede PPP 2.4.2 e il modulo kernel MPPE.
###############################################################################
# Autenticazione
# Nome del sistema locale per scopi di autenticazione
# (deve corrispondere al secondo campo nelle voci di /etc/ppp/chap-secrets)
name pptp-vpn
# Facoltativo: nome di dominio da utilizzare per l'autenticazione
# domain mydomain.net
# Rimuovi il prefisso del dominio dal nome utente prima dell'autenticazione.
# (applica se utilizzi pppd con la patch chapms-strip-domain)
#chapms-strip-domain
# Crittografia
# Debian: su sistemi con un kernel costruito con il pacchetto
# kernel-patch-mppe >= 2.4.2 e utilizzando ppp >= 2.4.2, ...
# {{{
refuse-pap
refuse-chap
refuse-mschap
# Richiedi al peer di autenticarsi utilizzando l'autenticazione MS-CHAPv2 [Microsoft
# Challenge Handshake Authentication Protocol, Versione 2].
require-mschap-v2
# Richiedi crittografia MPPE a 128 bit
# (nota che MPPE richiede l'uso di MSCHAP-V2 durante l'autenticazione)
require-mppe-128
# }}}
# Rete e Routing
# Se pppd agisce come server per client Microsoft Windows, questa
# opzione consente a pppd di fornire uno o due indirizzi DNS (Domain Name Server)
# ai client. La prima istanza di questa opzione
# specifica l'indirizzo DNS primario; la seconda istanza (se fornita)
# specifica l'indirizzo DNS secondario.
# Attenzione! Queste informazioni potrebbero non essere prese in considerazione da un client Windows.
# Vedi KB311218 nella base di conoscenza di Microsoft per ulteriori informazioni.
#ms-dns 10.0.0.1
ms-dns 192.168.0.1
# Se pppd agisce come server per client Microsoft Windows o "Samba"
# questa opzione consente a pppd di fornire uno o due indirizzi server WINS (Windows
# Internet Name Services) ai client. La prima
# istanza di questa opzione specifica l'indirizzo WINS primario; la
# seconda istanza (se fornita) specifica l'indirizzo WINS secondario.
#ms-wins 10.0.0.3
ms-wins 192.168.0.1
# Aggiungi un'entrata alla tabella ARP [Address Resolution Protocol]
# di questo sistema con l'indirizzo IP del peer e l'indirizzo Ethernet di questo
# sistema. Questo avrà l'effetto di far apparire il peer ad altri
# sistemi come se fosse sulla rete ethernet locale.
# (non hai bisogno di questo se il tuo server PPTP è responsabile per il routing
# dei pacchetti ai client -- James Cameron)
proxyarp
# Debian: non sostituire la rotta predefinita
nodefaultroute
# Logging
# Abilita le strutture di debug delle connessioni.
# (vedi la tua configurazione syslog per dove pppd invia)
#debug
# Stampa tutti i valori delle opzioni che sono stati impostati.
# (spesso richiesto dalla mailing list per verificare le opzioni)
#dump
# Varie
# Crea un file di lock in stile UUCP per il pseudo-tty per garantire l'accesso esclusivo.
lock
# Disabilita la compressione BSD-Compress
nobsdcomp
authSuccessivamente, modifica /etc/ppp/chap-secrets. Dovrebbe apparire così:
# Segreti per l'autenticazione utilizzando CHAP
# client server secret Indirizzi IP
user pptp-vpn abcdefg "*"Ora fai:
/etc/init.d/pptpd restartOra dovresti essere in grado di impostare una connessione vpn al tuo nuovo server dall’interno del tuo firewall come “user” con la password “abcdefg” (senza virgolette) Cambia questo nome utente e password iniziali e aggiungi alcuni utenti, se lo desideri. Potrebbe essere necessario riavviare alcune macchine per farlo funzionare.
Ora apri il tuo firewall per le connessioni vpn in entrata. Per fare ciò, imposta il tuo /etc/shorewall/rules come mostrato.
Il mio /etc/shorewall/rules a questo punto:
#############################################################################################################
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/
# PORT PORT(S) DEST LIMIT GROUP
# PORT PORT(S) DEST LIMIT GROUP
ACCEPT net $FW tcp 25
ACCEPT net $FW tcp 443
ACCEPT net $FW tcp 993
ACCEPT net $FW udp 6277
DNAT net fw:192.168.1.1 tcp 1723
DNAT net fw:192.168.1.1 47
#
# Accetta connessioni DNS dal firewall alla rete
#
DNS/ACCEPT $FW net
ACCEPT $FW net all
ACCEPT $FW loc all
ACCEPT loc $FW all
#
# Accetta connessioni SSH dalla rete locale per l'amministrazione
#
SSH/ACCEPT loc $FW
#
# Consenti Ping dalla rete locale
#
Ping/ACCEPT loc $FW
#
# Rifiuta Ping dalla zona di rete "cattiva".. e impedisci che il tuo log venga inondato..
#
Ping/REJECT net $FW
ACCEPT $FW loc icmp
ACCEPT $FW net icmp
#ULTIMA RIGA -- AGGIUNGI LE TUE ENTRATE PRIMA DI QUESTA -- NON RIMUOVEREPer completare questo passaggio, fai:
/etc/init.d/shorewall restartQuindi ora i tuoi clienti saranno in grado di svolgere il loro lavoro (relativo alla rete informatica) a casa.
Nota che questo ha senso solo quando il tuo server ha una connessione a banda larga affidabile a Internet, che nei Paesi Bassi è lo standard de facto, anche per uffici molto piccoli e la maggior parte degli indirizzi domestici. In questo senso siamo molto avanti rispetto al resto del mondo.
Ora modifica il tuo /etc/MailScanner/spam.assassin.prefs.conf e aggiungi le seguenti righe in fondo:
score RCVD_IN_SORBS_WEB 10
score RCVD_IN_WHOIS_INVALID 10
score RCVD_IN_WHOIS_BOGONS 10
score RCVD_IN_NJABL_PROXY 10
score RCVD_IN_DSBL 10
score RCVD_IN_XBL 10
score RCVD_IN_BL_SPAMCOP_NET 10
score RCVD_IN_SORBS_DUL 10
score SARE_LWSYMFMT 3
score SARE_MLB_Stock4 3
score SARE_BAYES_5x8 3
score SARE_BAYES_6x8 3
score URIBL_SC_SURBL 10
score URIBL_WS_SURBL 10
score URIBL_PH_SURBL 10
score URIBL_OB_SURBL 10
score URIBL_AB_SURBL 10
score URIBL_JP_SURBL 10
score URIBL_SBL 10
score ALL_TRUSTED 0
Ora pulisci la tua directory /root. È lì che sono andati tutti i download.
Samba è installato. Poiché ogni configurazione di Samba è unica, non posso aiutarti qui. Non sai come farlo? Questo è un buon punto di partenza.
Per completare tutto questo, fai:
/etc/init.d/mailscanner restartOra osserva i rapporti di spam nelle intestazioni delle email in arrivo (ma assicurati che i tuoi utenti siano d’accordo con questo, poiché violerai alcune leggi postali e forse altre) per regolare l’ultima modifica (e aggiungerne alcune) per farlo funzionare come desideri. In particolare, le false negatività e ancora più false positività dovrebbero attirare la tua attenzione. Quando hai finito, potresti voler inviare la maggior parte dello spam, se non tutto, a /dev/null.
Rendi questo lavoro di spionaggio facile: crea un account speciale a cui inviare una copia di tutte le email gestite dal tuo server. Supponiamo che tu crei questo utente e lo chiami “spy” (senza virgolette) e che tu abbia dato a spy una riga in /etc/postfix/virtual, (come “[email protected] spy”, senza virgolette). Successivamente fai:
postmap /etc/postfix/virtualOra invia a spy un messaggio di benvenuto, come regola generale, e controlla che l’account di spy sia completamente operativo. Successivamente fai:
postconf -e 'always_bcc = spy' FATTO!
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.