27.03.2019, 17:52
(Dieser Beitrag wurde zuletzt bearbeitet: 27.03.2019, 18:18 von kettwiesel.)
Hallo MyBB Deutschland, schön mal wieder bei euch zu sein.
MyBB sicherer machen.
Tipp 1.
Ich habe einen Fehler gefunden und wollte euch diesen Tipp geben da das anscheinend bis jetzt keiner bemerkt hat. Und zwar, bin ich dabei ein Forum aufzubauen was so sicher wie nur irgendwie möglich sein soll, also habe ich mit diversen Online Tools das Forum ab scannen lassen um zu sehen wo man was verbessern könnte.
Dabei hat sich herausgestellt, das das Forum trotz HTTPS Verbindung unsichere Cookies verwendet. So wurde es mir angezeigt. Erst dachte ich ok, der Fehler scheint bei mir zu liegen, oder am Server selbst also habe ich mal alle möglichen Foren die ich so kenne besucht und darauf geprüft, das Ergebnis? Es ist überall das gleiche, auch bei eurer Seite hier wurde das so angezeigt.
Ich dachte erst das ist ein Problem von irgendeinem Plugin, aber weit gefehlt ist es nicht, denn bei einer neuen Nackten Installation ist es auch da. Dazu sei auch gesagt, es kann durchaus Sinn machen das so zu belassen wein ein Server neu aufgebaut wird!
Die Option, in der Konfiguration nur Sichere Cookies an oder abzuwählen in MyBB selbst ist wirkungslos! Fals jemand denkt man müsste nur dort einen Haken setzen.
Lange Rede Kurzer Sinn....
Die Lösung mit den Ungesicherten Cookies ist ganz einfach.
man rufe die Seite auf https://www.ionos.de/tools/website-check auf gibt seine Seite ein, dann seht ihr den Fehler mit den Unsicheren Cookie.
Lösung:
Öffnet die Datei Forum/inc/funktions.php
in der Zeile 1873 (so zumindest bei mir) Aktuelle letzte Version 1.8 X
dort ist die Zeile
ändern in
Ändert es von false auf true, und siehe da die Kiste ist Sicher ! Den Onlinecheck noch mal drüber laufen lassen zum Prüfen fertig.
Wünsche frohes gelingen.
############################################
Tipp 2.
Und noch ein Tipp nebenbei erwähnt in Bezug auf die .htaccess Datei.
in die .htaccess Datei fügt man folgende Zeile ein, dann hat man 100% bei den Sicherheitstests.
Achtung für Updates ist es besser wenn man vorher die htaccess Datei so hochläd wie sie im Originalzustand ist! Sonnst kommt es zu Fehlern beim Update! Und nach dem Update kann man diese ja wieder hochladen.
Tipp 3.
Wer Proxys Sperren will
Tipp 4.
Quasi eine Firewall
Die HINWEISSEITE.HTML müsst ihr natürlich erstellen.
die Zeile
sollte man ausklammernt lassen, weil diese Zicken machen kann, weil wenn der seiten Besucher vor und zurück klickt, scheißt ihn die Seite raus !
Und zwecks SSL allgemein um das nicht zu vergessen....
##################
Oh hätte ich fasst vergessen... Wer diverse Länder aussperren will, beispielsweise wer eh nur ein Deutsches Forum betreibt....
Dieses Beispiel lässt, Deutschland, Österreich, Schweiz und Russland zu alles andere nicht.
sorry.html musst du erstellen und sollte der Hinweis sein in Fremdsprache.
Ich kann euch sagen diese Kombination ist Gold wert, hält einen viele Plage Geister vom Hals. eine 100% Sicherheit wird es nie geben, aber das ist echt äußert wirkungsvoll, weil es eben auf Serverebene schon greift.
Hier mal ein Bildschirmausdruck der Meldung damit ihr das besser versteht was ich meine.
MyBB sicherer machen.
Tipp 1.
Ich habe einen Fehler gefunden und wollte euch diesen Tipp geben da das anscheinend bis jetzt keiner bemerkt hat. Und zwar, bin ich dabei ein Forum aufzubauen was so sicher wie nur irgendwie möglich sein soll, also habe ich mit diversen Online Tools das Forum ab scannen lassen um zu sehen wo man was verbessern könnte.
Dabei hat sich herausgestellt, das das Forum trotz HTTPS Verbindung unsichere Cookies verwendet. So wurde es mir angezeigt. Erst dachte ich ok, der Fehler scheint bei mir zu liegen, oder am Server selbst also habe ich mal alle möglichen Foren die ich so kenne besucht und darauf geprüft, das Ergebnis? Es ist überall das gleiche, auch bei eurer Seite hier wurde das so angezeigt.
Ich dachte erst das ist ein Problem von irgendeinem Plugin, aber weit gefehlt ist es nicht, denn bei einer neuen Nackten Installation ist es auch da. Dazu sei auch gesagt, es kann durchaus Sinn machen das so zu belassen wein ein Server neu aufgebaut wird!
Die Option, in der Konfiguration nur Sichere Cookies an oder abzuwählen in MyBB selbst ist wirkungslos! Fals jemand denkt man müsste nur dort einen Haken setzen.
Lange Rede Kurzer Sinn....
Die Lösung mit den Ungesicherten Cookies ist ganz einfach.
man rufe die Seite auf https://www.ionos.de/tools/website-check auf gibt seine Seite ein, dann seht ihr den Fehler mit den Unsicheren Cookie.
Lösung:
Öffnet die Datei Forum/inc/funktions.php
in der Zeile 1873 (so zumindest bei mir) Aktuelle letzte Version 1.8 X
dort ist die Zeile
PHP-Code:
function my_setcookie($name, $value="", $expires="", $httponly=false, $samesite="")
PHP-Code:
function my_setcookie($name, $value="", $expires="", $httponly=true, $samesite="")
Ändert es von false auf true, und siehe da die Kiste ist Sicher ! Den Onlinecheck noch mal drüber laufen lassen zum Prüfen fertig.
Wünsche frohes gelingen.
############################################
Tipp 2.
Und noch ein Tipp nebenbei erwähnt in Bezug auf die .htaccess Datei.
in die .htaccess Datei fügt man folgende Zeile ein, dann hat man 100% bei den Sicherheitstests.
Achtung für Updates ist es besser wenn man vorher die htaccess Datei so hochläd wie sie im Originalzustand ist! Sonnst kommt es zu Fehlern beim Update! Und nach dem Update kann man diese ja wieder hochladen.
PHP-Code:
<IfModule mod_env.c>
# Add security and privacy related headers
Header set X-Content-Type-Options "nosniff"
Header set X-XSS-Protection "1; mode=block"
Header set X-Robots-Tag "none"
Header set X-Download-Options "noopen"
Header set X-Permitted-Cross-Domain-Policies "none"
Header set Referrer-Policy "no-referrer"
SetEnv modHeadersAvailable true
</IfModule>
Tipp 3.
Wer Proxys Sperren will
PHP-Code:
###Standard Proxysperre
<ifModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP:VIA} !^$ [OR]
RewriteCond %{HTTP:FORWARDED} !^$ [OR]
RewriteCond %{HTTP:USERAGENT_VIA} !^$ [OR]
RewriteCond %{HTTP:PROXY_CONNECTION} !^$ [OR]
RewriteCond %{HTTP:XPROXY_CONNECTION} !^$ [OR]
RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
RewriteCond %{HTTP:HTTP_CLIENT_IP} !^$
RewriteRule .* - [F]
</ifModule>
### Ende Standard Proxysperre
Tipp 4.
Quasi eine Firewall
PHP-Code:
### Firewall -
<IfModule mod_rewrite.c>
ServerSignature Off
Options -Indexes
RewriteEngine On
RewriteCond %{REQUEST_URI} (settings\.php|config\.php|wp-config\.php|bb-config\.php) [NC,OR]
RewriteCond %{REQUEST_URI} (timthumb\.php|phpthumb\.php|thumb\.php|thumbs\.php|debug\.log|error.log|attacks.log) [NC,OR]
RewriteCond %{REQUEST_URI} \.(htaccess|htpasswd|errordocs|logs|po|mo|ini|inc)$ [NC,OR]
RewriteCond %{THE_REQUEST} \/\*\ HTTP/ [NC,OR]
RewriteCond %{THE_REQUEST} etc/passwd [NC,OR]
RewriteCond %{THE_REQUEST} (\?|\*|%2a)+(%20+|\\s+|%20+\\s+|\\s+%20+|\\s+%20+\\s+)HTTP(:/|/) [NC,OR]
RewriteCond %{HTTP_REFERER} (%0A|%0D|%27|%3C|%3E|%00) [NC,OR]
RewriteCond %{THE_REQUEST} (`|<|>|'|"|%0A|%0D|%27|%3C|%3E|%00|%60|\\r|\\n) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} (`|<|>|'|"|%0A|%0D|%27|%3C|%3E|%00|%60|\\r|\\n) [NC,OR]
RewriteCond %{QUERY_STRING} (`|<|>|'|"|%0A|%0D|%27|%3C|%3E|%00|%60|\\r|\\n) [NC,OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [NC,OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [NC,OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC,OR]
RewriteCond %{QUERY_STRING} \=PHP[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} [NC,OR]
RewriteCond %{QUERY_STRING} (\.\./|%2e%2e%2f|%2e%2e/|\.\.%2f|%2e\.%2f|%2e\./|\.%2e%2f|\.%2e/) [NC,OR]
RewriteCond %{QUERY_STRING} ftp\: [NC,OR]
RewriteCond %{QUERY_STRING} http\: [NC,OR]
RewriteCond %{QUERY_STRING} https\: [NC,OR]
RewriteCond %{QUERY_STRING} \=\|w\| [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)/self/(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)cPath=http://(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*embed.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^e]*e)+mbed.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*object.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^o]*o)+bject.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [NC,OR]
RewriteCond %{QUERY_STRING} base64_(en|de)code[^(]*\([^)]*\) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} ^.*(\(|\)|<|>|%3c|%3e).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(\x00|\x04|\x08|\x0d|\x1b|\x20|\x3c|\x3e|\x7f).* [NC,OR]
RewriteCond %{QUERY_STRING} (NULL|OUTFILE|LOAD_FILE) [OR]
RewriteCond %{QUERY_STRING} (\.{1,}/)+(motd|etc|bin) [NC,OR]
RewriteCond %{QUERY_STRING} (localhost|loopback|127\.0\.0\.1) [NC,OR]
RewriteCond %{QUERY_STRING} concat[^\(]*\( [NC,OR]
RewriteCond %{QUERY_STRING} union([^s]*s)+elect [NC,OR]
RewriteCond %{QUERY_STRING} union([^a]*a)+ll([^s]*s)+elect [NC,OR]
RewriteCond %{QUERY_STRING} \-[sdcr].*(allow_url_include|allow_url_fopen|safe_mode|disable_functions|auto_prepend_file) [NC,OR]
RewriteCond %{QUERY_STRING} (;|<|>|`|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00|%60).*(/\*|union|select|insert|drop|delete|update|cast|create|char|convert|alter|declare|order|script|set|md5|benchmark|encode) [NC,OR]
###RewriteCond %{HTTP_COOKIE} (;|<|>|`|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00|%60).*(/\*|union|select|insert|drop|delete|update|cast|create|char|convert|alter|declare|order|script|set|md5|benchmark|encode) [NC,OR]
RewriteCond %{QUERY_STRING} (sp_executesql) [NC]
RewriteRule ^(.*)$ https://HINWEISSEIT.HTML [QSA,L]
</IfModule>
# Ende Firewall ###
Die HINWEISSEITE.HTML müsst ihr natürlich erstellen.
die Zeile
PHP-Code:
###RewriteCond %{HTTP_COOKIE} (;|<|>|`|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00|%60).*(/\*|union|select|insert|drop|delete|update|cast|create|char|convert|alter|declare|order|script|set|md5|benchmark|encode) [NC,OR]
Und zwecks SSL allgemein um das nicht zu vergessen....
PHP-Code:
RewriteBase /forum/
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
##################
Oh hätte ich fasst vergessen... Wer diverse Länder aussperren will, beispielsweise wer eh nur ein Deutsches Forum betreibt....
Dieses Beispiel lässt, Deutschland, Österreich, Schweiz und Russland zu alles andere nicht.
PHP-Code:
####Ländersperre
RewriteEngine on
RewriteCond %{HTTP:Accept-Language} (gb|uk|fr|aa|at|cz|ab|jo|il|li|iq|lb|pk|sy|af|am|ar|sk|as|ay|az|ba|be|bg|bh|bi|bn|bo|br|ca|co|cy|dz|el|eo|es|et|eu|fa|fj|fo|fy|ga|gd|gl|gn|gu|gr|ha|hi|hr|hu|hy|ia|ie|ik|in|is|it|iw|ja|ji|jw|ka|kk|kl|km|kn|ko|ks|ku|ky|la|ln|lo|lv|mg|mi|mk|ml|mn|mo|mr|ms|mt|my|na|ne|nl|oc|om|or|pa|pl|ps|pt|qu|rm|rn|ro|rw|sa|sd|sg|sh|si|sl|sm|sn|so|sq|sr|ss|st|su|sv|sw|ta|te|tg|th|ti|tk|tl|tn|to|tr|ts|tt|tw|uk|ur|uz|vi|vo|wo|xh|yo|zh|zu) [NC]
RewriteRule .* https://DEINESEITE/sorry.html [R,L]
#### Ländersperre Ende
Ich kann euch sagen diese Kombination ist Gold wert, hält einen viele Plage Geister vom Hals. eine 100% Sicherheit wird es nie geben, aber das ist echt äußert wirkungsvoll, weil es eben auf Serverebene schon greift.
Hier mal ein Bildschirmausdruck der Meldung damit ihr das besser versteht was ich meine.