Eine neue PHP-Anwendung für den Apache

Sie haben einen Webserver, der bereits mit AppArmor überwacht wird und möchten nun eine neue PHP-Applikation in die Überwachung integrieren. Oder Ihr Webserver soll nun erstmals mit AppArmor überwacht werden und Sie verwenden bereits eine PHP-Applikation, die von AppArmor kontrolliert werden soll. Dann haben Sie grundsätzlich drei Möglichkeiten:
  1. Sie verwenden genprof und erzeugen ein Profil für den Webserver und berücksichtigen bei der Erzeugung des Profils im Hat ^DEFAULT_URI auch die PHP-Applikation. Die PHP-Applikation darf dann auf alle Dateien so zugreifen, wie es auch der Webserver darf.
  2. Sie verwenden Genprof und erzeugen, sobald Genprof es Ihnen vorschlägt, ein Hat für Ihre PHP-Applikation. Dabei können Sie für jede URI einen eigenen Hat erzeugen oder diese in dem Default-hat ^DEFAULT_URI laufen lassen.
  3. Bevor Sie Genprof starten, tragen Sie in Ihrer Webserver-Konfiguration für das Verzeichnis, in dem die Applikation sich befindet, den Parameter AAHatName <profil> ein. Genprof wird dann vorschlagen, die Regeln für die Zugriffe durch die PHP-Applikation diesem Profil zuzuordnen (siehe 12.2.1).
Welche der drei verschiedenen Varianten Sie verwenden, bleibt Ihnen überlassen, wobei natürlich die letzten beiden Varianten die bessere Vorgehensweise darstellen. Welche der beiden letzten Varianten Sie wählen, hängt sicherlich von der Komplexität der PHP-Applikation und Ihrem persönlichen Geschmack ab. Bei komplexeren Applikationen würde ich immer die letzte Variante vorziehen, da ich dann sicher bin, dass jedes PHP-Skript, welches sich in dem Verzeichnis befindet, für dass der Parameter AAHatName gesetzt wurde, auch von AppArmor entsprechend überwacht wird.

Die mit den Parametern AAHatName und AADefaultHatName gewählten Hats haben Vorrang vor allen weiteren Hats (siehe 12.2.1.

Ralf Spenneberg 2007-11-13