htaccess und Dynamische IP Adressen

Apache htaccess Allow from mit DDNS Dynamischen IP Adressen

Apache Webserver Zugriffsteuerung über htaccess-Datei, für Autorisierten Zugang zu Webseiten.

htaccess-datei und Dynamische IP Adressen

Mit der Apache direktiveAllow fromist es möglich eine bestimmte IP von der Anmeldeaufforderung auszuschliessen. Dabei ist die Übergabe von Hostnamen und FQDN leider nicht möglich. Anhand des folgenden Scriptes wird die Dynamische IP eines Hostname ausgelesen und in die htaccess-Datei eingetragen.

htaccess mit Dynamischen IP Adressen

Der folgende Shell Script ermöglicht die Auflösung der IP Adresse und schreiben der IP Adresse in die htaccess-Datei. Die folgenden Zeilen in der Konsole mit copy & paste einfügen, damit wird die Script Datei erstellt.

cat << EOF > ./allow_myhost.sh
#!/bin/sh
htpath="/var/www/blog/"
grep -lr "#DDNS" $htpath | while read i; do
sed -i '/#DDNS-IP$/d' $i
grep -i "#DDNS$" $i | while read j; do
words=( $j )
ddns="${words[2]}"
ip="$(host $ddns)"
if [ "$ip" == "${ip%% has address *}" ]; then
continue;
fi
ip="${ip##* has address }"
sed -i 's/^\('"$j"'\)$/\1\nAllow from '"$ip"' #DDNS-IP/' $i
done
done
EOF

 Copy Paste

Der Script schreibt hier auf einem CentOS Host die htaccess-Datei um. Bei ZeileAllow frommit der Marke #DDNS wird der Hostname ausgelesen, auf der nächsten Zeile mit der Marke #DDNS-IP wird die aufgelöste IP des Host geschrieben. Die Pfad VariablehtpathkannDocumentRootoder ein Unterverzeichnis sein, dabei bearbeitet der Script alle vorkommenden .htaccess-Dateien rekursive ab htpath.

Die htaccess-Datei im Webverzeichnis

Die htaccess-Datei wird im Webverzeichnis gespeichert dieses geschützt werden soll. Mit cd in das gewünschten Verzeichnis wechseln und die folgenden Zeilen mit copy & paste in der Konsole einfügen, dies erzeugt die .htaccess-Datei.

cat << EOF > .htaccess
AuthName "A Blog"
AuthType Basic
AuthUserFile /home/jonny/.htpasswd
AuthGroupFile /dev/null
Order deny,allow
Deny from all
require valid-user
Allow from myhome.dyndns.org #DDNS
Allow from 198.51.100.64 #DDNS-IP
Satisfy Any
EOF

 Copy Paste

Die Zeilen mit #DDNS und #DDNS-IP (mit #) dienen zur Markierung.

Der Script muss noch ausführbar gemacht werden.

chmod 755 allow_myhost.sh

Dynamischen IP laufend aktualisieren

Damit die Auflösung der Dynamischen IP laufend aktualisiert wird, kann mitcrontab -eein Cron job erstellt werden.

*/5 * * * * root /home/jonny/allow_myhome.sh >/dev/null 2>&1

Nach restart des Cron Daemon ist der job aktive.

service crond restart

Hinweis:
Ab Apache 2.4 lautet die direktive von zuvorAllow fromnunRequire.
Apache 2.x mod_access_compat

Order deny,allow
Deny from all

Apache 2.4 mod_authz_host

Require all denied

Die von mod_access_compat bereitgestellten Allow-, Deny- und Order-Direktiven sind veraltet und werden in den zukünftigen Version nicht mehr unterstützt. Es wird empfohlen die neuen Direktiven zu verwenden.

Ransomware WannaCry abwehren

Computer vor WannaCry schützen

Der weltweite Angriff des Verschlüsselungstrojaner (auch „Erpressungstrojaner“ genannt) „WannaCry“ auf Windows-Rechner ist noch nicht vorbei. Es dürfte sich um eine der grössten Attacken auf IT-Systeme bislang gehandelt haben.

Für die abwehr von WannaCry sind folgende Schritte empfohlen:

  1. Umgehend den Patch MS17-010 installieren. Wer noch Windows XP, Windows 8, oder Windows Server 2003 einsetzt, findet im Blog-Post von Microsoft TechNet zusätzliche Informationen.
  2. Folgende Ports auf der Firewall blockieren:
    TCP-Ports 137, 139, 445 und UDP-Port 137 und 138. Über diese kommuniziert WannaCry mit den Backend-Services auf den Servern der Angreifer.
  3. Das Tor-Protokoll blockieren: Der Schadcode kommuniziert mit den Command&Control-Servern der Angreifer anhand des Tor-Protokolls. Dieses muss am Sicherheits-Perimeter unterbrochen werden. Ausgehende Kommunikation blockieren, zu den bisher bekannten C&C-Server:
    cwwnhwhlz52ma.onion
    gx7ekbenv2riucmf.onion
    xxlvbrloxvriy2c5.onion
    57g7spgrzlojinas.onion
    76jdd2ir2embyv47.onion
  4. Das Protokoll Server Message Block (SMB) Version 1 (SMBv1) deaktivieren:  Es wird von Microsoft empfohlen SMBv1 zu deaktivieren, SMBv2 und SMBv3 sollte in produktiven Umgebungen nicht deaktiviert werden.

Bei Windows 8 und Windows Server 2012

Set-SmbServerConfiguration -EnableSMB1Protocol $false

Für Windows 7, Windows Server 2008 R2, Windows Vista, und Windows Server 2008

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force

Ein Reboot des Systems ist erforderlich zur Aktivierung.

Die Deaktivierung von SMBv1 kann auch mittels Regedit vorgenommen werden.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\ParametersRegistry entry: SMB1
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled

Weitere Informationen über die Malware selbst beschreibt Microsoft im Malware Protection Center auf dem Windows Security Blog WannaCrypt ransomware worm targets out-of-date systems.

WannaCry Entschlüsseln

Von Benjamin Delp stammt das Tool WannaKiwi. Er stützte sich auf Vorarbeiten von Adrien Guinet. Mit dem Tool lässt sich aus dem Speicher des befallenen Systems der private User-Key auslesen, der zur Verschlüsselung der Daten auf der Festplatte verwendet wurde.

Wer seine Systeme noch nicht auf den aktuellen Stand gebracht hat, sollte spätestens jetzt handeln. Installiere die über Windows Update angebotenen Sicherheits-Updates auf sämtlichen Systemen. Von CVE-2019-0708 betroffen sind alle Windows-Client- und Windows-Server-Versionen bis einschließlich Windows 7 und Windows-Server 2008 – mit Ausnahme von Windows 8 und 10. Patches gibt es selbst für XP und Vista, die eigentlich bereits vom offiziellen Update-Zweig abgeschnitten sind.

Patch-Downloads:

Sicherheits-Updates für Windows 7, Windows Server 2008 (R2)
Sicherheits-Updates für Windows XP, Vista und Server 2003