GNU/Linux >> Linux Esercitazione >  >> Linux

Ho disabilitato il file di configurazione del sito Apache 000-default.conf, ma sembra ancora attivo. Come mai?

Proprio come una questione di spiegazione per i futuri utenti.

Il tuo file 000-default.conf è un sito catch-all e dovrebbe essere lasciato in pace. Fa bene alla sicurezza. Può essere frustrante quando una configurazione del sito non funziona e viene servito il sito predefinito. Ho capito. Comunque, lascia stare. Molte persone non sono a conoscenza del motivo per cui esiste il sito predefinito. Ecco una breve spiegazione.

Quando Apache riceve una richiesta, prova ad abbinarla a una configurazione di cui è a conoscenza. Quindi qualsiasi richiesta per esempio.com cercherà un esempio.com.conf con una configurazione corretta. Se non c'è corrispondenza, viene utilizzato il sito 000-default.conf. Se viene rilevata una richiesta per bogussite.com che non esiste sul server, viene servito il file 000-default.conf. Ciò è particolarmente utile per le richieste di soli indirizzi IP. E li odiamo tutti!! Tuttavia, se c'è un errore in example.com.conf è ancora possibile che venga servito il sito 000-default.conf rendendo il motivo esatto per cui e come la configurazione non riesce un po' confusa e molto frustrante.

Ho fornito alcune configurazioni di esempio da un server live qui:Virtualhost config:routing and wildcard usage

La spinta arriva al punto, questi dovrebbero sempre funzionare. Puoi tagliarli e incollarli esattamente, quindi apportare le modifiche necessarie o modificare i file esistenti. La tua opzione. È facile strabicarsi su questo, quindi fai attenzione. L'abbiamo fatto tutti così non sarai solo.

@HighlyIrregular fa questo punto nei suoi commenti che dovrebbero vivere.

Puoi sempre controllare la configurazione in una sessione di shell usando...

$ apachectl configtest

... che dovrebbe aiutare a risolvere i problemi.

Dovrai creare i tuoi siti nuovi/aggiuntivi nel tuo /etc/apache2/site-available/ directory utilizzando un formato di file simile a example.com.conf . Dovrai anche assicurarti che /etc/apache2/apache2.conf ha Include sites-enabled/ o qualcosa di simile come una delle ultime righe.

Quando viene apportata una modifica a qualsiasi file di configurazione, Apache deve essere riavviato. Apache memorizza nella cache le configurazioni in memoria e le modifiche non verranno visualizzate fino al riavvio. In rare occasioni, un riavvio non funziona come previsto. In questo caso, per escluderlo come problema, dovrai riavviare il tuo server. È molto probabile che le configurazioni valide non vengano visualizzate al riavvio. Non so perché. Tuttavia, con un riavvio, Apache è costretto a memorizzare nuovamente nella cache i file di configurazione. È come prendere un martello più grande. Vale la pena provare a volte.


Sono d'accordo con l'utente 'closetnoc' che ha risposto a [2015-ago-2 00:24:36Z] in risposta al post originale che ha scritto "The 000-default.conf site è un catch-all per qualsiasi richiesta per la quale il server non ha un file di configurazione".

E penso che possiamo utilizzare questo "sito universale" come ultima risorsa per salvaguardare e migliorare la sicurezza generale.

La cosa che ho provato a fare è ancora consentire al sito '000-default.conf ' da attivare, ma rendi la sua configurazione un po' diversa rispetto a eliminare costantemente TUTTE le richieste SENZA inviare risposta e quindi CHIUDERE immediatamente LA CONNESSIONE per tutti gli accessi proibiti, in modo che nulla venga risposto/rivelato al richiedente che tenta.

Ecco il mio '000-default.conf ' file, per tuo riferimento:

<VirtualHost *:80>
    # ServerName whatsoever
    ServerAdmin [email protected]
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/default_error.log
    CustomLog ${APACHE_LOG_DIR}/default_access.log combined

    <Location />
        <RequireAny>
            # Example for 'Block all':
            # Require ip 0.0.0.0/32
            Require all denied

            # Example for 'White list':
            # Require ip 172.217.24.37/32
        </RequireAny>
    </Location>

    SecRuleEngine On
    SecRule RESPONSE_STATUS "403" "phase:4,id:1,drop"
</VirtualHost>

Ricordati di installare il file 'ModSecurity ' in modo che le direttive 'SecRuleEngine ' e 'SecRule ' può essere accettato. Se hai bisogno di ulteriore assistenza e riferimento sull'argomento 'ModSecurity ', suggerisci di cercare in Internet.

Spero che quanto sopra ti sia d'aiuto!


Linux
  1. Trovare e rimuovere file di grandi dimensioni che sono aperti ma sono stati eliminati?

  2. Perché dobbiamo passare il nome del file due volte nelle funzioni Exec?

  3. Modo per recuperare un file che ho eliminato ma è ancora aperto da qualche parte?

  4. Il mio sito ASP.NET sembra utilizzare il file Web.config errato

  5. I comandi LVM falliscono con "Impossibile caricare il file di configurazione /etc/lvm/lvm.conf"

Utilizzo del file di configurazione SSH

Ho aggiunto un utente a un gruppo, ma le autorizzazioni di gruppo sui file non hanno ancora alcun effetto?

Come reindirizzare l'output di un programma e continuare a farlo andare a Stdout?

Il file httpd.conf perso si trova in apache

Come recuperare l'archiviazione di file eliminati ma ancora utilizzati su Linux?

Centos 7 - aggiunta di un utente al gruppo sudoers - non è ancora nel file sudoers - perché?