Montag, 13. November 2017

Cryptomining per JavaScript unterbinden

Kryptocoins im Browser sammeln? Ja, dies ist jetzt ganz einfach möglich!

Mit einem JavaScript Plugin und dem Monero Blockchain kann jeder Webmaster mit Hilfe von fremden Ressourcen Geld sammeln.
Als Besucher einer Webseite bekommt das Plugin untergeschoben und die Rechner nutzt die volle Rechenleistung zur Berechnung des Blockchain. Auch "Cryptojacking" oder "drive-by mining" genannt.

Wie kann man sich schützen?

Einen adblocker im Browser verwenden oder ein Chrome plugin installieren.

Aus meiner Sicht am effektivsten, die Host-Datei anpassen und alle Anfragen ins "Leere" zu senden.

Unter Windows:
C:\Windows\System32\drivers\etc\hosts

Unter Linux:
sudo vi /etc/hosts

Und z.B. folgende Zeile hinzufügen:
127.0.0.1 coin-hive.com coinhive.com

Freitag, 10. November 2017

Windows 10 - Fall Creators Update sofort installieren

Vorab sollten folgende Tätigkeiten durchgeführt werden, damit keine Probleme bei der Installation auftreten:
  • Systemdiagnose Bericht sollte keine Fehler liefern:
    • Ausführen Dialog [Windows] + [R] und "perfmon /report" eingeben:

  • Überflüssige Systemdateien löschen:
    • Windows bietet ein eingebautes "Lösch-Tool", das Disk Cleanup tool (cleanmgr.exe) sStarten kann man diesen z.B. über die Datenträgerverwaltung.



Nach dem die oben genannten Schritte durchgeführt wurden, kann die Installation z.B. über das "Media Creation Tool" erfolgen. 
Siehe hierzu http://sebastianhemel.blogspot.de/2016/09/windows-10-anniversary-update-sofort.html 


Hinweis: Sollte man z.B. die Enterprise Edition von Windows 10 haben, ist ein Update vorerst nicht über das Tool möglich.

Samstag, 28. Oktober 2017

Deutsche "smart" Community? Conrad Connect!

Verschiedene Projekte zu Smarthome und z.B. der Verwendung des "Raspberry Pi" finden sich unter:
Bei dem Dienst von Conrad "Connect" können Projekte von anderen Nutzern abgerufen werden oder auch eigene Projekte geteilt werden.


Freitag, 27. Oktober 2017

Sicher surfen? Folgende Plugins helfen

Möchte man sicher mit seinem Browser im Internet unterwegs sein, sollten mindestens die folgenden Plugins installiert sein:

Donnerstag, 7. September 2017

Have i been pwned? Gehäckte Passwörter checken!

Kurzes Update zum Beitrag http://sebastianhemel.blogspot.de/2017/03/wurde-ich-gehackt-have-i-been-pwned.html

Der Dienst hat sein Angebot erweitert, man jetzt prüfen ob das eigene Passwort gehackt wurde.
https://haveibeenpwned.com/Passwords
Sollte dies der Fall sein, ist es sinnvoll dieses Passwort nicht mehr zu verwenden!

Mittwoch, 6. September 2017

DNS - Eigene Domain auf eine andere IP mit Bind umleiten

Mit Hilfe des Domain Name System (DNS) wird die Namensauflösung im Internet durchgeführt. Gibt man z.B. die Domain beispiel.de ein, dann wird diese vom DNS in die zugehörige IP-Adresse umgewandelt.

Zum Beispiel wird eine Domain in eine
  • IPv4-Adresse 82.165.229.138 oder eine 
  • IPv6-Adresse 2a02:2e0:3fe:1001:7777:772e:2:85
umgewandelt und der Browser leitet die Anfragen zu dem richtigen Server weiter.

Dies kann man selber z.B. mit dem Befehl ping in der Komandozeile testen:
Möchte man sichergehen, dass eine IPv6 Adresse angezeigt wird (sofern vorhanden), dann verwendent man ping -6 www.domainname.de .

DNS Eintrag einer eigenen Domain ändern

Besitzt man einen eigenen Server (z.B. virtueller Server von Host Europe) kann man diesen als DNS-Server mit Hilfe des Programms Bind verwenden. Hierdurch ist es möglich, eine Domain auf einen anderen Server zeigen zu lassen. Anwendungsfälle wären  z.B. ein Server Umzug oder ein schneller Domainumzug ohne auth-code.

Bind ist die aktuell am häufigsten verwendete DNS Software im Internet. Dieser kann mit dem folgenden Befehl installiert werden:
sudo apt-get install bind9
Des weiteren ist es auch sinnvoll, die Programme dig und dnsutils zu installieren, damit man die Namensauflösungen anschließend testen kann.
sudo apt-get install dnsutils
sudo apt-get install dig

Beispiel: Anpassen der IP-Adresse für eine Domain

Bevor man mit der Anpassung starten kann, ist es nötig die neue IP-Adresse noch bei einem weiteren DNS-Server einzutragen (secondary DNS). Denn nur so, wird auch wirklich die neue IP-Adresse übernommen. Hierfür kann man z.B. den Service von http://www.twisted4life.com verwenden.

Man gibt dafür den Domainnamen ein und die IP-Adresse des primären DNS Server (auf den wir soeben bind installiert haben).


Anschließend sagt uns der Service auch, welchen Eintrag wir in der Zonendatei (named.conf.local) vornehmen müssen:

zone "simxxxxxx.xe" { //yourdomain.com
    type master;
    file "/etc/bind/db.simxxxxxx.xe"; //yourdomain.com
    allow-transfer {
       202.157.182.142;
    };
};


Nach der Installation befinden sich alle nötigen Dateien unter /etc/bind/ , hier ist die zentrale Datei /etc/bind/named.conf . In der die folgenden Dateien inkludiert werden:
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
Jetzt wird der oben genannte Eintrag in named.conf.local vorgenommen und es muss noch eine Zonendatei für den Master Eintrag erstellt werden.

Die Datei db.simxxxxxx.xe sollte dann in etwa so aussehen (IPextern ist dann die neue IP-Adresse der Domain):

// Serial aufbau: Form YYYYMMDDSS, mit YYYY=Jahr, MM=Monat, DD=Tag und SS=zweistellige Seriennummer, die bei mehreren Änderungen an einem Tag jeweils um eins erhöht wird.
// Kommentare werden durch „;“ (Semikolon) eingeleitet. Alles, was rechts von einem „;“ auftaucht, gilt als Kommentar.


; simxxxxxx.xe
$TTL    604800
@       IN      SOA    
simxxxxxx.xe root.simxxxxxx.xe. (
2014010301 ; Serial
28800 ; refresh - 8 Stunden
7200 ; retry - 2 Stunden
604800 ; expire - 1 Woche
604800 ; Negative Cache TTL
                        )

@               IN      NS      ns1.
simxxxxxx.xe.
@               IN      NS      ns1.twisted4life.com.


;MX-Records
@ IN MX 1 aspmx.l.google.com.
@ IN MX 3 alt1.aspmx.l.google.com.
@ IN MX 3 alt2.aspmx.l.google.com.
@ IN MX 5 aspmx2.googlemail.com.
@ IN MX 5 aspmx3.googlemail.com.
@ IN MX 5 aspmx4.googlemail.com.
@ IN MX 5 aspmx5.googlemail.com.
@ 86400 IN TXT "v=spf1 include:_spf.google.com ~all"

ns1.
simxxxxxx.xe.   1800  IN  A    178.2XX.XX.X4 ; IPvserver
@                   1800  IN  A    85.2XX.XX.X8  ; IPextern
*                   1800  IN  A    85.2XX.XX.X8  ; IPextern
 


In dem oben genannten Beispiel wurden auch die MX-Records auf Google angepasst, damit dieser Mailserver verwendet werden kann. Siehe auch https://support.google.com/a/answer/33915 .

Anschließend muss ein reload von Bind erfolgen.
sudo /etc/init.d/bind9 reload
Zu guter Letzt muss auf der Provider Seite (wo die Domain gebucht ist) eine Anpassung des DNS Eintrags erfolgen:


Mit einem nslookup kann jetzt überprüft werden, ob die neue IP-Adresse für die Domain übernommen werden konnte.
nslookup simxxxxxx.xe 178.2XX.XX.X4

Montag, 4. September 2017

Apache HTTP Server - vHost Konfiguration

Wie kann man mehrere Webseiten mithilfe von einem Webserver betreiben?

Dies geht mit Hilfe des "Virtual Hosting". Dabei wird der Webserver (z.B. Apache) so konfiguriert, dass er auf unterschiedliche Hostnamen (Doamins) reagieren kann. Somit ist es möglich, auf einem Webserver, mehrere Webseiten unter der gleichen IP-Adresse gleichzeitig zu betreiben. Der Webserver entscheidet auf Basis des HTTP-Headers, welche Webseite ausgeliefert werden soll.

Auszug eines HTTP Headers:

Beispiele von Apache für die Konfiguration befindet sich unter /etc/apache2/sites-available
  • default
  • default-ssl 
Diese können als Basis für eine eigene Konfiguration verwendet werden:

Konfiguration der eigenen "Virtual Host" Datei

Im Verzeichnis /etc/apache2/sites-available habe ich eine neue Datei namens hemel angelegt. Dazeu habe ich ein Verzeichnis unter /var/www/virtual/hemel angelegt, da sich dann hier die eigentlichen "html Dateien" befinden werden.

Hier meine Beispiel Konfigiration um auf die Domain "beispiel.de" reagieren zu können:
#############################################################
# www.beispiel.de
#############################################################
<VirtualHost *:80>
     ServerName www.beispiel.de:80

     ServerAdmin server@beispiel.de
     ServerAlias www.beispiel.de

     # -Indexes - Verzeichnis Inhalt nicht anzeigen!
     Options -Indexes
     DocumentRoot /var/www/virtual/hemel/htdocs/beispiel-de
     ScriptAlias /cgi-bin/ /var/www/virtual/hemel/cgi-bin/

     LogLevel warn
     ErrorLog /var/log/apache2/beispiel-error.log
     CustomLog /var/log/apache2/beispiel-access.log combined

     # Leitet alle Anfragen an den ssl-host weiter.
     #RedirectPermanent / https://beispiel.de/
</VirtualHost>


  • ServerAdmin: E-Mail-Adresse des Server-Administrators hinterlegen, diese würde man bei Fehlermeldungen im Apache sehen. 
  • ServerName: Unter diesem Namen ist die Seite erreichbar. Muss aber per DNS oder über /etc/hosts auflösbar sein.
  • DocumentRoot: Basisverzeichnis "document root" des Virtual Hosts. http://BEISPIEL.de/datei.html => Zugriff auf die Datei /var/www/virtual/hemel/htdocs/beispiel-de/datei.html
Nach dem ein neuer Virtual Host angelegt wurde ("available"), muss diese noch im Webserver aktiviert werden ("enabled"). Dies geht mit dem folgenden Befehl:
  • sudo a2ensite hemel
Jetzt ist die angelegt Datei unter /etc/apache2/sites-enabled verlinkt und aktiviert.

Hinweis: Mehr Details zu den einzelnen Konfigurationen finden sich in der Apache Dokumentation http://httpd.apache.org/docs/2.2/de/mod/core.html#virtualhost