Schritt 1 (Stand 13.03.2008):
Denkt Euch ein sicheres Admin-Kennwort aus und benutzt sinnvoller Weise nicht den Benutzernamen admin, administrator oder den Benutzernamen aus diesem bzw. anderen Foren. Ein einigermaßen sicheres Kennwort enthält Groß- und Kleinbuchstaben, Zahlen und eventuell sogar Sonderzeichen. Es sollte eine Länge von mindestens 8 Zeichen haben.
http://aktuell.de.selfhtml.org/artikel/gedanken/passwort/index.htm
Falls Ihr keine Idee für ein sicheres Kennwort haben solltet, so lasst Euch eines auf der nachfolgenden Website vorschlagen. Leider werden hierbei keine Sonderzeichen verwendet, weswegen die Kennwörter bei den beiden nachfolgenden Kennwortprüfungen nicht immer gut abschneiden!
https://www.passpub.com/mnemonic.php
Wer einer Website zur Erstellung nicht traut, kann auch ein entsprechendes Programm herunterladen. Das nachfolgend verlinkte Windows-Tool hört sich beispielsweise ganz brauchbar an:
http://www.gaijin.at/dlpg.php
Eine Prüfung Eures Kennworts bietet beispielsweise das Anmeldeformular eines Google-Kontos oder Microsofts Password checker. Gebt einfach Euer Kennwort ein und nehmt Euch die Angabe zur Passwortstärke zu Herzen, sofern diese nicht 'Strong' bzw. 'Best' ist. 100 Prozent sicher ist Euer Kennwort aber selbst dann nicht, ein Knacken dauert halt nur extrem lang.
https://www.google.com/accounts/NewAccount?service=analytics&hl=de
http://www.microsoft.com/protect/yourself/password/checker.mspx
Einen Hinweis darauf wie diese Prüfungen funktionieren, bietet eine Aufgabenstellung der Microsoft 'Winter Scripting Games 2008'.
http://www.microsoft.com/technet/scriptcenter/funzone/games/games08/deu/aevent5.mspx
Hinweis: Ich habe die Angaben mal als Kommentar zu diesem Beitrag hinzugefügt, damit sie nicht verloren gehen.
Schritt 2 (Stand 21.02.2008):
Umbenennen des Ordners admin per FTP und Anpassung Eurer config.php. ACHTUNG: Man benötigt Schreibrechte für die config.php, also beispielsweise chmod 666.
Code: Select all
$config['admin_dir'] = 'xyz';
Schritt 3:
Nur noch Leserechte auf die config.php erteilen. Per FTP den chmod der config.php beispielsweise auf 444 ändern.
Schritt 4:
Ergänzt die .htaccess-Datei im Hauptordner Eures CMS und fügt den nachfolgenden Code ganz am Anfang ein.
Code: Select all
# BEGIN Optional settings
# Turns off directory browsing
# not absolutely essential, but keeps people from snooping around without
# needing empty index.html files everywhere
Options -Indexes
# Deny access to config.php
# This can be useful if php ever breaks or dies
# Use with caution, this may break other functions of CMSms that use a config.php
# file. This may also break other programs you have running under your CMSms
# install that use config.php. You may need to add another .htaccess file to those
# directories to specifically allow config.php.
<Files "config.php">
order allow,deny
deny from all
</Files>
# No sense advertising what we are running
ServerSignature Off
# END Optional Settings
Erstellt eine neue .htaccess-Datei für Euer lib-Verzeichnis.
Code: Select all
order deny,allow
deny from all
<Files ~ ".*\.css|.*\.js|.*\.gif|.*\jpe?g|editor.php|thumbs.php|images.php|editorFrame.php$">
Order deny,allow
Allow from all
</Files>
Schritt 6 (Stand 08.09.2008):
Erstellt eine neue .htaccess-Datei für Euer tmp-Verzeichnis.
Code: Select all
# To deny PHPs
<Files ~ "\.(php|php3|php4|php5|phtml|pl|cgi)$">
order deny,allow
deny from all
</Files>
Schritt 7 (Stand 08.09.2008):
In aktuellen CMSms Versionen ab 1.4.1 sind schon .htaccess-Dateien für die nachfolgenden Ordner enthalten:
/doc
/images
/plugins
/uploads
Bitte überprüft, ob sich diese mit nachfolgenden Inhalt auf Eurem Server befinden:
Code: Select all
# To deny PHPs
<Files ~ "\.(php|php3|php4|php5|phtml|pl|cgi)$">
order deny,allow
deny from all
</Files>
Deinstalliert und löscht den Modul-Manager und installiert statt dessen lieber Eure Module mittels FTP. Denn dann benötigt Euer modules-Verzeichnis nur noch den chmod 755. Gleiches gilt eventuell für den Theme-Manager, keine Ahnung wo der Dateien hinspeichert, da er bei mir sofort runtergeflogen ist.
Anmerkung: Wegen der Verzeichnisrechte (chmod 755) kommt die Fehlermeldung "Der Modul-Ordner ist schreibgeschützt." unter "Erweiterungen >> Module" und dies ist auch gut so!
Schritt 9:
Verschleiert Eure Email-Adresse gegenüber Spam-Bots mittels Smarty.
Code: Select all
E-Mail: <a href="{cms_selflink href="kontakt"}">{'test@example.com'|escape:'mail'|escape:'hexentity'}</a>
Code: Select all
Telefon: {'NUMMER'|escape:'hexentity'}
Sperrt die bekanntesten Spam-Bots mittels .htaccess aus.
Code: Select all
# Spambots nach User_agent aussperren
RewriteCond %{HTTP_USER_AGENT} ^.*Whacker.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailCollector [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*FileHound.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*TurnitinBot.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*JoBo.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*adressendeutschland.*$
RewriteRule ^.* - [F]
Schritt 11:
Vermeidet die Benutzung des Tags {cms_version}. Oder wenn Ihr es wie ich als Werbung anseht, immer den aktuellsten Release-Stand installiert zu haben, dann habt ihn auch immer installiert, d.h. lasst Euch beispielsweise mittels Announcement-Mailingliste darüber informieren und installiert ihn so schnell wie möglich.
http://www.cmsmadesimple.org/support/mailing-lists
Schritt 12 (NEU, Danke cyberman):
Benutzt nicht das Standard Datenbank Prefix cms_, sondern denkt Euch etwas eigenes aus. Für alle, die in einer bestehenden Installation das Prefix ändern wollen, soll hier ein Hinweis auf meinen entsprechenden Beitrag reichen.
Schritt 13 (NEU, Danke NaN):
Das Java-Applett des FileManagers welches in den CMSms-Versionen vor 1.2.5 ein großes Sicherheitsrisiko darstellte, muss von Hand vom Server gelöscht werden, da es beim Update weiterhin auf dem Server bleibt. Auch wenn der neue FileManager diese Funktionen nicht mehr unterstützt, könnten gewiefte Bösewichte diese Dateien weiterhin ausnutzen.
Deswegen den Ordner modules/FileManager/postlet komplett auf Eurem Server/Webspace löschen!