HowTo: CMSms Sicherheit ab Version 1.6.6

Dieses Board ist für Anleitungen gedacht, wie man bestimmte (komplexe) Dinge mit CMSms erledigen kann - User-Beiträge herzlich willkommen!
owr_bgld

Re: HowTo: CMSms Sicherheit ab Version 1.6.6

Post by owr_bgld »

LeisureLarry wrote: 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!
Sofern der "file-owner" entsprechend passt, stellt auch 755 kein Problem dar und es gibt die Fehlermeldung intern nicht. Bei mir z.b. gibt es keinen einzigen Ordner mit 777 - maximal 755.
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm
Location: Schweiz / Switzerland

Re: HowTo: CMSms Sicherheit ab Version 1.6.6

Post by nockenfell »

Damit alle auf dem gleichen Stand sind:

Code: Select all

# Beginn CMSMS Security Einstellungen.

# Directory Browsing abschalten
Options -Indexes
Options +FollowSymLinks

# Zugriff auf config.php verbieten.

<Files ~ "config.php|CHANGELOG.txt">
order allow,deny
deny from all
</Files>

<Files ~ "tinyconfig.php">
order allow,deny
allow from all
</Files>


# No sense advertising what we are running
ServerSignature Off

# unterbindet, das fremde Seiten geladen werden
RewriteCond %{QUERY_STRING} ^(.*)=http://(.*) [OR]
# blockiert libwww (Ausgangspunkt für diverse Hackversuche)
RewriteCond %{HTTP_USER_AGENT} ^libwww [OR]
# Blockiert Skripte, die versuchen, base64 encodierten Unsinn via URL zu versenden
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Blockiert Skripte, die einen a ********** Tag in der URL enthalten
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Blockiert Skripte, die versuchen, PHP GLOBALS Variablen via URL zu verändern
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Blockiert Skripte, die versuchen, eine _REQUEST Variable via URL zu verändern
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{REQUEST_METHOD} ^(TRACE|DELETE|TRACK) [NC,OR]
# Query String Exploits  
RewriteCond %{QUERY_STRING} ^.*(;|<|>|'|"|\[|\]|\)|\*|%0|%A|%B|%C|%D|%E|%F|%0A|%0D|%22|%27|%3C|%3E|%5C|%7B|%7C|%00|127\.0).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(globals|encode|request|union|select|insert|cast|set|declare|drop|update|md5|benchmark|loopback).* [NC,OR]
# if the URI contains a "<__script__>"
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{REQUEST_URI} ^/(,|;|:|<|>|'>|'<|/|\\\.\.\\).{0,9999}.* [NC,OR]

# 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]

# END Optional Settings
[this message is written with 100% recycled bits]
cyberman

Re: HowTo: CMSms Sicherheit ab Version 1.6.6

Post by cyberman »

Jaaa, so lieb ich das ... Leute, die mitdenken/mitmachen - Applaus!!
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm
Location: Schweiz / Switzerland

Re: HowTo: CMSms Sicherheit ab Version 1.6.6

Post by nockenfell »

cyberman wrote: Jaaa, so lieb ich das ... Leute, die mitdenken/mitmachen - Applaus!!
Danke  8) :D
[this message is written with 100% recycled bits]
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm
Location: Schweiz / Switzerland

Re: HowTo: CMSms Sicherheit ab Version 1.6.6

Post by nockenfell »

Code: Select all

RewriteCond %{QUERY_STRING} ^.*(globals|encode|request|union|select|insert|cast|set|declare|drop|update|md5|benchmark|loopback).* [NC,OR]
Diese Zeile ergibt Probleme mit dem Backend. Die Installation von gewissen Modulen oder auch das verändern von Inhalten in Modulen wird dadurch z.T. verhindert. Ich habe bisher aber noch nicht genau analysiert was die Probleme verursacht. Ev kann das mal einer machen. Dann könnte man ein spezielles .htaccess für das Admin-Verzeichnis machen.
[this message is written with 100% recycled bits]
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm
Location: Schweiz / Switzerland

Re: HowTo: CMSms Sicherheit ab Version 1.6.6

Post by nockenfell »

Ein Modul um die Sicherheit im Backend zu erhöhen:

IPLock - http://dev.cmsmadesimple.org/project/files/851

Ist ganz neu. Habs selber noch nicht ausprobiert. Das Modul setzt nach einer bestimmten Anzahl fehlgeschlagener Logins eine IP auf eine Blacklist.
[this message is written with 100% recycled bits]
User avatar
hibr
Forum Members
Forum Members
Posts: 73
Joined: Fri Feb 08, 2008 11:22 pm

Re: HowTo: CMSms Sicherheit ab Version 1.6.6

Post by hibr »

cyberman wrote:Mit der Version 1.6.7 wurde eine Sicherheitslücke geschlossen, mittels derer externe Dateien eingebettet werden konnten (im Beispiel waren .ini-Dateien verwendet).

Mit einem Eintrag in die htaccess sollte sich dies verhindern lassen

Code: Select all

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?meine-domain\.de(/.*)?$ [NC]
RewriteRule \.(ini|INI|iNI|inI|Ini|INi|iNi)$ - [F]
Dieser Eintrag verursacht Probleme mit PIWIK 1.7.x (piwik.org). Das Dashboard kann dann keine Widgets mehr laden. Auf eine interne URL:

Code: Select all

http://<meine-domain.tld>/piwik/index.php?module=VisitsSummary&action=getEvolutionGraph&columns=nb_visits&viewDataTable[]=VisitsSummary&viewDataTable[]=getEvolutionGraph&viewDataTable[]=nb_visits&filter_limit=10&widget=1&idSite=1&period=day&date=yesterday
gibt es ein 403 Error. Auf die "öffentlichen" URLs gibt es keinen Fehler. Nur das Problem mit dem Dashboard.

Ob man diesen Eintrag bei 1.10.x und höher noch braucht?!

Gruß Hani
Hanis Sammelsurium - How To's, Erfahrungs- und Meinungsberichte
Post Reply

Return to “HowTo's”