Verhindern Sie, dass Apache nach der Installation von apt-get gestartet wird

15

Wenn ich apt-get install apache2den Server nach Abschluss der Installation automatisch starte und die standardmäßige Apache-Konfiguration alles /var/www/für den Client zugänglich macht . Wenn sich in diesem Verzeichnis vor der Installation von Apache serverseitige Skripts oder andere geheime Informationen befinden, kann auf diese öffentlich zugegriffen werden, bis ich die Apache-Konfiguration ändere und Apache neu starte oder Apache stoppe.

Ich kann dies tun

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

Und dann gibt es nur ein kurzes Fenster, in dem auf die geheimen Dinge zugegriffen werden kann, aber es wäre besser, Apache daran zu hindern, überhaupt automatisch zu starten und nicht /var/www/einmal für einen Moment zu belichten .

Gibt es irgendwelche Optionen, an die ich mich wenden kann, apt-get installoder andere Möglichkeiten, um zu verhindern, dass Apache nach der Installation automatisch gestartet wird?

David Winiecki
quelle
Ich weiß nicht, wie es sich verhält, wenn Sie Apache selbst kompilieren, anstatt es zu verwenden apt-get. Ich nehme an, wenn Sie es selbst kompilieren, können Sie den Code finden, der Apache nach der Installation startet und deaktivieren. Das könnte eine anständige Antwort sein, wenn jemand genauer beschreiben kann. Jedoch würde die ideale Antwort auf die Frage, wie angegeben, immer noch verwendet apt-get.
David Winiecki
5
Warum nicht einfach eine Minute lang eine Firewall von Ihrem Server entfernen, während Sie das Upgrade durchführen?
EEAA,
Ich denke, meine Frage ist eine Art Duplikat dieser Frage auf askubuntu.com: askubuntu.com/questions/74061/…
David Winiecki
1
Noch eine andere Option: Verwenden Sie Red Hat / CentOS-Distributionen, die nicht unter diesem oder einem anderen Wahnsinn von Debian leiden.
Michael Hampton

Antworten:

13

Versuche dies:

  1. Erstellen Sie eine Datei /usr/sbin/policy-rc.dmit folgendem Inhalt:
#!/bin/sh  
exit 101
  1. Mach es ausführbar:
chmod +x /usr/sbin/policy-rc.d

Danach werden alle Pakete installiert, aber die Dienste werden nicht gestartet.

Sobald Sie fertig sind, können Sie die Datei entfernen:

rm -f /usr/sbin/policy-rc.d
b13n1u
quelle
Ich versuche das. Weitere Informationen hier: jpetazzo.github.io/2013/10/06/… (Ich werde aber verwenden #!.)
David Winiecki
10

Viele Möglichkeiten:

  1. Verschieben Sie den geschlossenen Quellinhalt aus /var/www
  2. Ändern Sie die Berechtigungen für diesen Inhalt so, dass der Apache-Benutzer ihn nicht lesen kann
  3. Iptables zum Stoppen des Datenverkehrs von Port 80/443
  4. Übergeben Sie eine Runlevel-Umgebungsvariable an apt-get:
sudo RUNLEVEL=1 apt-get install apache2
dmourati
quelle
Würde die Installation von Apache2 nicht die "aktuellen" Konfigurationsdateien beibehalten? Beispielsweise würde eine in /etc/apache2/httpd.conf hinterlassene Vorlage nicht überschrieben, oder?
Hyppy
Ich denke, dass das Ändern der Apache-Konfiguration (nachdem / var / www mit einer der Methoden in diesen Antworten unzugänglich gemacht wurde) impliziert ist.
David Winiecki
Ich meine, ich glaube nicht, dass eine dieser 4 Methoden die Apache-Konfiguration verändert.
David Winiecki
1
Ich denke, ich werde es verwenden, RUNLEVEL=1da es die einfachste Option zu sein scheint und es in einem Test funktioniert hat, aber iptables oder eine andere Firewall fühlen sich nach dem richtigen Weg an.
David Winiecki