GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Anleitung zum erstmaligen Einrichten des CentOS 7-Servers

Einführung

System CentOS 7 unterscheidet sich stark von seinen älteren Vorgängern. Bei jedem Server sollte das Hauptziel immer die Sicherheit sein. Viele Benutzer werden Opfer von böswilligen Infiltrationen auf ihren Servern, da von Anfang an keine Sicherheitsgrenzen festgelegt wurden. Beginnen wir den richtigen Weg, indem wir unser Fundament mit Sicherheit legen. Diese Anleitung hilft Ihnen bei der Ersteinrichtung von CentOS 7, damit Sie Ihren Server erfolgreich sichern können und gleichzeitig die Gewissheit haben, dass Ihr Server geschützt ist.

Was brauchen Sie?

Sie benötigen einen CentOS 7-Server, der mit einer statischen IP-Adresse konfiguriert ist. Wenn Sie noch keinen Server haben, sollten Sie einen Top-Qualitätsserver von Atlantic.net in Betracht ziehen und in weniger als 30 Sekunden einsatzbereit sein.

Servervorbereitung

Melden Sie sich zunächst über SSH oder die hier befindliche VNC-Konsole bei Ihrem CentOS 7-Server an. Atlantic.Net Cloud-Server werden als minimale Installationen eingerichtet, um zu vermeiden, dass unnötige Pakete installiert und nie verwendet werden. Wenn einige Softwarepakete, an die Sie gewöhnt sind, nicht standardmäßig installiert sind, können Sie sie nach Bedarf installieren.

Lassen Sie uns sicherstellen, dass Ihr Server auf dem neuesten Stand ist.

yum update

Wir können den Prozess fortsetzen und Ihren Server mit dem Server auf dem neuesten Stand sichern.

Aktualisieren Sie das Root-Passwort für CentOS 7

Geben Sie den folgenden Befehl ein, um Ihre Anfrage zu aktivieren, und befolgen Sie die Anweisungen auf dem Bildschirm, um Ihr Root-Passwort zu aktualisieren/bestätigen:

passwd

Erstellen Sie einen neuen Benutzer mit sudo-Berechtigungen

Nachdem Sie Ihr Passwort erfolgreich aktualisiert haben, wird empfohlen, dass Sie einen neuen Benutzer mit sudo/root-Berechtigungen erstellen. Da der typische Admin-Benutzer für viele Linux-Betriebssysteme wie CentOS 7 „root“ ist, erstellen wir einen neuen Admin-Benutzer, der für alltägliche Verwaltungsaufgaben verwendet wird. Das Erstellen eines neuen Benutzers mit Root-Berechtigungen erhöht die Sicherheit des Zugriffs auf Ihren Server. Unerwünschte Benutzer zielen auf den Root-Benutzer ab, weil sie wissen, dass es sich um den Standard-Admin-Benutzer handelt. Wenn Sie jedoch einen neuen Benutzer mit sudo/root-Berechtigungen erstellen und dann den Standard-Root-Benutzer deaktivieren, wird dieser nie wissen, mit welchem ​​Benutzer er sich anmelden soll.

Geben Sie den folgenden Befehl ein, um Ihren neuen Benutzer zu erstellen, indem Sie „Benutzer1“ durch Ihren Benutzernamen ersetzen, und bestätigen Sie.

adduser user1

Erstellen Sie ein Passwort für diesen Benutzer, indem Sie den folgenden Befehl eingeben, um Ihre Anfrage zu aktivieren, und den Anweisungen auf dem Bildschirm folgen, um Ihr „Benutzer1“-Passwort zu aktualisieren/bestätigen:

passwd user1

Nachdem Sie einen neuen Benutzer und das Passwort erstellt haben, ist es an der Zeit, den Benutzer der Gruppe sudo wheel hinzuzufügen. Sobald Sie sie in CentOS 7 zur sudo-Wheel-Gruppe hinzugefügt haben, werden ihnen automatisch sudo/root-Berechtigungen zugewiesen. Führen Sie den folgenden Befehl aus, um den Benutzer zur sudo-Wheel-Gruppe hinzuzufügen.

 gpasswd -a user1 wheel

Wenn Sie schließlich den Benutzer mit sudo/root-Berechtigungen erstellt haben, können Sie Ihre Sitzung beenden und sich wieder mit Ihrem „user1“ anmelden, um die vorgenommenen Änderungen zu überprüfen. Alternativ können Sie den folgenden Befehl ausführen und Benutzer von root auf „user1“ umstellen, wodurch Sie nach dem Namen des Benutzers gefragt werden.

su - user1

SSH-Zugriff konfigurieren

Port 22 ist der Standardport für Remote-Verbindungen über SSH in Linux-Systemen. Indem Sie den ssh-Port ändern, erhöhen Sie die Sicherheit Ihres Servers, indem Sie verhindern, dass Brute-Force-Angriffe und unerwünschte Benutzer Ihren Server über den Standardport erreichen. Für dieses Tutorial verwende ich Port 5022 als Beispiel.

Öffnen Sie Ihre SSH-Konfigurationsdatei, suchen Sie die Port-Zeile, entfernen Sie die # und ändern Sie die Nummer 22 in Ihren benutzerdefinierten Port. Speichern und beenden.

sudo vi /etc/ssh/sshd_config
#Port 22
Port 5022

Damit Ihr System die Einstellungen aus der SSH-Konfigurationsdatei aktualisiert, müssen wir sshd neu starten.

sudo systemctl restart sshd.service

SSH wurde jetzt für die Verwendung von Port 5022 konfiguriert, und wenn Sie versuchen, sich über Port 22 anzumelden, schlägt Ihre L-Gin fehl. Beenden Sie Ihre Sitzung jedoch nicht, da wir zuerst den benutzerdefinierten Port im Firewall-Konfigurationsteil konfigurieren müssen, den wir in den nächsten Schritten konfigurieren werden.

Root-Zugriff einschränken

Da wir einen neuen Nutzer mit Root-Berechtigungen überprüft und einen benutzerdefinierten SSH-Port erstellt haben, halten Sie den eigentlichen Root-Nutzer über SSH auf Ihrem Server verfügbar und angreifbar. Lassen Sie uns den Zugriff des Root-Benutzers auf den lokalen Server beschränken und dem neuen Benutzer die Berechtigung nur über SSH erteilen.

Öffnen Sie die SSH-Konfigurationsdatei, suchen Sie die PermitRootLogin-Zeile, entfernen Sie das # und ändern Sie es von yes in no.

sudo vi /etc/ssh/sshd_config
#PermitRootLogin yes
PermitRootLogin no

Damit Ihr System die neuen Einstellungen in der SSH-Konfigurationsdatei aktualisieren kann, müssen wir den sshd-Dienst neu starten.

sudo systemctl restart sshd.service

Hinweis:Sie haben jetzt den Root-Benutzer deaktiviert, um diese Änderungen vorzunehmen, also müssen Sie sich mit dem von Ihnen erstellten „Benutzer „Hut“ bei Ihrem Server anmelden. Beenden Sie Ihre Sitzung jedoch nicht; In den nächsten Schritten müssen wir den benutzerdefinierten Port auf der Firewall konfigurieren.

Erstellen Sie einen privaten SSH-Schlüssel

Private/Öffentliche SSH-Schlüssel sind großartige Zusatzfunktionen, die die Sicherheit in einer Servermethode erhöhen. Der Aufbau erfordert allerdings etwas mehr Aufwand. Die Frage ist, ist Ihr Server die zusätzliche Sicherheit wert? Wenn Sie die folgenden Sicherheitsfunktionen implementieren möchten, können Sie mit den nächsten Schritten fortfahren. Lassen Sie uns fortfahren und den SSH-Schlüssel generieren.

ssh-keygen

Wenn Sie den Ort ändern möchten, an dem der SSH-Schlüssel gespeichert wird, können Sie ihn hier angeben. Der Standardspeicherort sollte jedoch in Ordnung sein. Drücken Sie die Eingabetaste, wenn Sie mit der folgenden Frage aufgefordert werden, und geben Sie dann eine Passphrase ein, es sei denn, Sie möchten keine.

Enter file in which to save the key (/home/user1/.ssh/id_rsa):

Dies ist die Standardseite bei der Installation von SSH-Schlüsseln auf einem CentOS 7-Server

Die Konfiguration des SSH-Schlüssels ist entscheidend. Wir müssen die gesamte Schlüsselzeichenfolge in ein Word-/Notepad-Dokument kopieren. Der Schlüssel kann an der folgenden Stelle mit dem cat-Befehl angezeigt werden.

cat ~/.ssh/id_rsa.pub

Kopieren Sie den SSH-Schlüssel, der mit ssh-rsa beginnt und mit [email protected] endet, in ein Word-/Notepad-Dokument, um ihn später zur Konfigurationsdatei hinzuzufügen.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNcnc3pMOytM7xgwZHUX0Wi/O78hDvLUmQVtKn8Qk1ijBY82jVftKXKRhf8toNkgm9jaZmfapLa7ynzUG4jbFjyy8H+iEs1R8P7eu+e8/fmGwjorbMFuWdoi7h2CldoqKTdMEb/dMNxjNMzBbovl3XtZviQGm4/TMVO1hHxy85JR8zAtNFu7liaP7IonexNrOGhY8CjqRcBsceQLkl1MlX7cWaWAMqd6jQnAvggTLerI9P286AP8Sk4uColj7GKOljj8X6J/2pcjp9v2IvJOqwC/zLwUKZ6qTEV6SrfdbjopoCVvpXkVhmcbHX5Xv1gwynO+vTkpPFwVTjSnAai71L [email protected]

Sobald der SSH-Schlüssel sicher gespeichert ist, benötigt das Verzeichnis für die SSH-Schlüssel eingeschränkte Berechtigungen, die nur der Besitzer lesen, schreiben und die Datei ausführen kann.

chmod 700 .ssh

Innerhalb des SSH-Verzeichnisses muss eine Datei mit dem SSH-Schlüssel hinzugefügt werden, indem Sie einfach Ihren Editor (in diesem Fall VI) an folgendem Ort verwenden:

vi .ssh/authorized_keys

Fügen Sie den SSH-Schlüssel ein, speichern Sie ihn und beenden Sie ihn im VI-Format.

Schließlich müssen wir die Berechtigungen der gerade erstellten Datei „authorized_keys“ einschränken, sodass nur der Besitzer lesen und schreiben kann.

chmod 600 .ssh/authorized_keys

Wir könnten jetzt überprüfen, ob der Schlüssel funktioniert, indem wir die Sitzung schließen und [email protected] oder Ihre in Ihrer SSH-Konsole gehosteten Server eingeben. Darüber hinaus können Sie „hier“ klicken, um weitere Informationen in unserem Artikel Generieren und Verwenden von SSH-Schlüsseln zu erhalten.

Grundlegende Firewall-Regeln

sudo systemctl start firewalld

Als Nächstes fügen wir eine Regel hinzu, die es dem zuvor erstellten benutzerdefinierten SSH-Port 5022 ermöglicht, öffentlich auf den Server zuzugreifen. Gleichzeitig entfernen wir die vorherige Standardregel, die den SSH-Zugriff auf TCP/22 erlaubt.

sudo firewall-cmd --permanent --add-port=5022/tcp
sudo firewall-cmd --permanent --remove-service=ssh

Wenn Sie einen Webserver haben, möchten Sie möglicherweise den folgenden Regeln den Zugriff auf Ihre Websites über das Internet erlauben.

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

Sie können dies für ähnliche Regeln in Bezug auf alle Systeme verwenden, die öffentlich zugänglich sein sollen. Dieser Testserver ist zum Hosten einer Website und von E-Mail-Diensten eingerichtet, daher wurden zusätzlich zu den aktualisierten SSH- und HTTP(S)-Regeln zusätzliche Regeln für sicheres POP3, IMAP und SMTP hinzugefügt.

sudo firewall-cmd --permanent --add-service=pop3s
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --permanent --add-service=smtp

Damit Firewalld diese Einstellungen akzeptiert, müssen Sie die Firewall neu starten.

sudo firewall-cmd --reload

Ihre Einstellungen wurden gespeichert und Sie können fortfahren.
Um alle verfügbaren Dienste/Ports zu überprüfen, führen Sie Folgendes aus:

sudo firewall-cmd --permanent --list-all

Dies ist die Standardseite nach dem Konfigurieren der Firewalld-Regeln auf einem CentOS 7-Server

NTP-Zeitsynchronisierung

Das NTP (Network Time Protocol) wird verwendet, um die Uhrzeit und das Datum von Computern über das Netzwerk zu synchronisieren, um genau und aktuell zu bleiben. Beginnen wir mit der Installation des NTP (falls noch nicht geschehen) und der Konfiguration des Dienstes zur Synchronisierung mit ihren Servern.

sudo yum install ntp

Sobald der NTP-Dienst installiert ist, müssen wir sicherstellen, dass der Dienst eingeschaltet ist.

sudo systemctl start ntpd

Nachdem der Dienst gestartet wurde, aktivieren wir den NTP-Server, um die Server ständig vom NTP-Server zu aktualisieren.

sudo systemctl enable ntpd

Auslagerungsdatei hinzufügen

Eine Auslagerungsdatei ist einfach ein winziger Speicherplatz, der auf einer Serverfestplatte erstellt wird, um Ram zu simulieren. Wenn dem Server der Arbeitsspeicher ausgeht, wird er sich die Festplatte ansehen und die Last verringern, indem er das System dazu bringt, zu glauben, dass es mehr Arbeitsspeicher hat. Wir richten die Auslagerungsdatei auf der Festplatte ein, um die Leistung des Servers noch ein wenig zu steigern.

Überprüfen Sie zunächst Ihre Ressourcen, um sicherzustellen, dass wir die Datei hinzufügen können. Wenn Sie den folgenden Befehl ausführen, sehen Sie den prozentualen Speicherplatz auf Ihrer Festplatte, der derzeit belegt ist.

df -h

Beim Erstellen einer Auslagerungsdatei möchten Sie normalerweise die Hälfte Ihres vorhandenen Arbeitsspeichers auf 4 GB erweitern (wenn Sie tatsächlich 1 GB Arbeitsspeicher haben, fügen Sie eine 512 MB große Datei hinzu). In diesem Teil werde ich dem Laufwerk eine 512-MB-Auslagerungsdatei hinzufügen. Die Art und Weise, wie dies berechnet wird, ist 1024 x 512 MB =524288 Blockgröße.

sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288

Nachdem wir nun eine Auslagerungsdatei hinzugefügt haben, muss ein Bereich erstellt werden, um fortzufahren.

sudo mkswap /swapfile

Nachdem die Auslagerungsdatei erstellt und der Bereich Auslagerungsdatei hinzugefügt wurde, können wir der Datei Berechtigungen hinzufügen, sodass nur der Besitzer lesen und schreiben kann.

sudo chown root:root /swapfile
sudo chmod 0600 /swapfile

Da die Auslagerungsdatei nun über die entsprechenden Berechtigungen verfügt, können wir fortfahren und sie aktivieren.

sudo swapon /swapfile

Sie können Ihre neu hinzugefügte Auslagerungsdatei wie folgt überprüfen.

sudo swapon -s

Damit die Auslagerungsdatei auch nach einem Neustart immer aktiv ist, müssen wir sie entsprechend konfigurieren.

sudo vi /etc/fstab

Fügen Sie den folgenden Befehl am Ende der Datei ein, speichern Sie Ihre Arbeit und beenden Sie.

/swapfile              swap   swap     defaults     0 0

Überprüfen Sie abschließend, ob Ihre Auslagerungsdatei aktiviert ist, indem Sie den folgenden Befehl eingeben:

free -m

Dies ist die Standardseite nach dem Erstellen einer Auslagerungsdatei auf einem CentOS 7-Server

Was kommt als Nächstes?

Damit haben Sie jetzt einen Server mit einer starken Sicherheitsgrundlage, der Ihnen die Gewissheit gibt, dass Ihr Server geschützt ist. Sie können nun mit dem Aufbau Ihrer Plattform nach Ihren Bedürfnissen fortfahren. Vielen Dank, dass Sie uns folgen, und zögern Sie nicht, uns für weitere Updates zu kontaktieren.

Erfahren Sie mehr über unsere VPS-Hosting-Services und den VPS-Hosting-Preis.


Linux
  1. So richten Sie einen SFTP-Server unter CentOS ein

  2. So richten Sie einen SysLog-Server unter CentOS 7 / RHEL 7 ein

  3. So richten Sie den NFS-Server unter CentOS 7 / RHEL 7 ein

  4. So richten Sie die MySQL-Replikation unter CentOS ein

  5. So installieren Sie VSFTPD auf einem CentOS-Cloud-Server

CentOS 8 – Ersteinrichtung des Servers

Gewusst wie:Ersteinrichtung des Ubuntu 15.04-Servers

Gewusst wie:Ersteinrichtung des Fedora 21-Servers

Gewusst wie:Ersteinrichtung des Debian 8.2-Servers

Ersteinrichtung des Servers mit Ubuntu 18.04

So richten Sie HAProxy unter CentOS 8 ein