Impedire l'avvio di Apache dopo l'installazione di apt-get


15

Quando I apt-get install apache2il server si avvia automaticamente al termine dell'installazione e la configurazione predefinita di Apache rende tutto /var/www/accessibile dal lato client. Pertanto, se ho script lato server chiuso o altre informazioni segrete in quella directory prima di installare Apache, è accessibile pubblicamente fino a quando non modifico la configurazione di Apache e riavvio Apache o fino a quando non interrompo Apache.

posso farlo

sudo apt-get install -y apache2
sudo service apache2 stop
# Finish setting up...

E poi c'è solo una breve finestra in cui le cose segrete sono accessibili, ma sarebbe preferibile impedire ad Apache di avviarsi automaticamente e non esporre mai /var/www/nemmeno per un momento.

Esistono opzioni a cui posso passare apt-get installo altri modi per impedire l'avvio automatico di Apache dopo l'installazione?


Non so quale sia il comportamento quando compili Apache tu stesso invece di usarlo apt-get. Suppongo che se lo compili tu stesso puoi trovare il codice che avvia Apache dopo l'installazione e disabilitarlo. Potrebbe essere una risposta decente se qualcuno può descriverlo in modo più dettagliato. Tuttavia, la risposta ideale alla domanda, come affermato, sarebbe comunque utile apt-get.
David Winiecki,

5
Perché non limitarti a proteggere il server dal firewall per un minuto mentre esegui l'aggiornamento?
SEE

Immagino che la mia domanda sia una specie di duplicato di questa su askubuntu.com: askubuntu.com/questions/74061/…
David Winiecki,

1
Ancora un'altra opzione: usare le distribuzioni Red Hat / CentOS, che non soffrono di questa o nessuna delle altre follie di Debian.
Michael Hampton

Risposte:


13

Prova questo:

  1. Crea un file /usr/sbin/policy-rc.dcon il seguente contenuto:
#!/bin/sh  
exit 101
  1. Renderlo eseguibile:
chmod +x /usr/sbin/policy-rc.d

Successivamente, tutti i pacchetti verranno installati ma i servizi non verranno avviati.

Al termine, puoi rimuovere il file:

rm -f /usr/sbin/policy-rc.d

Ci sto provando. Maggiori informazioni qui: jpetazzo.github.io/2013/10/06/… (userò #!comunque.)
David Winiecki

10

Molte opzioni:

  1. Sposta il contenuto di origine chiusa da /var/www
  2. Modifica le autorizzazioni per quel contenuto in modo tale che l'utente apache non possa leggerlo
  3. Iptables per bloccare il traffico sulla porta 80/443
  4. Passare una variabile di ambiente runlevel a apt-get:
sudo RUNLEVEL=1 apt-get install apache2

L'installazione di apache2 non lascerebbe in posizione i file di configurazione "correnti"? Ad esempio, un modello lasciato in /etc/apache2/httpd.conf non verrebbe sovrascritto, vero?
Hyppy,

Penso che sia implicito cambiare la configurazione di Apache (dopo aver reso inaccessibile / var / www usando uno dei metodi in queste risposte).
David Winiecki,

Voglio dire, non credo che nessuno di questi 4 metodi modificherà la configurazione di Apache.
David Winiecki,

1
Penso che userò RUNLEVEL=1poiché sembra l'opzione più semplice e ha funzionato in un test, ma iptables o qualche altro firewall sembra nel modo giusto.
David Winiecki,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.