Una buona parte degli attacchi verso una rete di calcolatori proviene da Internet. I sistemi di sicurezza vengono plasmati su questa consapevolezza in modo da garantire il massimo bloccaggio di qualsiasi dato sospetto da e verso la rete. Esistono vari tipologie di attacco che danno esito diverso a seconda del tipo di difese adottate e del livello di cura profuso nella configurazione di queste ultime.
Il sistema maggiormente subdolo è il furto di informazioni passivo detto ``sniffing''. Tale sistema di intrusione ha successo solo grazie ad eventali lacune del sistema attaccato e soprattutto non può essere rilevato poichè si limita all'ascolto del traffico dati transitante su di una linea accessiblie. L'attaccante puo' rilevare il passaggio delle password in chiaro durante l'autenticazione telnet o impossessarsi di interi file transitanti su NFS. Ecco perchè tutte le informazioni importanti dovrebbero essere protette anche durante il trasferimento in rete e non solo durante la loro custodia sul disco fisso. Il transito di dati potenzialmente pericolosi per la sicurezza in genere non può essere eliminato, vuoi per la necessità di autenticare utenti esterni per il lavoro su shell, vuoi per la necessità di unire sottoreti distanti tramite ``tunnel'' sulla rete pubblica -si parla di Virtual Private Network (VPN) riferendosi alle varie intranet unite da uno o più tunnel-. Per proteggere la trasmissione si può ricorrere a sistemi di crittazione più che collaudati come RSA e Rabin per i dati di dimensione limitata -tra cui le e-mail e la fase di scambio iniziale di chiavi segrete previsto da IPV6- e MD5 o simili per gestire grandi flussi tramite cifranti binarie. Già oggi esistono applicativi perfettamente funzionanti come SSH, il quale rimpiazza il telnet, e gateway cifranti per l'implementazione di VPN tra i firewall di intranet ``amiche''.
Un tipo di attacco maggiormente controllabile è lo spoofing. In questo caso l'attaccante tenta di introdursi nella rete locale attraverso Internet contando di sfruttare le relazioni di fiducia esistenti tra le macchine della stessa rete. A tale scopo la macchina dell'intruso deve spacciarsi per una macchina ``amica'' presentandosi con un indirizzo IP locale. Per un firewall qualsiasi è facilissimo rilevare la presenza di una macchina della rete interna fuori posizione i cui dati, arrivati attraverso Internet -e non dalla sua collocazione naturale sulla intranet-, vengono bloccati.
Un firewall dovrebbe limitare al massimo le possibilità di accesso degli utenti esterni alle macchine locali e dovrebbe proteggerle da eventuali attacchi miranti al blocco del sistema. Il primo limite aiuta l'amministratore del sistema, il quale non deve imporre agli utenti restrizioni sui software installabili -ed in particolare sui loro bachi- ma semplicemente evita che il mondo possa approfittare di essi accedendovi liberamente. Il secondo invece deve coprire le lacune di alcuni sistemi operativi nella gestione della rete. Purtroppo alcune particolari combinazioni di pacchetti malformati possono provocare il crash del sistema e in altri casi l'eccesiva frammentazione di pacchetti molto grandi ma legittimi può dare risultati simili. I sistemi di difesa come ipchains per linux danno garanzie totali su entrambi i fronti poichè i dati in arrivo vengono controllati alla ricerca di irregolarità di costruzione e, volendo, i pacchetti frammentati vengono ricostruiti interamente prima di essere girati al destinatario finale.
Esistono infine debolezze insite nei servizi tradizionalmente presenti su Internet come l'FTP. Tale servizio di movimentazione file richiede nella forma più comune -detta ``attiva''- che il client comunichi al server la porta locale sul quale effettuare la connessione. Il server, una volta ricevuto il numero di porta verso cui comunicare effettua una connessione e trasferisce i file. Questo è concettualmente sbagliato poichè da Internet nessuno dovrebbe poter stabilire di propria iniziativa una connessione verso l'interno della rete. La maggior parte dei firewall aggira il problema tenendo conto del messaggio iniziale del client nel quale si comunica il numero di porta al server. Purtroppo il firewall a volte non è molto ``furbo'' per cui se a generare il messaggio -PORT ###- è un'applicazione maliziosa ed il numero della porta è ad esempio il 23 è possibile che un utente non autorizzato possa tentare l'accesso tramite il telnet.
Ovviamente le applicazioni maliziose devono essere eseguite ma la grande diffusione dei virus tramite l'apertura incauta di messaggi e-mail ed il proliferare di applicazioni java per il web dovrebbero far suonare un campanello d'allarme. Fortunatamente va diffondendosi un diverso tipo di standard nella negoziazione della connessione FTP definito ``passivo'' perchè è il server a decidere la propria porta locale ed è il client questa volta ad avviare la connessione.