Am Dienstag, 17. Juni 2003 21:38 schrieb Michael Hilscher:
On Tue, Jun 17, 2003 at 08:40:32PM +0200, Michael Meyer wrote:
remote exploit im daemon -> ptrace-bug-exploit -> root-Zugriff, paketfilter abschalten. Und nu? Keine Firewall mehr da. Sicherheitsgewinn durch Paketfilter? Null. Das ist der schlimmste Fall, dummerweise ist das auf einem übernommenem system eher die regel. Ich dachte es geht um einen Webserver. Auf diesem brauche ich keine dynamischen Module und auch das proc FS sollte nicht für jeden willi lesbar sein. In der Folge beisst sich der ptrace exploit die Zähne aus.
Muss ja nicht immer ptrace sein. Nur weil seit langem nichts gefunden wurde, muss der Kernel ja nicht bugfrei sein. Der ptrace-bug wurde spätestens mit dem Kernel 2.2. im Januar 1999 eingeführt, der Bugfix kam mit 2.4.10 am 24.9.2001. Bummelig fast drei Jahre. Ich würde mich nicht darauf verlassen, dass es da nicht noch andere Sachen gibt. Und der monolithische Kernel an sich ist auch nicht besonders wertvoll, solange /dev/kmem existiert.
Mit einem Paketfilter kann ich Portscans und Pings und vieles mehr verbieten. Ein elementarer Grundsatz bei Absicherung von Rechnern ist grundsätzlich: erlaube nur was sinnvoll ist und tatsächlich benötigt wird. Dies gilt für laufende Programme natürlich ebenso wie für ein- und evtl. ausgehende Pakete. Abgesehen von den ICMP's: fragmentation-needed und Parameter Problem brauche ich auf einem Webserver (in der Regel) jedoch keine weiteren ICMP's - noch nicht mal Pings - zu erlauben.
Das Problem ist aber, dass du zusätzliche Komponenten einsetzen musst, um etwas zu verbieten, was dir nicht schadet.
Tatsächlich ist es so, dass ein Portscan einem Angreifer nicht automatisch root Rechte verschafft. Aber es ist unstrittig, dass ein Portscan bei der Suche nach möglichen Angriffsflächen hilft. Warum sollte ich einem Angreifer es einfach machen, in Erfahrung zu bringen, welche Ports offen sind?
Warum wolltest du Ports offen haben, die keiner sehen soll?
Aber zur eigentlichen Frage ob auf einem Webserver ein Paketfilter aktiviert werden soll, ist ganz klar "ja" zu sagen und zwar auch dann, wenn bereits eine Firewall davor hängt.
Weil dreifach besser hält? Oder wegen des beruhigenden Gefühls in der Bauchgegend?
Oder willst Du den Entwicklern von iptables tatsächlich unterstellen, dass ihre Arbeit unnütz ist und eher neue Sicherheitslücken einbringt sowie lediglich für Masquerading und Routing zu gebrauchen ist??? Ich würde mir das nicht anmaßen.
Was hat denn iptables mit routing zu tun? Iptables implementiert einen Paketfilter. Mehr nicht. Es gibt genügend Szenarien, wo so ein Ding Sinn macht: Hauptsächlich da, wo Netze voneinander zu trennen sind. Das ist bei einem einfachen Webserver nicht der Fall, ergo ist ein Paketfilter dort zu nichts nütze. Martin -- when in danger or in doubt, run in circles, scream and shout! pgp-key: via wwwkeys.de.pgp.net, key id is 0x21eec9b0