210 likes | 347 Views
Willkommen. Security in (und rund um) TYPO3 Christian Kurta http://www.typoheads.com. Agenda. Security “Rund um TYPO3” LAMP / WAMP Ist TYPO3 eigentlich “secure”? Securing TYPO3 Make-me-weak! Stresstesting. Ist Security messbar?. Whitebox-Test Redbox-Test
E N D
Willkommen Security in (und rund um) TYPO3 • Christian Kurta http://www.typoheads.com
Agenda • Security “Rund um TYPO3” • LAMP / WAMP • Ist TYPO3 eigentlich “secure”? • Securing TYPO3 • Make-me-weak! • Stresstesting
Ist Security messbar? • Whitebox-Test • Redbox-Test • Code Review – Speziell bei Extensions • Performance / Stresstest
Security Rund um TYPO3 • Linux / Unix / Windows / OS X / ? • Apache • PHP • MySQL
Linux / Unix / Windows • Nur absolut notwendige Programme installieren • (< TYPO3 3.6.0: cp, mv) • Firewall (!!!) • tuga-assholes • Kernel Sicherheit / Microsoft BSA • Windows Updates
Linux • Vorsicht bei Dateiberechtigungen • Nicht installieren: • Kernel-source, gcc, make… • Wget, links, lynx, w3m … • Nc (Netcat), Etherreal … • UserMode Linux • Tripwire, Chkrootkit • Logfiles dezentral speichern
Apache • Nur absolut notwendige Module kompilieren • SSL fürs Backend verwenden! • Vorsicht bei: • Directory Indexes • Includes
Die wichtigsten PHP.ini Variablen (1/2) Safe_mode = On Safe_mode_execdir = /meineexec/ >= TYPO3 3.6.0 Open_basedir = /www alle TYPO3 Versionen Register_globals = Off
Die wichtigsten PHP.ini Variablen (2/2) • Log_errors = On • Display_errors = Off
MySQL-Security • Root-Passwort vergeben! • Port 3306 bei der Firewall blockieren • Dem TYPO3 Web keine Create, Drop, Grant usw Rechte geben. • Dem TYPO3 Web nur den lokalen Hostname erlauben (localhost, www1 – nicht %) • phpMyAdmin mit .htaccess sichern • (auch das von TYPO3)
MySQL-Performance (my.cnf) • Persist Connections = Off • Max Users Limit auf Limit von Apache setzen! • Weitere Vorschläge?
Ist TYPO3 Secure? • Security Audit 2002 von Martin Eiszner • Backend-Passwörter: MD5-Hash+unique String – hard to guess • Backend-Sessions: 32bit MD5 Cookie -120min gültig • Frontend-Passwörter: Plaintext • “https enforcer” Extension
TYPO3 noch sicherer machen (1/2) • /typo3-sourcecode mit .htaccess schützen • IPmaskList • lockToDomain bei BE-users/BE-groups • https fürs Backend – lockSSL = 1 • Evtl typo3-Verzeichnis umbenennen • Keine SQL-Dumps speichern • Evtl localconf.php ausserhalb von webroot
TYPO3 noch sicherer machen (2/2) • /typo3/dev Ordner löschen • Install-Tool mit die() Funktion versehen – oder löschen. • Kein HTML-Content-Element für BE-User – kein Button “HTML-Anzeigen” - XSS • Keine Installation von “Quickstart Package” • Warning_mode • Warning_Email_Addr
Make me weak! – Mach mich schwach! • Praxisbeispiel
Stresstest • Microsoft Application Test Center (im VisualStudio Paket enthalten -> Praxisbericht • PureLoad • Bonny • top
Wie kann ich prüfen, ob ich nicht allein bin? • w – Wer ist noch da? • lsof –pi -> Listet alle offenen Files & wer sie offen hat. • ps auxw -> Prozesse überwachen • Verdächtige Dateien im /tmp verz. • Im httpd-log nach 100% suchen • Chkrootkit • tripwire
Links & Literatur • Inside Typo3 – Abschnitt: Security • www.k-otik.com • www.securityfocus.org • www.kernel.org
Fragen / Antworten • Vielen Dank für Ihre Aufmerksamkeit.