Ist es ratsam, Apache in einem Chroot-Jail auszuführen?

Ist es ratsam, Apache in einem Chroot-Jail auszuführen?

Ein mir bekannter Systemadministrator hat mir geraten, Apache zur Erhöhung der Sicherheit in einem Chroot-Jail auszuführen.

Ich habe folgende Fragen:

  1. Ist dies ratsam (d. h. gibt es irgendwelche Fallstricke, die ich beachten muss)?
  2. Hat das Ausführen von Apache in einem Chroot-Jail Auswirkungen auf dessen Fähigkeitsprobleme wie Leistung und Skalierbarkeit?

Er riet mir außerdem, meine Datenbanken (mySQL und PostgreSQL) in separaten Chroot-Jails auszuführen.

Wird dies in Produktionssystemen häufig gemacht?

[Bearbeiten]

Ich habe vergessen zu sagen, dass der Server auf Ubuntu 8.04 LTS läuft

Antwort1

Chrooting ist eine gute Sicherheitsmaßnahme. Es begrenzt die Möglichkeiten einer Gefährdung des Systems im Falle eines erfolgreichen Exploits. Allerdings gibt es in manchen Fällen auch Möglichkeiten, einem Chroot zu entgehen. Es ist also keine definitive Methode zum Schutz des Systems.

Mir sind keine Nachteile hinsichtlich Leistung und Skalierbarkeit bekannt. Der Datenbankzugriff erfolgt im Allgemeinen über einen Link zum Socket innerhalb des Chroots. Auf diese Weise müssen Sie für die Datenbankkonnektivität keinen Netzwerkport öffnen.

BEARBEITEN: Unten sehen Sie ein Beispiel für den MySQL-Zugriff, entnommen aus einem OpenBSD rc.local (OpenBSD chrooted httpd).

if [ X"${mysql_server_flags-NO}" != X"NO" -a -x /usr/local/bin/mysqld_safe ]; then
        rm -R /var/www/var/run/mysql
        mkdir -p /var/www/var/run/mysql
        chown _mysql:_mysql   /var/www/var/run/mysql
        echo -n 'MySQL server: '; /usr/local/bin/mysqld_safe --user=_mysql ${mysql_server_flags} &
        sleep 10
        ln -f /var/run/mysql/mysql.sock /var/www/var/run/mysql/mysql.sock
fi

Hoffe das hilft.

Antwort2

Ich habe zwei Programme, eines davon ist Apache httpd, die über einen Unix-Domain-Socket miteinander kommunizieren. Ich habe sie so umgestellt, dass sie unter Chroot laufen, und dann kam es zu einem Leistungsverlust von 10 %. Ich glaube, es hängt von den laufenden Anwendungen ab. Ich habe bisher von keinem Leistungsverlust für Apache unter Chroot gehört, also sieht es so aus, als ob meine zweite App unter Chroot an Leistung einbüßt.

verwandte Informationen