Archive for the ‘Allgemein’ Category
Passwortmythen oder „Was Du schon immer über Passwörter wusstest, aber nie zu sagen wagtest“
Gastartikel von Oliver Sperke.
Ich bin 34 Jahre alt und seit 10 Jahren selbständiger Webentwickler. Mein Fokus liegt dabei auf der Erstellung, Beratung und Optimierung in den Bereichen High Performance, Usability und Sicherheit in den gängisten Internetsprachen: PHP, HTML, Javascript und CSS.
Was Du vor dem Lesen wissen solltest
Die Sicherheit eines Passwortes ergibt sich aus dem verwendetem Zeichensatz und der Länge des Passwortes. Besteht ein Passwort nur aus den Ziffern 0 bis 9, hat der Zeichensatz eine Länge von 10. Besteht ein Passwort aus maximal 8 Ziffern, ergibt sich eine Anzahl möglicher Passwörter von 10^8+10^7+10^6+10^5+10^4+10^3+10^2+10^1 oder ~ 111,11 Mio. Möglichkeiten. In den meisten Erklärungen steht übrigens nur 10^8, allerdings gilt das nur, wenn ein Angreifer die Länge des Passwortes kennt. Ansonsten muss er nämlich alle Möglichkeiten ausprobieren, d. h. 0, 1, 2…01, 02, usw bis 99999999. Werden zusätzlich Kleinbuchstaben (also 0-9, a-z, äöüß) verwendet, ergibt sich ein „Schlüsselraum“, d. h. die mögliche Anzahl Passwörter von 40^8+40^7+…+40^1, also 6.72 Billionen Möglichkeiten usw.
Mythos: Ein Passwort mit mindestens 8 Zeichen ist sicher
Diesen Satz lese ich seit 10 Jahren mindestens dreimal im Jahr, nur vor 10 Jahren arbeiteten die schnellsten Heimcomputer in etwa auf dem Niveau eines heutigen Smartphones. Innerhalb dieser 10 Jahre hat sich die Computerwelt rasend schnell verändert. Auch durch das „pöse Internetz“, in dem viele Menschen ihre Ideen und ihr Wissen verknüpfen können. Während damals die wenigen Hochleistungsrechner in den Geheimdienstzentralen und IBM Laboren standen, gibt es heute völlig andere Methoden, um ein hohes Maß an Computerleistung zu erreichen. Diese reichen von der Nutzung der kompletten Hardware inkl. Grafikkarte, über Botnetze bis hin zu mietbaren Cloudlösungen.
Moderne Systeme erreichen dadurch heute weit höhere Werte beim Erraten („Brute Force“) von Passwörtern als damals. Vergleichsweise neue Techniken wie „Rainbow Tables“, die es damals einfach noch nicht gab verschärfen die Situation. Der Schlüsselraum von 8 Zeichen mit einem Zeichensatz von 102 Zeichen kann auf einem handelsüblichem Supercomputer innerhalb weniger Stunden durchprobiert werden. Das ist kein Puffer, auf den man sich verlassen sollte. Im Jahr 2011 sollte man diesen Standard endlich auf 12 Zeichen anheben, zumindest bis zum Jahr 2020.
Mythos: Ein drei Monate altes Passwort ist unsicher
Urlaub
Damit ihr euch nicht wundert wenn in den nächsten 2 Wochen keine neuen Artikel erscheinen: Ich werde heute in den Urlaub nach Norwegen aufbrechen und 2 Wochen internet-abstinent leben.
Aber ihr habt während dieser Zeit mindestens 2 Aufgaben: Macht mit beim Gewinnspiel zum Geburtstag falls ihr noch nicht teilgenommen habt, und postet hier unter diesen Artikel alle interessanten Links innerhalb der nächsten 2 Wochen, die ich dann lesen kann bei meiner Rückkehr, also diesmal eine Art „Crowd-Lesepool“.
Und wenn ihr dann immer noch Langeweile habt schreibt ihr einen kleinen Gastartikel, den ich dann hier veröffentlichen werde, auch wenn es nur 10 Sätze sind, Gedanken, Neuigkeiten, Erklärungen, egal was. Das wäre doch mal was wenn wir hier ein dutzend Gastartikel zusammenbekommen würden! Einfach an schicken!
Bis die Tage!
Transparenz erhöhen bei einem Webprojekt
Ich habe eine interessante Anfrage erhalten, und ich bin mir nicht ganz sicher wie man das Problem am besten lösen kann. Vielleicht könnt ihr ja einige Tipps geben, was man da machen kann.
Die Situation ist folgende: Der Auftraggeber hat ein Webseitenprojekt in Auftrag gegeben bei einer Internetagentur, aus Mangel an Wissen über IT-Projekte wurde der Vertrag nicht besonders straff gestaltet, viele Dinge wurden nicht spezifiziert, der Hauptgegenstand war ein Click-Dummy und einige kleine Listen mit Dingen, die umgesetzt werden sollen. Es wurde ebenso kein Zeitplan/Meilensteine festgelegt, mündlich wurden Versprechungen wie „Ende April ist es fertig“ gemacht. Nun ist es Mitte Juni, die öffentlich sichtbare Webseite ist unter einer Testdomain ansehbar (ca. 15 Seiten mit 2-3 Formularen und etwas Javascript). Der HTML/CSS/Javascript-Code sieht soweit gut aus. Mehr kann man allerdings noch nicht sehen.
Zum Projekt gehört auch ein „eingeloggter Bereich“ sowie eine Anbindung an einen Zahlungsdienstleister und an ein Transportunternehmen, und die Internetagentur hält den Auftraggeber nun seit mehreren Wochen hin, dass der Rest der Webseite nun noch nicht fertig ist da die Schnittstellen noch nicht fertig sind. Da nichts im Vertrag festgelegt ist gibt es Aussagen der Internetagentur wie „Da hätten Sie sich drum kümmern müssen dass die Schnittstelle bei den Dienstleistern eingerichtet wird“, und es wird versucht, Geld nachzufordern. Die Spannung und der Ärger steigt also langsam an.
Und nun die Frage: Was kann der Auftraggeber machen, um die Webseite nun endlich fertig zu bekommen, bzw. erstmal herauszufinden, wie weit denn nun der Fortschritt ist? Hätte die Internetagentur auch zum eigenen Schutz auf mehr Details und einen strafferen Vertrag bestehen müssen? Kann man nachträglich noch einen verbindlichen Zeitplan festlegen? Kann der Auftraggeber nun irgendwie Transparenz erhalten und Zwischenergebnisse der Schnittstellen und des Admin-Bereichs fordern, oder hat er nur ein Recht auf das Endergebnis, das „irgendwann geliefert wird“? Was würdet ihr tun?
Zwei Jahre PHP Blogging: Ihr werdet beschenkt!
*tröööt* Zwei Jahre, zwei kurze Jahre, wird dieser Blog gefüllt mit PHP- und anderen Webtechnik-Artikeln, und auch einige Gastautoren haben bereits hier veröffentlicht (es könnten aber gern noch mehr werden!), und dieser Blog wäre nichts ohne euch Leser, die ihr durch Feedback und Ergänzungen zur Diskussion und Wissensbildung beitragt. Deshalb möchte ich mich bei euch bedanken und euch mit einigen Geschenken eindecken.
218 Artikel in 2 Jahren, 2337 Kommentare (bereits spambereinigt), kein schlechter Schnitt, und ich habe viel gelernt von euch, Danke!
21 Firmen stellen insgesamt 192 Geschenke zur Verfügung, und es sind alles großartige Sachen, der Gesamtwert liegt bei ca. 4800 Euro, und einige sind nicht käuflich! Schaut euch die folgende Liste genau an (ihr könnte da auch draufklicken um Details zu erfahren):
——————————————————————————————
1 * International PHP Conference im Herbst 2011 von S&S Media
1 * Dutch PHP Conference 2012 (ohne Tutorial Tag) in Amsterdam von ibuildings
3 * 100 Euro Gutscheine von cloudControl, dem deutschen PHP Platform-as-a-Service Anbieter
3 * Basic Hosting Paket von Orchestra.io, 1 Jahr lang die PHP-Cloud genießen
10 * 29 Dollar Gutschein für PHPFog, ebenfalls ein sehr guter PHP PaaS Anbieter
1 * Zend Studio 8.0 Lizenz von Zend
10 * schwarze YubiKeys von Yubico
5 * Personal Lizenzen einer der folgenden IDEs von JetBrains: PHPStorm, IntelliJ IDEA, RubyMine, PyCharm, ReSharper, WebStorm
5 * Jahresabonement des PHP-Magazin
1 * PHP Design Patterns von O’Reilly
1 * Canvas – kurz & gut von O’Reilly
1 * jQuery – kurz & gut, 2. Aufl. von O’Reilly
1 * Der pragmatische Programmierer von Hanser
1 * Softwarequalität in PHP Projekten von Hanser
1 * Zend Framework im Einsatz von Hanser
1 * PHP Zend Certified Engineer Übungsbuch vom mitp Verlag
1 * Der leidenschaftliche Programmierer von mitp
1 * Web-Sicherheit von mitp
1 * Power-Workshops PHP von Video2Brain
2 * Plug-in-Entwicklung mit jQuery von Entwickler-Press
2 * MongoDB – Sag ja zu NoSQL von Entwickler-Press
2 * Onlinerecht für Webmaster von Entwickler-Press
2 * Websites optimieren für Google&Co von Entwickler-Press
1 * Agile Entwicklungspraktiken mit Scrum von dpunkt
1 * Leitfaden Web-Usability von dpunkt
1 * Die Pomodoro-Technik in der Praxis von dpunkt
1 * Gelungenes Webdesign von dpunkt
1 * Agile Softwareentwicklung von dpunkt
1 * Einstieg in PHP 5.3 und MySQL 5.5 von Galileo Press
1 * Linux Hochverfügbarkeit von Galileo Press
1 * CSS in der Praxis von Galileo Press
2 * vServer L für 6 Monate kostenlos von 1blu
2 * eco Server für 6 Monate kostenlos von 1blu
3 * Zeitmanagement für Webentwickler von Terrashop
5 * 2 Planning Poker Sets von Holisticon
2 * 5 Planning Poker Sets von agile42
100 * vServer Beta-Accounts Gutscheine von EUserv
——————————————————————————————
Na, ist das eine Liste? Und das ist alles FÜR EUCH! Ich hatte mir erst überlegt noch eine extra kleine Webseite zu bauen für die Verlosung, aus Zeitmangel ist sie aber nicht fertig geworden.
Doch die Verlosung wäre nicht möglich gewesen ohne die zahlreichen Unterstützer, DENEN ICH ALLEN GANZ HERLICH DANKEN MÖCHTE!! Ich würde mich freuen wenn ihr die ein oder andere Webseite besuchen würdet und dort immer schön fleißig einkauft und Dienstleistungen nutzt, so viele Geschenke zu bekommen ist wirklich toll und sollte belohnt werden!
Ihr müßt 2 Dinge tun um bei der Verlosung mitzumachen: Besucht mindestens 3 Links aus der Liste oben, und danach hinterlasst ihr einem Kommentar hier im Blog, JEDER NUR EINMAL TEILNEHMEN, und dann werden all diese schönen Geschenke verlost. Ihr habt Zeit bis zum 04.07.2011, dann wird die riesige Lostrommel gerührt! Also, spread the word, twittert, bloggt, sagt es allen weiter, dieser Tag ist ein toller Tag! Ihr macht diesen Blog zu dem was er ist! Danke.
Was ist phar und wie nutze ich es?
Phar ist ein Applikations-Archiv-Format genauso wie Jar es für Java ist. Ein Phar-Archiv enthält Dateien und Ordnerstrukturen, und diese Dateien können dann genutzt werden ohne die Phar-Datei zu entpacken. Man kann so seine ganze Applikation oder auch Frameworks in Phar-Dateien packen und verteilen. Phar ist seit 5.2 als PECL Erweiterung verfügbar, seit 5.3 ist es fest eingebaut.
Die Tatsache dass es dann nur noch eine Datei ist hat mehrere Vorteile. Einerseits ist der Upload auf einen FTP schneller, aber auch beispielsweise der Download ist einfacher, anstatt einer zip/tar.gz Datei die danach noch entpackt werden muss lädt man einfach die Phar-Datei und kann loslegen. Viele kleine Dateien bedeuten auch viele Dateisystem-Zugriffe, und wie wir alle wissen ist die Festplatte langsam, Phar bringt also Performance. Wenn man bereits einen Byte-Code-Cache aktiviert hat ist der Performance-Vorteil nur noch gering, aber vorhanden.
Wenn ich beispielsweise in einer phar-Datei meine komplette Applikation habe, starte ich diese folgendermaßen:
php application.phar
Wenn ein Phar-File auf diese Weise gestartet wird, wird das sogenannte Stub-File aufgerufen, quasi der Einstiegspunkt. Das Stub-File ist eine normale PHP-Datei innerhalb des Phar-Archives.
Alternativ kann ich auch aus einem PHP-Script heraus ein Phar-Archiv inkludieren: