Und wieder ist ein Buch der Pragmatic Programmer auf meiner “gelesen” Liste: *Rails for Java Developers* von Stuart Halloway und Justin Gehtland:

Wie der Titel sagt, geht es darum, Java-Entwicklern Rails näher zu bringen. Allerdings braucht man nicht allzu viel Ahnung von Java Web-Technologien zu haben um das Buch zu mögen, mein bisschen HSR Internet-Technologienwissen hat bereits gereicht. Es werden also die verschiedenen Komponenten (ActiveRecord, ActionController und ActionView) und weitere interessante Aspekte (Testen, WebServices und Security) jeweils mit einer Java-Technologie verglichen. ActiveRecord beispielsweise mit Hibernate, welches wohl das bekannteste Java-Persistenz-Framework ist. Meistens wird ein kleines Beispiel in beiden Sprachen implementiert und dann verglichen und auf die Unterschiede hingewiesen. Es ist aber nicht so, dass Rails einfach in den Himmel gelobt wird, es werden durchaus auch kritische Blicke geworfen und auf Unzulänglichkeiten hingewiesen.
Was mir gut gefallen hat war, dass nicht nur Rails wie es besteht angeschaut wird, sondern auch mal ein Plug-in (acts_as_authenticated, Authorization) oder ein anderes Tool wie Cerberus als CruiseControl Gegenstück behandelt. Im Kapitel Security wird die OWASP Top Ten durchgegangen und es wird erläuert, was für Lösungen Rails hierfür anbietet.
Das ganze Buch ist also nicht eine Einführung in Rails von Null an, sondern mehr eine Betrachtung der Kompontenten und dann verglichen mit Java Gegenstücken. Für mich, der Rails nur oberflächlich kennt und auch nicht allzu viel Ahnung von all den Java Web-Dingen hat war es sehr interessant und eine gute Ergänzung zu Agile Web Development with Rails.
Heute Abend war der erste Vortrag des Software Engineering Network (SWEN), dem Kompetenznetzwerk zwischen Hochschulen und Wirtschaft für Software Engineering. Der Vortrag handelte vom neuen Buch über Security Patterns, an welchem unser Professor Peter Sommerlad mitgewirkt hat.
So, genug Werbung gemacht
Also, wie der Titel sagt geht es um Design-Patterns, die die Sicherheitsaspekte bei der Softwareentwicklung behandeln. Wie man erwartet, geht es bei vielen um Anwendungen im Web, es wurden Pattern für die Authentifizierung, Rechtevergabe- und Erzwingung als auch Pattern für die Architektur von Diensten, wie den Reverse Proxy, vorgestellt. In der für Prof. Sommerlad typischen Art wurden die Folien mit sehr viel Witz und vielen Beispielen untermalt, so dass die 90 Minuten sehr schnell vorüber waren. Die ganzen Folien gibts natürlich auch im Wiki.
Danach gings weiter zum sehr leckeren Apero, den ich so gut den SV gar nicht zugetraut hätte
. Die meisten Anwesenden kannte man schon (Dozenten, Assistenten und Studenten) und ich habe sogar jemanden kennengelernt, der Interesse an unserer Diplomarbeit, da sie selber auch Ruby und Rails (natürlich RadRails) einsetzen. Es hat sich also schon gelohnt!
Alle die leider nicht kommen konnten können ja Mitglied bei SWEN werden (ist aber keine Bedingung!) und das nächste Mal vorbeikommen, ich werde bestimmt dort sein.
Einen sehr interessanten Beitrag hat Thomas gestern Abend auf dem RTL-Teletext entdeckt:

Soso, man soll also das Booten ab USB-Sticks im BIOS ausschalten um die Sicherheit zu erhöhen. Tönt super einfach, bringt aber absolut nichts, wenn man nicht auch das BIOS selbst mit einem Passwort schützt, man hält den Eindringling höchstens eine halbe Minute länger auf. Und dann ist man sicher? Wohl noch lange nicht, denn wenn schon müsste auch das Booten ab CD-ROM und Diskette verboten werden. Aber mal ehrlich, sobald jemand physischen Zugriff auf den Rechner hat nützt eigentlich nur eines wirklich, und zwar das verschlüsseln der Harddisk. Und das wäre wohl in den meisten Fällen etwas viel verlangt vom Durchschnittlichen RTL-Teletext Leser.
Dieses mal geht es um Amazon, nachdem ich mich schon über die TLS-Verbindung zu Thinkgeek beschwert hatte. Vielleicht liegt es auch wieder mal an meinem Browser, das glaube ich jedoch nicht. Also, jedes Mal, wenn ich bei Amazon Deutschland einkaufe und über den Button “Zur Kasse gehen” auf die Anmeldeseite komme, werde ich zu einer unverschlüsselten Seite geleitet:

Tja, sobald ich dann aber einfach mal ohne Passwort anmelde, werde ich auf die “richtigere” Seite geleitet:

Ziemlich schräg, nicht?
wenn sie nicht Amerikaner sind und trotzdem ins Land möchten. Mark Shuttleworth beschreibt in seinem Blog wie man ihn bei der Einreise (mit dem eigenen Flugzeug!) behandelt hat. Echt krass. Ich möchte ja nicht wissen wie es dann “normalen” Leuten ergehen kann… besonders wenn man dann noch Linux-Fan ist. Oder habt ihr nicht gewusst, dass Linux eine “europäische Bedrohung der amerikanischen Computer” ist?
(Sorry, dass ich das nochmals ausgrabe, aber ist einfach zu witzig
)
Wie haben wir das in der Schule gelernt? 56Bit-DES-Verschlüsselung wurde schon vor einigen Jahren geknackt? Schade, dass man auch heute noch auf TLS-Verbindungen trifft, welche so schwach verschlüsselt sind. Und dann auch noch von Thinkgeek:

Tsts.. und da soll ich auch noch meine Kreditkartendaten angeben? Nein Danke! Zum Glück stand als alternative auch noch Paypal zur Verfügung, was mir doch einiges sympathischer war.
Und ja, ich überprüfe grundsätzlich immer die Zertifikate wenn es um etwas schützenswertes geht.
Update
Hab mal ein bisschen gesnifft:
Mit den Standardeinstellungen bietet mein Konqueror folgendes an:

Und das wird dann ausgewählt:

Sobald ich alle “schwachen” Verschlüsselungen bei mir deaktiviere:

kommt folgendes zum Zug:

Und wenn ich das auch noch verbiete:

erhalte ich nur noch einen Timeout
Gerade gestern habe ich im Linux-Magazin einen Artikel über Sendmail und TMDA gelesen, und mich gewundert weshalb ich davon noch nie was gehört hatte. Vielleicht habe ich in der Internet Sicherheit-Vorlesung auch nur etwas verpennt
Auf jeden Fall hatte ich gerade vor wenigen Minuten meinen ersten Kontakt mit dem TMDA, und fast hätte ich die Bestätigungs-Email einfach gelöscht, da sie auf den ersten Blick verdächtig nach Spam aussah. Nach einem Reply kam dann auch sofort die Bestätigung, dass meine E-Mail nun zugestellt werde. Glück gehabt.
Ich weiss allerdings nicht recht, was ich davon halten soll. Wenn ich mir vorstelle, dass ich jeden Empfänger so bestätigen müsste, nein danke! Andererseits ist es natürlich eine sehr effektive Methode gegen Spam, und hat daher sicher eine Berechtigung. Sehr anwenderfreundlich ist sie dennoch nicht.
Ich habe vor kurzem dieses Video über AppArmor (270MB) von der FOSDEM gesehen und war ziemlich beeindruckt.
Eine kurze Einführung um was es geht: AppArmor schützt das System und laufende Dienste, indem es Zugriffe auf Dateien und Systemressourcen überwacht und anhand von Profilen überprüft, ob der Dienst dazu berechtigt ist. So kann man zum Beispiel festlegen, dass Apache lesezugriff auf die HTML-Dokumente bekommt aber keine Möglichkeit hat, eine bash zu starten oder bestimmte Dateien zu überschreiben. Da sich AppArmor über die LSM-Schnittstelle an den Kernel anhängt, ist es nicht zu umgehen und sollte ziemlich sicher sein.
Wichtig ist nun natürlich, wie einfach das erstellen der Profile ist. AppArmor beinhaltet verschiedene Tools, welche einen Dienst überwachen und alle Zugriffe loggen und danach Eintrag für Eintrag mit dem Admin durchgehen und die Regeln dafür festlegen. Im oben genannten Video wird das mit Apache getan und es dauert nur einige Minuten.
Insgesamt sieht AppArmor sehr vielversprechend aus und könnte Linux zu noch mehr Sicherheit verhelfen. Sobald Ebuilds für Gentoo bereitstehen, werde ich das ganze wohl mal für meinen Server machen und natürlich darüber berichten.
Mehr Informationen zu AppArmor bei Novell und openSUSE.
Um mich während den Ferien etwas zu beschäftigen, habe ich mich eines Themas angenommen, das mich schon länger reizt, nämlich dem Bau eines vollkommen Lüfter- und Festplattenlosen PCs. Darauf wird dann IPCop installiert und soll als Firewall / Router dienen.
Die Auswahl der Komponenten war relativ schnell getroffen, und zwar:
Ausgelegt sah das ganze dann so aus:

Der Zusammenbau war soweit auch keine Sache und ca. eine Stunde später sah das ganze so aus:

Danach gings ans installieren von IPCop, was etwas aufwändiger ist, wenn man eine Flash-Karte einsetzt. Das Problem ist, dass man auf die Flashkarte nicht allzu oft schreiben sollte, da sie das sonst nicht allzu lange überlebt. Bei IPCop funktioniert das nun so, dass man zuerst eine Installation auf einem anderen Medium macht und dann das ganze mit einem Script in ein Image für die Flash-Karte umwandelt. Das ganze tönt komplizierter als es ist, die Dokumentation von IPCop ist ziemlich gut.
Über das ziemliche komfortable Web-GUI kann man dann alles mögliche einrichten, wie z.B. DHCP-Server, DNS Proxy-Server, IDS, NTP-Server, VPN, Web-Proxy und auch so Dinge wie Traffic Shaping.
Als nächstes muss ich nun nur noch die Verkabelung etwas ändern und einige Port-Forwardings für Webserver und ssh einrichten und das wars dann schon.
Insgesamt hat mich das Projekt ca. einen ganzen Tag Arbeit gekostet, was sich aber sicher gelohnt hat, da ich nun eine sehr schöne und sichere Lösung für unser Netzwerk habe.