17. April 2012 Test-Driven-Development und Anti-Abuse
Es sind schon wieder drei Monate vergangen, seitdem ich meine Website geupdatet habe und noch immer steht der Server aufrecht. Aber nicht nur mein Webauftritt zeigt sich stabil, auch die LOG-Einträge zeigen, dass mein System immer beliebter wird.
Welche Gegenmaßnahmen sind hier zu ergreifen? Na ist doch klar, ich nehme die erst-beste Intrusion-Detection/Prevention-Lösung, die mir über den Weg läuft, und verlasse mich darauf, dass schon alles gut gehen wird.
Was für ein Unfug! Das mache ich natürlich nicht, daraus würde ich nichts lernen, also erweitere ich erstmal mein CMS so, dass ich einen Angriff auf mein CMS spüren kann, also ein CMS-eigenes IDS. Da ich die Objektdatenbank db4o einsetze, brauche ich mir keine Gedanken zu SQL-Injection machen. Was aber sehr gut die erste Welle abbremmst: alle IPs, von denen gescannt wird, zusammenpacken und verbrennen ... ehm, ich meine ihnen einfach keinen Response zurückliefern.
Solch eine Anpassung eines bestehenden Systems ist riskant, denn es greift tief in den Workflow ein, und daher ist es extrem wichtig ein automatisiert testbares System zu haben, es müssen also Unit-Tests/Whitebox-Tests geschrieben und vorhanden sein. Na ein Glück, dass ich solch ein System habe und brav Tests schreibe.
Als Framework kommen mir momentan Test-NextGen, oder auch TestNG und Mockito zum Einsatz.
Und da ich schon wieder schreibe, wie ein Verrückter, belasse ich es mal dabei bis zum nächsten Update ;)