So kam es, dass Apache2-Conf-Dateien Umgebungsvariablen mit Passwörtern und anderen wertvollen Daten enthielten. Nachdem Apache2 gestartet war, habe ich meine Conf-Dateien gelöscht. Ich weiß, dass ich diese Dateien für den Neustart erneut erstellen muss.
Wie lange wird Apache2 seine Arbeit wie erwartet fortsetzen (meine Sites anzeigen)? Liest Apache2 Conf-Dateien, nachdem es gestartet wurde?
Ich frage, weil es so passiert ist, dass ich die Server nicht neu gestartet habe, aber sie zeigen die Apache Ubuntu-Standardseite
ps -aux | grep apache
www-data 27019 0.0 0.0 424372 12780 ? S 15:52 0:00 /usr/sbin/apache2 -k start
www-data 27963 0.0 0.0 424372 12800 ? S 16:46 0:00 /usr/sbin/apache2 -k start
www-data 27964 0.0 0.0 423968 12500 ? S 16:46 0:00 /usr/sbin/apache2 -k start
www-data 28159 0.0 0.0 423968 12424 ? S 16:59 0:00 /usr/sbin/apache2 -k start
www-data 28607 0.0 0.0 423968 11044 ? S 17:19 0:00 /usr/sbin/apache2 -k start
ubuntu 28688 0.0 0.0 12948 956 pts/0 R+ 17:23 0:00 grep --color=auto apache
root 28766 0.0 0.2 423888 34928 ? Ss 2018 06:14 /usr/sbin/apache2 -k start
UPD: Ich weiß, dass dies eine schlechte Methode zum Löschen von Konfigurationsdateien ist.
Antwort1
Wie @djsmiley2k gesagt hat, wird Apache auch ohne Konfigurationsdateien weiterlaufen, wenn die Konfigurationsdateien beim Start vorhanden waren. Und nein, das ist keine gute Lösung, wie er gesagt hat und Sie wissen das.
Als Antwort auf die Frage, ob Apache2arbeitenoder nicht... ich würde sagen "NEIN".
Die meisten Systeme starten Apache automatisch neu und/oder laden Apache-Konfigurationen aus verschiedenen Gründen neu. Beispielsweise wird Apache normalerweise neu gestartet, wenn seine Protokolldateien rotiert werden. Viele dieser automatisierten Aufgaben sind für den ordnungsgemäßen Betrieb eines Apache-basierten Webservers erforderlich. Sie müssten auch die Neuerstellung der Konfigurationsdateien automatisieren. Dies bedeutet, dass Sie die Passwörter an einem anderen Ort speichern müssen. An diesem Punkt ist das Löschen der Konfigurationsdateien sinnlos.
Darüber hinaus gibt es ungeplante Neustarts, beispielsweise wenn Apache2 abstürzt. So stabil Apache auch ist, ist es nicht kugelsicher. Die Standardvorgabe besteht darin, eine Methode zu haben, um den Apache-Prozess zu überwachen und ihn automatisch neu zu starten, wenn er hängt oder abstürzt. Viele moderne Systeme verwenden hierfür systemd. Sie können dem Neustartvorgang auch eine automatische Rekonstruktion der Konfigurationsdateien hinzufügen, aber dadurch wird der Zweck des Löschens der Konfigurationsdateien von vornherein verfehlt.
Die wirkliche Lösung besteht hier darin, Ihre sensiblen Daten zu sichern.Umgebungsvariablen sollten mit dem Tool festgelegt werden, das Sie zur Verwaltung des Apache-Prozesses verwenden. Systemd (zum Beispiel)bietet WerkzeugePasswörter fürlokale Authentifizierungsollte verschlüsselt und in Dateien gespeichert werden, die nur vom Benutzer gelesen/beschrieben werden können, der Apache ausführt (dh root
), und insbesondere nicht von dem Benutzer, unter dem es Dateien liest (dh www-data
).
Wenn Sie Passwörter für die Remote-Authentifizierung verwenden (z. B. Authentifizierung von Ihrem Webserver zu einem anderen Server oder Dienst, z. B. einer Datenbank), sollten Sie in Erwägung ziehen, diese durch vorab freigegebene öffentliche/private Schlüssel zu ersetzen, wie sie für die SSH-Authentifizierung verwendet werden, ganz zu schweigen von der Verschlüsselung zwischen Remote-Servern (ernsthaft, SSH-Tunnel, gute Sache) … wiederum in Dateien gespeichert, auf die nur der privilegierte Benutzer zugreifen kann, der Apache startet. Und ehrlich gesagt sollte Apache selbst nicht die Aufgabe der Authentifizierung gegenüber einem anderen Dienst übernehmen …
Antwort2
DudürfenLöschen Sie die Dateien, sobald Apache gestartet ist. Er wird weiter ausgeführt, bis er die Dateien erneut lesen muss (z. B. wenn Sie den Daemon neu gestartet haben).
Dies scheint einX->YProblem, und Sie haben Ihr Problem nicht wirklich dargelegt, sondern nur eine Frage zu einer Lösung gestellt. Es ist jedoch keine empfehlenswerte Lösung.
Antwort3
Ich bin zwar der Meinung, dass kritische Daten nicht direkt in den Apache-Konfigurationsdateien gespeichert werden sollten, aber hier ist eine andere Idee. Auf keinen Fall Passwörter jeglicher Art.
Sie können Ihre eigenen *.conf-Dateien im Ordner conf.d erstellen. Apache lädt sie trotzdem.
Migrieren Sie dann alle wertvollen Daten in eine neue .conf-Datei. Jetzt müssen Sie nur noch 1 Datei löschen und wiederherstellen.
Somit hätte Apache noch einige Konfigurationsdaten zur Verfügung und würde nicht als leere Apache-Installation starten. Offensichtlich ist der Ordner documentRoot der wichtigste.