Archivio per la categoria ‘apache’

Post

Apache – Virtual Host

In apache on gennaio 22, 2010 di poyblog Messo il tag: , ,

Il termine Virtual Host si riferisce alla pratica di eseguire più di un sito su una singola macchina server. Esistono due tipi di virtualizzazioni:

  1. basata su IP → ogni sito possiede un indirizzo IP differente, anche se risiede sulla medesima macchina
  2. basata sui nomi → esistono più siti diversi che soggiornano sulla medesima macchian con lo stesso indirizzo IP

Continua a leggere »

Post

Apache – URL Rewriting

In apache on gennaio 21, 2010 di poyblog Messo il tag: , , ,

mod_rewrite sfrutta le proprie capacità di riscrittura, basate sulle espressioni regolari, per riscrivere URL al volo .

Il modulo in questione è in grado di lavorare sia a livello server (specificando le configurazioni nel file httpd.conf) oppure in un contesto di directory (grazie al file .htaccess) ed è in grado perfino di generare parti di query-string.

La documentazione del modulo si basa interamente sulle funzionalità e la potenza delle espressioni regolari, che di seguito illustreremo in modo semplice e veloce. Ricordo che le espressioni regolari non sono uno strumento facile da digerire, per poter sfruttare a pieno le potenzialità dello strumento è necessaria molta pratica ed esercizio.

Continua a leggere »

Post

Apache – suEXEC

In apache on gennaio 15, 2010 di poyblog Messo il tag: , , , ,

La caratteristica suExec permette al servizio apache di eseguire script CGI e SSI con user e group ID differenti rispetto a quello con cui viene eseguito di norma il servizio apache2. Se non c’è installato suExec gli script CGI o SSI vengono eseguiti dall’utente con il quale viene eseguito il web server.

Usato in modo adeguato suExec rende molto più sicura e stabile la struttura del nostro webServer. Nel caso in cui venga utilizzato impropriamente crea più danni che benefici. Il consiglio quindi è quello di utilizzare questa caratteristica solo se si conoscono in maniera adeguata gli strumenti sui quali si sta lavorando, ovvero:

  • Web Server
  • Script CGI
  • Permessi a livello di filesystem
  • Gestione degli utenti

Continua a leggere »

Post

Apache SSL/TLS – Secure Sockets Layer

In apache on gennaio 7, 2010 di poyblog Messo il tag: , ,

Il protocollo SSL è un protocollo posto fra il livello di connessione orientata affidabile (TCP/IP) e il livello applicazione (HTTP) all’interno dello stack dei protocolli TCP/IP , SSL fornisce una comunicazione sicura fra client e server permettendo una mutua autenticazione grazie all’utilizzo di firme digitali per assicurare l’integrità e la crittografia per garantire la privatezza del dato.

Il Protocollo è disegnato per supportare un vaso numero di opzioni per specifici algoritmi utilizzati per la crittografia, la firma e l’hashing. Le scelte vengono negoziate fra il client e il server quando viene stabilita la connessione.

Continua a leggere »

Post

Apache SSL/TLS – certificati

In apache on gennaio 7, 2010 di poyblog Messo il tag: ,

Oltre a inviare un messaggio privato verso la banca, con la propria firma al fine di assicurare l’integrità del messaggio stesso, Alice deve essere sicura di essere in comunicazione con la banca. Questo significa che Alice deve essere sicura che la chiave pubblica utilizzata per criptare il messaggio sia effettivamente fornita dalla banca e non da un malintenzionato. Allo stesso modo la banca deve poter verificare che la firma sia stata effettivamente firmata con la chiave privata di Alice.

Se ognuna delle due parti (banca e Alice) possiedono un certificato convalidato da una terza entità, che conferma le chiavi pubbliche e firmato dalla stessa agenzia, allora è assicurato che la comunicazione avvenga effettivamente fra le due parti in causa. La terza entità appena definita viene detta Certificate Authority e i certificati vengono utilizzati per autenticarsi
Continua a leggere »

Post

Apache SSL/TLS – le basi

In apache on gennaio 5, 2010 di poyblog Messo il tag: , , , ,

Il modulo mod_ssl fornisce una interfaccia per le librerie OpenSSL, che forniscono un alto livello di cifratura dei dati utilizzando SSL (Secure Socket Layer)e TLS(Transport Layer Security).

In questa serie di articoli tratteremo nel dettaglio sia le librerie SSL sia il modo in cui apache stesso si interfaccia con questi strumenti che permettono un alto livello di sicurezza nelle comunicazioni.

Per capire SSL è necessario avere una idea di cosa significhi un algoritmo crittografico, una funzione di hash, una firma digitale. Di seguito introdurremo questi concetti grazie a definizioni ed esempi.

Continua a leggere »

Post

Apache – Accorgimenti sulla sicurezza

In apache on dicembre 24, 2009 di poyblog Messo il tag: ,

In questo articolo verranno esposti alcuni accorgimenti per migliorare lo stato di sicurezza del web Server Apache. Alcune di queste dritte sono generali, si applicano a livello di sistema, altre ancora sono specifiche del web server.

Innanzitutto è necessario mantenere aggiornato il pacchetto apache, nuove release potrebbero includere patch di sicurezza importanti.

Ricordiamo che apache viene avviato dall’utente root, per poi passare all’utente definito dalla direttiva User ; è quindi necessario che ogni comando che venga eseguito da root non sia modificabile da un utente che non sia root, e quindi tutti i file di log, i file di avvio del servizio ed i file di configurazione.

Un altro problema viene generato dagli script CGI. Se lo script cgi viene sempre eseguito dal medesimo utente (definito dalla direttiva User), è possibile che in un server multi-dominio, uno script lanciato dall’utente A cancelli tutti i file dell’utente B. In questo caso è necessario utilizzare suEXEC per differenziare gli script eseguiti in diversi domini. Con questo comando si aggancia uno script ad uno specifico utente e si impedisce di fatto l’esecuzione di uno script dannoso come quello indicato in precedenza, nel caso in cui vi sia una corretta divisione delle cartelle e dei permssi. Un altro strumento simile a suEXEC è CGIWrap

Gli script CGI possono essere limitati solo all’interno di determinate cartelle, oppure si può scegliere di renderli eseguibili ovunque sul sistema locale.

Non esistono solo script cgi in grado di gestire contenuti dinamici, ma anche script php, perl python etc..

Per tutti questi strumenti vale il discorso effettuato per CGI

In caso di attacco è sempre vitale controllare il file di Log in modo da riuscire a capire se si è trattato di un attacco e scoprire la vulnerabilità sfruttata, cercando di correggerla.

Post

Apache – Performance Tuning

In apache on novembre 27, 2009 di poyblog Messo il tag: ,

Apache si identifica come un webserver multi-uso, in grado di fornire flessibilità, portabilità e performance; con la versione 2.2 apache è in grado di fornire delle ottime performance in molte delle situazioni reali.

La maggior parte delle ottimizzazioni che rendono possibile un maggior throughput e scalabilità sono disponibili senza personalizzazioni, dato che si identificano come le scelte di default.

E’ necessario che un webmaster colga anche altre possibilità per apportare significativi miglioramenti eseguendo delle scelte sia durante la fase di installazione che in quella di configurazione.

Continua a leggere »

Post

Apache – Mappare URL sul Filesytem

In apache on novembre 25, 2009 di poyblog Messo il tag: , ,

In questo articolo cercherò di spiegare come apache gestisce le URL.  In particolare come elabora le richieste per  restituire le pagine corrispondenti presenti nel filesystem.

Continua a leggere »

Post

Apache – File di Log

In apache on novembre 20, 2009 di poyblog Messo il tag: ,

Per poter gestire un web-server, ed in modo più generale per manipolare qualsiasi servizio è necessario saper trarre dati rilevanti dai file di Log. Apache fornisce vari strumenti e possibilità di configurazione dei file di log.

Immediatamente una considerazione sulla sicurezza. E’ importante non concedere ad utenti alcuni la possibilità di scrivere all’interno della cartella che detiene i file di log del web-server, potrebbe arrivare ad ottenere i privilegi dell’utente che esegue il primo avvio del demone (solitamente root). Altra considerazione all’interno dei file di log potrebbero essere presenti anche informazioni confidenziali, è bene valutare anche l’accesso in lettura.
Continua a leggere »

Iscriviti

Get every new post delivered to your Inbox.