Archiv der Kategorie: Linux Howto Tutorials

GNU/Linux Howto’s and Tutorials unblog technical contribution for professionals

Network Time Protocol Linux Installation

Linux Systemzeit Synchronisation mit Network Time Protocol (NTP)

Network Time Protocol – NTP Synchronisation der Systemzeit mit der Atomzeit der NTP-Server. Dieser Beitrag zeigt die NTP-Service Bereitstellung und Konfiguration in der Linux Befehlszeile. Eine korrekte Systemzeit ist für Computersysteme essentiell und schafft überhaupt die Voraussetzung für ein reibungslosen Beitrieb der interagierenden Dienste. Zur Überprüfung und ändern der Systemzeit dienen folgende Befehlszeilentools.

Zur Abfrage der aktuellen Systemzeit mit date und timedatectl:

Der Zeitabgleich auf einem Server wird von einem NTP-Daemon ausgeführt, mit Synchronisation der Systemzeit für eine ordnungsgemässe Funktion der Systeme. Die Atomzeit kann von NTP-Server im Internet synchronisiert werden, wie zum Beispiel Google Public Network Time Protocol (NTP) time.google.com

Die NTP-Daemon Bereitstellung

Der NTP-Daemon auf Debian Linux basiertem System Installieren:

Der NTP-Daemon auf RHEL/CentOS/Fedora System Installieren:

NTP Pool Server pool.ntp.org versucht den nächstgelegenen verfügbaren Server zu finden. Das Projekt NTP-Pool ist ein dynamischer Pool von Zeitservern. Die NTP Pool Server kann man in /etc/ntp.conf editieren.

Bevor der ntpd-Dienst gestartet werden kann, muss die Systemzeit grob (im Bereich weniger Minuten) eingestellt werden. Das kann manuell mit date oder hier mit timedatectl set-time oder über den NTP Pool mit ntpdate pool.ntp.org gemacht werden.

Nach einigen Minuten kann der Status des Dienstes abgerufen werden. Die Ausgabe des Kommandos ntpq -p sollte in etwa wie folgt aussehen.

Der bereitgestellte NTP-Daemon nun ausführen und in systemd für den automatischen start verlinken:

Die systemd-timesyncd Konfiguration

Der Service systemd-timesyncd ist bei vielen Distributionen bereits installliert. Die Konfigurationsdateien steuern die Zeitsynchronisation des NTP-Netzwerks.

Die Network Time Synchronization für den Service systemd-timesyncd beinhaltet die Datei /etc/systemd/timesyncd.conf

Die Konfigurationsdatei timesyncd.conf kann wie folgt sein.

Damit systemd-timesyncd automatisch gestartet wird, aktiviert der Befehl enable den Service entsprechend:

Bei einem systemd-basierten System führt man folgenden Befehl aus, um den Servicestatus zu überprüfen:

Die Ausgabe auf Zeile 7 und 8 bedeutet, dass der Zeitabgleich nicht ausgeführt wird. Mit folgendem Befehl wird die Synchronisation aktiviert:

Der NTP Servicestatus erneut abfragen, nach einigen Sekunden zeigt die Ausgabe System clock synchronized: yes und NTP service: active:

Die Kerberos-Authentifizierung

Die Kerberos-Authentifizierung ist gegenwärtig die Standard-Authentifizierungstechnologie unter Windows, auch Apple macOS, FreeBSD und Linux Systeme nutzen Kerberos-Implementierungen. Bei der Authentifizierung in einer Umgebung mit Kerberos, kommt eine synchrone Systemzeit für interagierende System eine fundamentale Bedeutung zu.

Da Kerberos drei Entitäten für die Authentifizierung verlangt, die Ticket-Autorisierung durch eine dritte Partei, darf die Systemzeit eine bestimmte Drift Limite nicht überschreiten, ein Ticket das durch Kerberos erstellt wird, ist nach einer gewissen Zeit abgelaufen, das Ticket wird ungültig.

Kerberos ist auch für Websites und SSO-Implementierungen plattformübergreifend zum Standard geworden. In Active Directory Domain Services (AD DS), ist bei der Integration von NAS und anderen Geräte, für den Zugriff auf Netzwerkressourcen für eine übereinstimmende Systemzeit zu sorgen. Für die Protokollierung wie Syslog ist die präzise Zeit, der Timestamp für die Auswertung der Ereignisse, und bei der Fehler Analyse bedeutend.

Linux Mint 20 Cinnamon: apt install ntp ntpdate

Linux Zeitzone in Console Festlegen

Zeitzone ändern bei RHEL/CentOS und Fedora

Dieser Beitrag zeigt die Abfrage und das festlegen der Zeitzone in der Befehlszeile bei RHEL/CentOS 8 und Fedora 30. Eine korrekte Systemzeit ist für Computersysteme essentiell und schafft überhaupt die Voraussetzung für ein reibungslosen Beitrieb der interagierenden Dienste. Zur Überprüfung und Bearbeitung der Zeitzoneneinstellung dient das Befehlszeilentool timedatectl.

Hier die Zeitzoneneinstellung Abfrage ohne zusätzliche Argumente:

Die Zeitzoneneinstellung ändern und festlegen:

Abfragen der geänderten Zeitzoneneinstellung:

Die verfügbaren Zeitzonen mit folgendem Command ausgeben:

Da es viele Zeitzonen gibt, wird die Abfrage sehr lange, mit grep die Abfrage eingegrenzt:

Apache Serversignatur deaktivieren

HTTP-Server-Header, Serversignatur bei Apache, PHP, Nginx

Es gibt zahlreiche Möglichkeiten, wie Webseiten Sicherheitsbedrohungen ausgesetzt werden. Informationen in der Serversignatur sind für Systeme erhöhte Risiken und können gegen sie eingesetzt werden.

Die Serversignatur liefert wichtige Information über den Server mit den Erweiterungen und das Betriebssystem. Bei einem Apache Server auf Debian GNU/Linux wird die Apache Versionsnummer und Betriebssysteminformation in der HTTP Server Header Signatur angezeigt.

Diese im HTTP Server Header angezeigte Information bei Zeile 10 gibt aufschluss über die Webserver Versionsnummer und die PHP-Version, die OpenSSL Version für Transport Layer Security sowie das Betriebssystem.

Signaturen können vertrauliche Informationen zu den auf dem Webserver ausgeführten Softwareversionen enthalten. Wird eine Seite auf dem Server nicht gefunden, sendet der Server dem Client eine Fehlerseite, dabei erscheint im Browser die Seite, Not Found.

Abbildung: Browser Seite mit HTTP-Statuscode 404 und Serversignatur

Ein toter Link wird mit dem HTTP-Statuscode 404 dem Browser zurückgegeben, dazu werden noch weitere Informationen über den Webserver sowie die verwendete Version bekanntgegeben.

Es wird empfohlen die Serversignatur zu deaktivieren, wenn das System vor offenen Bedrohungen geschützt werden soll. In diesem Tutorial wird gezeigt, wie die Serversignatur deaktiviert werden kann.

Apache HTTP Serversignatur bei Debian GNU/Linux deaktivieren

Unter Debian 10 (buster) wird die Konfiguration der Serversignatur in der Datei security.conf vorgenommen.

Die Standard Einstellung bei Debian 10 (buster) und auch bei Ubuntu für ServerSignature ist On und ServerTokens ist Full. Daktivieren lassen sich diese wie folgt.

Die änderung der Apache Webserver Konfiguration übermehmen.

Apache HTTP Serversignatur bei CentOS GNU/Linux deaktivieren

Bei CentOS (RedHat) wird die änderung der Serversignatur in der Apache Konfigurationsdatei httpd.conf vorgenommen.

Deaktivierung der HTTP-Serversignatur für CentOS übernehmen.

Nach der deaktivierung der Serversignatur wird diese in der HTTP Server Header Ausgabe nicht mehr angezeigt. Die überprüfung der änderung kann mit wget oder hier gemacht werden.

Das deaktivieren der Serversignatur kann auch mit einer .htaccess-Datei erreicht werden, diese wird falls nicht bereits vorhanden, in der Docroot erstellt.

PHP-Version im HTTP Server Header deaktivieren

Die Ausgabe der PHP Versionsnummer wird bei Debian 10 (buster) wie folgt in der Datei php.ini deaktiviert.

Bei CentOS (RedHat) wird der PHP Version Header in der php.ini unter folgendem Pfad vorgenommen.

Apache HTTP-Response-Header

Die Apache ServerTokens Direktive hat die folgenden möglichen Werte, die an Clients gesendet werden, wenn der spezifische Wert festgelegt wird.

Diese Einstellung gilt für den gesamten Server und kann nicht auf Virtual-Host-Basis aktiviert oder deaktiviert werden.

Nginx HTTP Server_tokens OFF

Für den Nginx Webserver ist die Datei nginx.conf zu editieren.

Die deaktivierung der Nginx Serversignatur übernehmen.