„Es gehört mehr Mut dazu seine Meinung zu ändern, als ihr treu zu bleiben.“
Autor: Thomas J. Fehr
Linux: Uhrzeit abgleichen mit dem NTP-Deamon
Das NTP-Protokoll ist dazu da, um die Zeit des Systems mit einem zentralen Zeitserver abzugleichen. Dazu muss auf dem Server System sichergestellt werden, dass der NTP-Deamon installiert ist.
Installation des NTP-Deamon
~$ sudo apt-get install ntp
Konfigurieren des NTP-Deamon
Danach können in der Datei „/etc/ntp.conf“ die zu verwendenden Zeitserver angegeben, sowie die benötigten Einstellungen gemacht werden. Damit die Änderungen in der „ntp.conf“ auch verwendet werden, muss die Konfigurationsdatei neu geladen werden.
~$ sudo service ntp reload
Die Zeit manuell synchronisieren
Soll die Zeit manuell synchronisiert werden, kann man dies mit folgendem Befehl tun:
~$ ntpd -q
-q NTP-Deamon nach erstmaligem synchronisieren beenden
Nützliche Links
„Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.“
„Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. Phantasie aber umfasst die ganze Welt.“
C#: Prüfen ob die Datenbankverbindung auf den SQL – Server verschlüsselt wird
Muss die Datenbankverbindung von einer C#-Applikation zum SQL-Server verschlüsselt werden, muss der SQL-Server mit einem Zertifikat korrekt konfiguriert sein. Im weiteren müssen im ConnenctionString Parameter konfiguriert werden, damit eine verschlüsselte Verbindung hergestellt wird. Dazu wird der ConnenctionString mit folgenden Parametern versehen:
- encrypt=true SSL Encryption aktivieren.
- trustServerCertificate=false Zertifikat wird validiert. (Bei self-signed Zertifikaten auf „true“ setzen)
Wird nun mit der C#-Applikation eine Verbindung auf den SQL-Server hergestellt, sollte die Verbindung verschlüsselt sein. Wie kann man sich jedoch sicher sein? Eine Möglichkeit ist die Verwendung eines „Sniffers“, wie WireShark, oder aber man prüft dies auf dem SQL-Server selber.
Auf dem SQL-Server kann man folgende SQL-Abfrage absetzen, um alle Verbindungen mit ihren Verschlüsselungsoptionen anzuzeigen:
SELECT session_id,encrypt_option
FROM sys.dm_exec_connections
session_id encrypt_option
----------- ----------------------------------------
73 TRUE
73 TRUE
73 TRUE
75 FALSE
76 FALSE
Bei den Verbindungen mit der SessionId 73 sehen wir, dass die Verschlüsselung aktiviert und verwendet wird. (encryption_option = true)
Nützliche Links
SQL Server SSL Troubleshooting Steps
Connection Properties
TrustServerCertificate Property
Nginx: Alle http-Anfragen auf https umleiten
Soll eine Webseite nur noch über HTTPS zugänglich sein, müssen alle HTTP-Anfragen auf HTTPS umgeleitet werden. Dies kann bei Nginx mit rewrite oder return gemacht werden. Die Empfehlung der Nginx Community ist aber die Verwendung des return, wie hier in diesem Beispiel:
server {
listen 80;
server_name signup.mysite.com;
return 301 https://signup.mysite.com$request_uri;
}
Nützliche Links
Nginx Community: Pitfalls
Nginx Community: Converting rewrite rules
Server Fault: How to force or redirect to SSL
Remotedesktopverbindung: Nützliche Tastenkombinationen
Eine kleine Auflistung von nützlichen Tastenkombinationen, für die Arbeit mit Remotedesktopverbindungen:
- CTRL + ALT + END: Entspricht auf einem lokalen Windows Desktop der Tastenkombination „CTRL + ALT + DEL“.
- CTRL + ALT + BREAK: Wechselt die Anzeige der Remotedesktopverbindung zwischen Vollbildmodus und Fenstermodus.
- CTRL + ALT + MINUS SIGN (-): Erstellt ein Screenshot des aktiven Fensters im RD Host. Funktioniert nicht im Vollbildmodus – Im Vollbildmodus ist „ALT + Print Screen“ zu verwenden.
- CTRL + ALT + PLUS SIGN (+): Erstellt ein Screenshot des gesamten Desktop im RD Host. Funktioniert nicht im Vollbildmodus – Im Vollbildmodus ist „Print Screen“ zu verwenden.
Nützliche Links:
Windows 7: Computer (Host) via Remote Desktop neustarten / herunterfahren
Wer seinen Computer laufen lässt, damit man von extern via Remote Desktop zugreifen kann und später seinen Rechner herunterfahren möchte, wird schnell feststellen, dass die üblichen Menüpunkte zum Herunterfahren und Neustarten im Startmenü verschwunden sind.
Das Neustarten und Herunterfahren ist aber dennoch möglich. Mann muss nur wissen wie! (Was ja meistens so ist 🙂 )
Möglichkeit 1
Die erste Möglichkeit ist mit der Tastenkombination „ALT + F4“. Wurde diese Tastenkombination gedrückt erscheint der Dialog zum Herunterfahren:
Möglichkeit 2
Im Startmenü, im rechten Balken, befindet sich ein neuer Menüpunkt „Windows-Sicherheit“.
Wird dieser ausgewählt erhält man folgende Funktionen:
Möglichkeit 3
Die dritte Möglichkeit ist mit dem Konsolenbefehl „shutdown“.
shutdown /r /t 0
- /r – neu starten
- /s – herunterfahren
- /t – zeit bis zum Neustart
Eine detaillierte Beschreibung zum Konsolenbefehl „shutdown“ findet man im Blogbeitrag Windows: Nützliche Konsolenbefehle.
VBScript: Standard Pingabfrage mit WMI
Um zu überprüfen ob ein Host im Netzwerk erreichbar ist, kann man eine standard Pingabfrage verwenden.
Mit der „Win32_PingStatus WMI CLASS“ bietet Microsoft die Möglichkeit eine solche standard Pingabfrage in einem VBScript zu verwenden.
Dim hostToPingFrom: hostToPingFrom= "localhost"
Dim targetIP: targetIP = 8.8.8.8
Dim cPingResults: Set cPingResults = GetObject("winmgmts:{impersonationLevel=impersonate}//" & _
hostToPingFrom & "/root/cimv2"). ExecQuery("SELECT * FROM Win32_PingStatus " & _
"WHERE Address = '" + targetIP + "'")
For Each oPingResult In cPingResults
If oPingResult.StatusCode = 0 Then
wscript.echo "Host is reachable"
End if
Next
- Zeilen 4,5,6: Verschickt die Pingabfrage
- Zeile 8: Iterieren über die Ping-Resultate
- Zeile 9: Ist der Statuscode 0 war das Pingkommando erfoglreich. Weitere Statuscodes werden in der Dokumentation zur „Win32_PingStatus class“ beschrieben.
ping-checker.vbs
Ein kleines VBScript, das ein Ping sendet und bei einem Fehler eine Benachrichtigung als Email, über einen SMTP-Server, verschickt oder in der Windows Konsole anzeigt. Je nach Konfiguration. Dieses einfache Skript kann als Grundlage dienen, um sich ein eigenes, den Bedürfnissen angepasstes Skript zu erstellen.
ping-checker.vbs als 7zip herunterladen
Nützliche Links
Arbeiten mit MSI-Paketen in der Kommandozeile
Die Abkürzung MSI ist für die Bezeichnung „MicroSoft Installer“. MSI-Pakete können mit dem Kommando „msiexec“ installiert, deinstalliert oder repariert werden. Windows Betriebssysteme bieten für diese Operationen eine Laufzeitumgebung mit dem Namen „Windows Installer“ an. Dieser Systemdienst entpackt die MSI-Pakete und führt diese aus.
Um die Installation eines Paketes zu starten, wird der Parameter „/i“ verwendet. Möchte man verhindern, dass die Installation angezeigt wird, kann dies mit den Paramter „/qn“ verhindert werden.
msiexec.exe /i mySetup.msi /qn
Um ein Paket zu deinstallieren, wird der Parameter „/x“ verwendet.
msiexec.exe /x mySetup.msi
Weitere Parameter sind in der msiexec Dokumentation zu finden.
Nützliche Links
msiexec Dokumentation
Wikipedia: Windows Installer
Windows Installer XML (WiX)
Windows Installer XML (WiX)
Wurde eine neue Software entwickelt, muss diese Software noch paketiert werden. Mit Hilfe dieses Installationspaketes kann diese Software dann an die verschiedenen Windows-Clients verteilt werden. Um ein solches Installationspaket, auch Setup bezeichnet, zu erstellen gibt es verschiedene gratis und Open Source – Applikationen.
Zwei weitverbreitete Programme zum Erstellen von Windows Installationsprogramme sind NSIS und Inno Setup. Beide erstellen eine ausführbare EXE-Datei, um die Software zu installieren. Nachteil beider Installationsprogramme ist, dass sie kein standardisiertes Installationsformat verwenden. Somit ist vor der Installation nicht ersichtlich was genau installiert, beziehungsweise welche Einstellungen vorgenommen werden. Daher verwenden viele Grossfirmen lieber ein standardisiertes Format wie das „Windows Installer XML“ das durch den „Windows Installer“ bereitgestellt wird.
Der Windows Installer (vormals Microsoft Installer) stellt eine Laufzeitumgebung für Installationsroutinen unter Microsoft-Windows-Betriebssystemen bereit. Er besteht aus einem Windows-Systemdienst, welcher Paketdateien im msi-Format (Microsoft Software Installation), sowie Dateien mit den Dateiendungen mst für Transform-Dateien und msp für Patches interpretieren, entpacken und ausführen kann. [1]
Eine Programmsammlung zum Erstellen von MSI-Paketen wurde intern bei Microsoft entwickelt und später als erstes Open-Source Produkt der Firma veröffentlicht. Der Name dieser Programmsammlung ist „WiX-Toolset“. Das gesamte Installationspaket wird mit Hilfe von XML definiert. Die Einarbeitung in das „Windows Installer XML“ braucht zwar seine Zeit, wird aber durch ein praktisches GUI-Tool „WixEdit“ oder dem Visual Studio Template „Votive“ vereinfacht. Auch sehr nützlich ist das Buch von Nick Ramirez mit dem Titel „A Developer’s Guide to Windows Installer XML“.
Nützliche Links
Webseite des WiX Toolset
Webseite des WiX Edit GUI
Wikipedia: WiX
Webseite von Inno Setup
Webseite des NSIS Installer
Referenzen
[1] Wikipedia: Windows Installer