Zapobiegaj uruchamianiu Apache po instalacji apt-get

15

Kiedy I apt-get install apache2serwer uruchamia się automatycznie po zakończeniu instalacji, a domyślna konfiguracja Apache udostępnia wszystko /var/www/po stronie klienta. Tak więc, jeśli przed instalacją Apache mam w swoim katalogu jakieś skrypty po stronie serwera lub inne tajne informacje, są one publicznie dostępne, dopóki nie zmienię konfiguracji Apache i zrestartuję Apache lub dopóki nie zatrzymam Apache.

mogę to zrobić

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

A potem jest tylko krótkie okno, w którym dostępne są tajne rzeczy, ale lepiej byłoby w ogóle nie uruchamiać Apache automatycznie i nigdy nie ujawniać /var/www/nawet przez chwilę.

Czy są jakieś opcje, które mogę przekazać apt-get installlub inne sposoby zapobiegania automatycznemu uruchamianiu Apache po zainstalowaniu?

David Winiecki
źródło
Nie wiem, jakie jest zachowanie podczas samodzielnej kompilacji Apache zamiast używania apt-get. Podejrzewam, że jeśli sam go skompilujesz, możesz znaleźć kod, który uruchamia Apache po instalacji i go wyłączyć. To może być przyzwoita odpowiedź, jeśli ktoś może opisać bardziej szczegółowo. Jednak idealna odpowiedź na zadane pytanie nadal byłaby przydatna apt-get.
David Winiecki
5
Dlaczego nie zaktualizować zapory sieciowej na chwilę podczas aktualizacji?
EEAA
Wydaje mi się, że moje pytanie jest jakby duplikatem tego pytania na askubuntu.com: askubuntu.com/questions/74061/...
David Winiecki
1
Jeszcze jedna opcja: użyj dystrybucji Red Hat / CentOS, które nie cierpią z powodu tego ani żadnego innego szaleństwa Debiana.
Michael Hampton

Odpowiedzi:

13

Spróbuj tego:

  1. Utwórz plik /usr/sbin/policy-rc.do następującej treści:
#!/bin/sh  
exit 101
  1. Spraw, by był wykonywalny:
chmod +x /usr/sbin/policy-rc.d

Następnie wszystkie pakiety zostaną zainstalowane, ale usługi nie zostaną uruchomione.

Po zakończeniu możesz usunąć plik:

rm -f /usr/sbin/policy-rc.d
b13n1u
źródło
Próbuję tego Więcej informacji tutaj: jpetazzo.github.io/2013/10/06/… (zamierzam jednak użyć #!.)
David Winiecki
10

Wiele opcji:

  1. Przenieś zamkniętą zawartość źródłową z /var/www
  2. Zmień uprawnienia do tej zawartości, tak aby użytkownik Apache nie mógł jej odczytać
  3. Iptables do zatrzymania ruchu na porcie 80/443
  4. Przekaż zmienną środowiskową poziomu uruchamiania do apt-get:
sudo RUNLEVEL=1 apt-get install apache2
dmourati
źródło
Czy instalacja apache2 nie pozostawiłaby „aktualnych” plików konfiguracyjnych na miejscu? Na przykład szablon pozostawiony w /etc/apache2/httpd.conf nie zostałby nadpisany, prawda?
Hyppy,
Myślę, że zmiana konfiguracji Apache (po uczynieniu / var / www niedostępnym przy użyciu jednej z metod w tych odpowiedziach) jest sugerowana.
David Winiecki
Mam na myśli, że nie sądzę, aby którakolwiek z tych 4 metod zmodyfikowała konfigurację Apache.
David Winiecki
1
Myślę, że zamierzam użyć, RUNLEVEL=1ponieważ wydaje się to najprostszą opcją i działało w teście, ale iptables lub inna zapora ogniowa wydaje się być właściwą drogą.
David Winiecki