/usr/portage

Security "to go"? 5

I’m a huge fan of PHP-IDS. Mario Heiderich and Christian Matthies did an incredible job polishing this tool, adding new features and trying to catch every esoteric attack signature. However I have the feeling there is some confusion (german) about what intrusion detection is for. On a server, intrusion detection is used to diagnose a break in. First of all you do everything not to let your server go down. You have a firewall, you try not to expose services to the outside, you do SSH with port knocking, you put a risky service into jail or chroots, you use the Suhosin patchset and so on. There are various strategies how to harden a server. The hardening is the barrier against break-in attempts.
If the hell freezes, the intrusion detection mechanism comes into play to make sure the attempt is not overseen and the machine does not become yet another zombie in a bot net. PHP-IDS is an intrusion detection tool on the application level. Application firewalls know about a certain protocol and its structure (e.g. HTTP) and inspect the protocol to detect attack patterns. Some of them are even capable of learning from usual request signatures and enforcing rules based on the learned data. There are various commercial products to achieve application firewalling. PHP-IDS does the same for free and sits directly on the webserver in the scope of the application. For personal usage or projects with a lower budgets who can’t effort expensive products, it might be a good supplement. Beside being a supplement, application firewalls are a valid use when security becomes an urgent problem: a lot of heavily flawed software is designed (often it is not even designed) and developed without a developer even heard about security: “Yes you can inject HTML, that’s a feature!”, “‘ OR true/* lists you every item, isn’t that cool?”. If such projects become popular, application firewalls might be an option to hotfix the disaster. But nevertheless the application needs to be fixed.
The very immanent issue with application firewalls is that there is no other place to know exactly what’s proper incoming data for the application – except in the application itself. That’s why application firewalls can never be perfect. IDS is needed for the 2% the developer forgot. So it is not like coffee to go. It is like having the coffee and adding milk or sugar. Having milk without coffee seems pointless to me anyway.

Filed on 20-05-2008, 21:09 under , , , & five comments & one trackback

Trackbacks

Trackback specific URI for this entry

  1. Trackback from WEBLOG (Flix bloggt)
    posted on May 23rd 2008, 09:56:07 pm Confusion? - Dass ich nicht lache! ;-)

    Da schreibt man einmal etwas locker und flapsig über eine tolle Sache und schon wird der Beitrag als "confusion" auf einem Blog eines Entwicklers zerrissen. Selbstverständlich ist mir klar, dass PHP-IDS ein Intrusion Detection System ist, also Angriffe…

Comments

  1. www.ilovephp.de opines:
    published on May 23rd 2008, 07:45:06 pm *

    Was hier geschrieben ist, ist absolut nichts neues für mich. Wer meine flapsige Bezeichnung “Instant Security zum Mitnehmen” als "Confusion" abstempelt, der hat den ganzen Hintergrund des Blogs ilovephp.de nicht verstanden. Dort wird nicht die Sicherheitsschulung für Software-Entwickler angeboten, sondern lediglich in lockerer Art und Weise darüber berichtet, was der Autor in seinem täglichen Leben im Netz so entdeckt und ausprobiert hat. Dass PHP-IDS nicht das Allheilmittel bei Sicherheitsfragen ist, weiß jeder, der sich ein wenig mit Webentwicklung (und erst recht ein Informatik-Diplomand) beschäftigt. Hätte der Autor dieses Artikels ein wenig näher hingeschaut und vll. den ilovephp.de-Blogger einmal über die Kommentarfunkion kontaktiert, hätte der ihm sagen können, dass sein Server durch die beschriebenen Schutzmechanismen (u.A. Firewall und Suhosin-Patch/-Extension) geschützt ist und er sich mit Sicherheit NICHT allein auf PHP-IDS verlässt. Ich verbitte mir also die Bezeichnung meines Beitrags als Confusion, da es keinerlei Verwirrung gibt.

    Reply

  2. Lars Strojny opines:
    published on May 24th 2008, 11:19:49 pm *

    Nun, "zerissen" nicht. Es ging mir nur um die Klarstellung. In der ganzen Zeit, in der es PHP-IDS gibt, gab es immer mal wieder Verwirrung über den Einsatzzweck. Und da ist es uns eben ganz wichtig, dass der nicht ist, "schalte das Ding an und alles wird gut". Wenn dein Eintrag so nicht zu verstehen war, hat er wenigstens dazu geführt, dass es mal geklärt wurde.

    Reply

  3. Horst returns:
    published on May 24th 2008, 11:54:05 pm *

    And what’s your job at PHP-IDS?

    Reply

  4. Lars Strojny responses:
    published on May 25th 2008, 06:08:03 pm *

    Hello anonymous Horst,
    ýou know, it’s just lurking. I look so good that I have been officially nominated as the mascot.
    Seriously: I didn’t credited myself since my active (code) contribution time is somewhat over currently.

    Reply

Add a Comment & let me know what you think

Submitted comments will be subject to moderation before being displayed.