Éischt Server Setup a Konfiguratiounen op RHEL 7


An dësem Tutorial wäerte mir déi éischt Konfiguratiounsschrëtt diskutéieren, déi Dir braucht fir no enger frëscher Installatioun vu Red Hat Enterprise Linux 7 op engem Bare Metal-Server oder op engem Virtual Private Server ze këmmeren.

  1. RHEL 7 Minimal Installatioun

Wichteg: CentOS 7 Benotzer, kënnen dësen Artikel verfollegen fir en Initial Server Setup op CentOS 7 ze maachen.

Update RHEL 7 System

Am éischte Schrëtt loggt Iech op Är RHEL Server Konsole mat engem Kont mat Root Privilegien oder direkt als Root a lafen de Kommando ënnen fir Är Systemkomponenten komplett ze aktualiséieren, sou wéi déi installéiert Pakete, de Kernel oder aner Sécherheetspatches uwenden.

# yum check-update
# yum update

Fir all lokal erofgeluede Packagen an aner verwandte YUM Cache ze läschen, fuert de Kommando hei ënnen aus.

# yum clean all

Installéiert System Utilities op RHEL 7

Dës folgend Utilities kënne sech als nëtzlech beweisen fir alldeeglech Systemverwaltung: Nano (Texteditor fir lsof ze ersetzen (Utilities fir lokal Netzwierker ze managen) a Bash-Complete (Autocomplete Kommandozeil).

Installéiert se all an engem Shot andeems Dir de Kommando hei ënnen ausféiert.

# yum install nano wget curl net-tools lsof bash-completion

Setup Networking am RHEL 7

RHEL 7 huet eng breet Palette vun Tools, déi kënne benotzt ginn fir d'Netzwierk ze konfiguréieren an ze verwalten, vun der manueller Redaktioun vun der Netzkonfiguratiounsdatei fir Kommandoen wéi nmcli oder Route ze benotzen.

Deen einfachsten Utility en Ufänger ka benotzen fir Netzwierkkonfiguratiounen ze managen an z'änneren ass nmtui grafesch Kommandozeil.

Fir de System Hostnumm iwwer nmtui Utility z'änneren, fuert den nmtui-Hostname Kommando aus, setzt Äre Maschinn Hostnumm a dréckt OK fir ofzeschléissen, wéi am Screenshot hei ënnen illustréiert.

# nmtui-hostname

Fir en Netzwierkinterface ze manipuléieren, fuert nmtui-edit Kommando aus, wielt den Interface deen Dir wëllt änneren a wielt Änneren aus dem richtege Menü, wéi am Screenshot hei ënnen gewisen.

Sidd Dir an der grafescher Interface geliwwert vum nmtui Utility, kënnt Dir d'Netzwierk-Interface IP-Astellunge konfiguréieren wéi am Screenshot hei ënnen illustréiert. Wann Dir fäerdeg sidd, navigéiert op OK andeems Dir [Tab] Schlëssel benotzt fir d'Konfiguratioun ze späicheren an opzehalen.

Fir d'Netzwierkinterface nei Konfiguratioun z'applizéieren, fuert den nmtui-connect Kommando aus, wielt den Interface deen Dir wëllt verwalten a klickt op Deaktivéieren/Aktivéieren Optioun fir d'Interface mat den IP-Astellungen ze decommissionéieren an eropzesetzen, wéi an de Screenshots hei ënnendrënner presentéiert.

# nmtui-connect

Fir d'Netzwierk-Interface-Astellungen ze gesinn, kënnt Dir den Inhalt vun der Interface-Datei iwwerpréiwen oder Dir kënnt déi folgend Kommandoen ausginn.

# ifconfig enp0s3
# ip a
# ping -c2 google.com

Aner nëtzlech Utilities déi benotzt kënne fir Geschwindegkeet ze managen, Linkzoustand oder Informatioun iwwer Maschinnennetzschnëttplazen ze kréien sinn ethtool a mii-Tool.

# ethtool enp0s3
# mii-tool enp0s3

Erstellt neie Benotzerkont

Op de nächste Schrëtt, wärend Dir als Root op Ärem Server ageloggt sidd, erstellt en neie Benotzer mam Kommando ënnen. Dëse Benotzer gëtt spéider benotzt fir an Ärem System aloggen an administrativ Aufgaben auszeféieren.

# adduser tecmint_user

Nodeems Dir de Benotzer mat dem uewe genannte Kommando bäigefüügt hutt, setzt e staarkt Passwuert fir dëse Benotzer op andeems Dir de Kommando hei ënnen ausgitt.

# passwd tecmint_user

A Fäll wou Dir dësen neie Benotzer forcéiere wëllt säi Passwuert beim éischte Umeldungsversuch z'änneren, fuert de Kommando hei ënnen aus.

# chage -d0 tecmint_user

Dësen neie Benotzerkont mat huet reegelméisseg Kontoprivilegien fir de Moment a kann net administrativ Aufgaben iwwer sudo Kommando ausféieren.

Fir d'Benotzung vum Root-Kont fir administrativ Privilegien ze vermeiden, gitt dësen neie Benotzer mat administrativen Privilegien andeems Dir de Benotzer op d'Rad Systemgrupp bäidréit.

D'Benotzer, déi zu der Rad Grupp gehéieren, sinn erlaabt, Par défaut an RHEL, Kommandoen mat Root Privilegien auszeféieren andeems Dir de Sudo Utility benotzt ier Dir de Kommando schreift fir d'Ausféierung ze schreiwen.

Zum Beispill, fir de Benotzer \tecmint_user an \Rad\ Grupp ze addéieren, fuert de Kommando hei ënnen aus.

# usermod -aG wheel tecmint_user

Duerno, loggt Iech un de System mam neie Benotzer a probéiert de System iwwer de Kommando sudo yum update ze aktualiséieren fir ze testen ob de Benotzer Rootmuecht huet.

# su - tecmint_user
$ sudo yum update

SSH Public Key Authentifikatioun op RHEL 7 konfiguréieren

Op de nächste Schrëtt fir Är RHEL Serve Sécherheet ze erhéijen, konfiguréiert SSH ëffentlech Schlëssel Authentifikatioun fir den neie Benotzer. Fir e SSH Key Pair ze generéieren, den ëffentlechen a private Schlëssel, fuert de folgende Kommando op Ärer Serverkonsole aus. Vergewëssert Iech datt Dir an de System ageloggt sidd mam Benotzer deen Dir den SSH Schlëssel opstellt.

# su - tecmint_user
$ ssh-keygen -t RSA

Wärend de Schlëssel generéiert gëtt, gitt Dir opgefuerdert Passphrase derbäi ze ginn fir de Schlëssel ze sécheren. Dir kënnt e staarke Passphrase aginn oder wielen de Passphrase eidel ze loossen wann Dir Aufgaben iwwer SSH Server automatiséieren wëllt.

Nodeems de SSH Schlëssel generéiert gouf, kopéiert de ëffentleche Schlësselpaar op e Fernserver andeems Dir de Kommando hei ënnen ausféiert. Fir den ëffentleche Schlëssel op den Remote SSH Server z'installéieren, brauch Dir e Benotzerkont deen Umeldungsinformatiounen huet fir op dee Server aloggen.

$ ssh-copy-id [email 

Elo sollt Dir probéieren iwwer SSH op de Remote-Server aloggen mat dem private Schlëssel als Authentifikatiounsmethod. Dir sollt fäeg sinn automatesch aloggen ouni den SSH Server fir e Passwuert ze froen.

$ ssh [email 

Fir den Inhalt vun Ärem ëffentleche SSH Schlëssel ze gesinn, wann Dir de Schlëssel manuell op e wäitem SSH Server installéiere wëllt, gitt de folgende Kommando aus.

$ cat ~/.ssh/id_rsa

Séchert SSH op RHEL 7

Fir den SSH Daemon ze sécheren an de Remote SSH Zougang zum Root Kont iwwer Passwuert oder Schlëssel ze verzichten, oppen SSH Server Haaptkonfiguratiounsdatei a maacht déi folgend Ännerungen.

$ sudo vi /etc/ssh/sshd_config

Sich no der Linn #PermitRootLogin jo, decommentéiert d'Linn andeems Dir den # Schëld (Hashtag) vum Ufank vun der Linn erofhuelt a ännert d'Linn sou datt se am Auszich hei ënnen ausgesinn.

PermitRootLogin no

Duerno starten den SSH-Server nei fir déi nei Astellungen z'applizéieren an d'Konfiguratioun ze testen andeems Dir probéiert op dëse Server mat dem Root-Kont aloggen. Den Zougang zum Rootkonto iwwer SSH sollt bis elo limitéiert sinn.

$ sudo systemctl restart sshd

Et gi Situatiounen wou Dir wëllt automatesch all Remote SSH Verbindungen op Äre Server no enger Period vun Inaktivitéit trennen.

Fir dës Feature systemwäit z'aktivéieren, fuert de Kommando hei ënnen aus, deen d'TMOUT Bash Variabel an d'Haaptbashrc Datei bäidréit an all SSH Verbindung forcéiert no 5 Minutte vun Inaktivitéit ze trennen oder erof ze falen.

$ su -c 'echo "TMOUT=300" >> /etc/bashrc'

Run Schwanz Kommando fir ze kontrolléieren ob d'Variabel um Enn vun der /etc/bashrc Datei korrekt bäigefüügt gouf. All spéider SSH Verbindunge ginn automatesch no 5 Minutten Inaktivitéit vun elo un zougemaach.

$ tail /etc/bashrc

Am ënneschten Screenshot ass d'Remote SSH Sessioun vun drupal Maschinn op RHEL Server automatesch no 5 Minutten ausloggen.

Firewall op RHEL 7 konfiguréieren

Am nächste Schrëtt konfiguréieren d'Firewall fir de System weider um Netzniveau ze sécheren. RHEL 7 schéckt mat Firewalld Applikatioun fir iptables Regelen um Server ze managen.

Als éischt, gitt sécher datt d'Firewall an Ärem System leeft andeems Dir de Kommando hei ënnen ausgitt. Wann de Firewalld Daemon gestoppt ass, sollt Dir et mam folgendem Kommando starten.

$ sudo systemctl status firewalld
$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld

Wann d'Firewall aktivéiert ass an an Ärem System leeft, kënnt Dir de Firewall-cmd Kommandozeil Utility benotzen fir d'Firewall Politikinformatioun ze setzen an de Traffic op e puer spezifesch Netzwierkporten z'erméiglechen, wéi SSH Daemon, Verbindung mat engem internen Webserver oder aner. verbonne Reseau Servicer.

Well mer elo just e SSH-Daemon an eisem Server lafen, kënne mir d'Firewall-Politik upassen fir den Traffic fir den SSH Serviceport z'erméiglechen andeems Dir de folgende Kommando ausstellt.

$ sudo firewall-cmd --add-service=ssh --permanent
$ sudo firewall-cmd --reload

Fir eng Firewall-Regel on-Fly ze addéieren, ouni d'Regel d'nächst Kéier wann de Server gestart gëtt, benotzt déi folgend Kommandosyntax.

$ sudo firewall-cmd --add-service=sshd

Wann Dir aner Netzwierkservicer an Ärem Server installéiert, wéi HTTP-Server, e Mail-Server oder aner Netzwierkservicer, kënnt Dir Reegelen addéieren fir déi spezifesch Verbindungen wéi follegt z'erméiglechen.

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

Fir all Firewall Regelen ze lëschten, fuert de Kommando ënnen.

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

Ewechzehuelen onnéideg Servicer am RHEL 7

Fir eng Lëscht vun all Netzwierkservicer (TCP an UDP) ze kréien, déi am Standard op Ärem RHEL-Server lafen, gitt de Kommando ss, wéi illustréiert an der folgender Probe.

$ sudo ss -tulpn

De ss Kommando wäert e puer interessant Servicer weisen, déi am Standard an Ärem System gestart a lafen, sou wéi de Postfix Master Service an de Server verantwortlech fir den NTP Protokoll.

Wann Dir net plangt dëse Server e Mail-Server ze konfiguréieren, sollt Dir de Postfix-Daemon stoppen, deaktivéieren an ewechhuelen andeems Dir déi folgend Kommandoen ausgëtt.

$ sudo systemctl stop postfix.service 
$ sudo yum remove postfix

Viru kuerzem goufen et e puer béis DDOS Attacken iwwer NTP Protokoll gemellt. Am Fall wou Dir net plangt Äre RHEL-Server ze konfiguréieren fir als NTP-Server ze lafen fir intern Clienten Zäit mat dësem Server ze synchroniséieren, sollt Dir de Chrony-Daemon komplett auszeschalten an ewechhuelen andeems Dir déi folgend Kommandoen ausgëtt.

$ sudo systemctl stop chronyd.service 
$ sudo yum remove chrony

Nach eng Kéier, lafen ss Kommando fir z'identifizéieren ob aner Netzwierkservicer an Ärem System lafen a se auszeschalten an ewechhuelen.

$ sudo ss -tulpn

Fir déi genau Zäit fir Äre Server ze bidden an d'Zäit mat engem ieweschte Peer-Server ze synchroniséieren, kënnt Dir den ntpdate Utility installéieren an d'Zäit mat engem ëffentlechen NTP-Server synchroniséieren, andeems Dir déi folgend Kommandoen ausféiert.

$ sudo yum install ntpdate
$ sudo ntpdate 0.uk.pool.ntp.org

Fir den ntpdate Time Synchronize Kommando ze automatiséieren fir all Dag ouni Benotzerinterventioun auszeféieren, plangt eng nei Crontab Job fir Mëtternuecht mat dem folgenden Inhalt ze lafen.

$ sudo crontab -e

Crontab Datei Extrait:

@daily /usr/sbin/ntpdate 0.uk.pool.ntp.org

Dat ass alles! Elo ass Äre RHEL Server bereet fir zousätzlech Software z'installéieren déi néideg ass fir personaliséiert Netzwierkservicer oder Uwendungen, sou wéi d'Installatioun an d'Konfiguratioun vun engem Webserver, e Datebankserver, e File Share Service oder aner spezifesch Uwendungen.

Fir weider sécher an haarden RHEL 7 Server, kontrolléieren aus dëse folgenden Artikelen.

  1. De Mega Guide Fir RHEL 7 ze härden an ze sécheren - Deel 1
  2. De Mega Guide Fir RHEL 7 ze härden an ze sécheren - Deel 2

Wann Dir plangt Websäiten op dësem RHEL 7 System z'installéieren, léiert wéi Dir LEMP Stack konfiguréiert an konfiguréiert.