Come creare una configurazione HTTPS sicura per il proprio server web

Configurare il supporto HTTPS nel server web è più importante che attivare il supporto HTTPS nel server stesso. Questo perché i protocolli e le configurazioni possibili sono molte ed usare una configurazione, piuttosto che un’altra, può lasciare aperto un problema di sicurezza. Consiglio quindi di dare un’occhiata a https://ssl-config.mozilla.org/ per generare la corretta configurazione da … Leggi tutto

apache2: impostare l’header X-Forwarded-For con il valore dell’header client-ip

Su una nuova installazione di un server apache attivo dietro un bilanciatore, ci siamo accorti che l’IP del visitatore veniva passato nella variabile header client_ip piuttosto che il classico. Per passare il valore di client_ip in X-Forwarded-For basta inserire la seguente direttiva in uno di file di configurazione di apache (io ho optato per /etc/apache2/conf-enabled/security.conf … Leggi tutto

tcpdump: recuperare gli header delle richieste verso apache/nginx

Oggi vediamo come recuperare l’elenco degli headers inviati nelle richieste al server web per individuare i parametri che il software client ci invia. Innanzitutto individuiamo il nome della scheda di rete con il comando: ip a Ipotizziamo ens192 sia la scheda primaria di default attiva nelle ultime distribuzioni GNU/Debian. A questo punto, per recuperare le … Leggi tutto

Apache: loggare il corretto IP se dietro proxy nginx

Ultimamente si usa spesso attivare nginx come proxy “davanti” ad Apache, magari per usare sistema di caching oppure per funzionalità particolari di bilanciamento, etc. Attivando semplicemente nginx come proxy, si vedrà che apache inizierà a loggare come IP visitatore sempre quello del proxy e non più quello del visitatore vero e proprio. Ipotizziamo di avere … Leggi tutto

Abilitare HTTP/2 su apache

Il protocollo HTTP/2 è l’evoluzione del protocollo HTTP. Si basa su un uso più efficiente delle risorse di rete. L’implemetazione del protocollo, molto simile al predecessore, è descritto nella RFC 7540. In breve, HTTP/2 è unn protocollo binario al contrario di HTTP che si basa su plain text. h2 indica HTTP/2 over TLS (protocol negotiation … Leggi tutto

mod-security: Controllare se ci sono virus nei files caricati

Oggi parliamo di un’esigenza un po’ particolare, ovvero far scansionare al server un file durante l’upload per evitare che si tratti di virus. A questo scopo utilizzeremo mod-security (vi rimando ad un articolo precedente per l’installazione) insieme a clamav (il nodo antivirus opensource). Do per scontato che mod-security sia già installato (rif articolo precedente), vediamo … Leggi tutto

Apache: loggare il corretto IP chiamante se ci troviamo dietro un proxy server

A volte può essere utile usare un proxy server (per velocità, per bilanciare, etc) davanti al propio webserver, ma vi sarete accorti che nei files di log ci sarà sempre l’IP del proxy al posto di quello del visitatore reale. Per sopperire a questa mancanza, si può ricorrere al modulo rpaf, installabile tramite apt-get: apt-get … Leggi tutto

Apache/nft: Come mostrare due contenuti web differenti in base all’IP sorgente

Ultimamente mi è stato chiesto di impostare apache per mostrare il contenuto di due diverse cartelle in base all’IP sorgente. Avrei potuto usare una regola di rewrite, ma serviva qualcosa per simulare completamente il funzionamento di un sito di preproduzione, prima di andare effettivamente in produzione. La cosa più semplice? Configurare ed attivare un nuovo … Leggi tutto