Weboldal keresés

A kiszolgáló kezdeti beállítása és konfigurációi az RHEL 7-en


Ebben az oktatóanyagban megvitatjuk azokat az első konfigurációs lépéseket, amelyekről gondoskodnia kell a Red Hat Enterprise Linux 7 új telepítése után egy fémszerveren vagy egy virtuális magánkiszolgálón.

Követelmények

  1. RHEL 7 Minimális telepítés

Fontos: A CentOS 7-felhasználók ezt a cikket követve elvégezhetik a kiszolgáló kezdeti beállítását a CentOS 7 rendszeren.

Frissítse az RHEL 7 rendszert

Első lépésben jelentkezzen be az RHEL szerverkonzolba root jogosultságokkal rendelkező fiókkal vagy közvetlenül root felhasználóként, és futtassa az alábbi parancsot a rendszerösszetevők, például a telepített csomagok, a kernel teljes frissítéséhez. vagy alkalmazzon más biztonsági javításokat.

yum check-update
yum update

Az összes helyileg letöltött csomag és más kapcsolódó YUM gyorsítótár eltávolításához hajtsa végre az alábbi parancsot.

yum clean all

Telepítse a System Utilities programokat az RHEL 7-re

A következő segédprogramok hasznosnak bizonyulhatnak a napi rendszeradminisztrációhoz: nano (szövegszerkesztő a vi szerkesztő helyére), wget, curl (csomagok letöltésére használt segédprogramok többnyire hálózaton keresztül) net-tools, lsof (helyi hálózatkezelési segédprogramok) és bash-completion (parancssori automatikus kiegészítés).

Telepítse mindet egy mozdulattal az alábbi parancs végrehajtásával.


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

Állítsa be a hálózatot az RHEL 7-ben

Az RHEL 7 számos eszközzel rendelkezik, amelyekkel konfigurálható és kezelhető a hálózat, a hálózati konfigurációs fájl kézi szerkesztésétől az olyan parancsokig, mint az ip, ifconfig, nmtui, nmcli vagy route.

A kezdők számára a legegyszerűbb segédprogram a hálózati konfigurációk kezelésére és módosítására az nmtui grafikus parancssor.

A rendszer gazdagépnevének megváltoztatásához az nmtui segédprogrammal, hajtsa végre az nmtui-hostname parancsot, állítsa be a gép állomásnevét, és nyomja meg az OK gombot a befejezéshez, az ábrán látható módon. az alábbi képernyőképen.


nmtui-hostname

A hálózati interfész manipulálásához hajtsa végre az nmtui-edit parancsot, válassza ki a szerkeszteni kívánt felületet, és válassza a szerkesztés lehetőséget a jobb oldali menüből, ahogy az alábbi képernyőképen látható.

Ha már az nmtui segédprogram által biztosított grafikus felületen van, beállíthatja a hálózati interfész IP-beállításait az alábbi képernyőképen látható módon. Ha végzett, navigáljon az OK elemre a [tab] billentyűvel a konfiguráció mentéséhez és a kilépéshez.

A hálózati interfész új konfigurációjának alkalmazásához hajtsa végre az nmtui-connect parancsot, válassza ki a kezelni kívánt interfészt, és nyomja meg a Deaktiválás/aktiválás lehetőséget a leállításhoz és a felemelkedéshez. az IP-beállításokkal rendelkező interfész, az alábbi képernyőképek szerint.


nmtui-connect

A hálózati interfész beállításainak megtekintéséhez megtekintheti az interfész fájl tartalmát, vagy kiadhatja az alábbi parancsokat.


ifconfig enp0s3
ip a
ping -c2 google.com

További hasznos segédprogramok, amelyek a sebesség, a kapcsolat állapotának kezelésére vagy a gépi hálózati interfészekkel kapcsolatos információk megszerzésére használhatók, az ethtool és a mii-tool.


ethtool enp0s3
mii-tool enp0s3

Új felhasználói fiók létrehozása

A következő lépésben, miközben root felhasználóként van bejelentkezve a kiszolgálóra, hozzon létre egy új felhasználót az alábbi paranccsal. Ezt a felhasználót később a rendszerbe való bejelentkezéshez és adminisztrációs feladatok elvégzéséhez használjuk.

adduser tecmint_user

Miután hozzáadta a felhasználót a fenti paranccsal, állítson be erős jelszót ehhez a felhasználóhoz az alábbi parancs kiadásával.

passwd tecmint_user

Azokban az esetekben, amikor az új felhasználót az első bejelentkezési kísérletkor jelszómódosításra szeretné kényszeríteni, hajtsa végre az alábbi parancsot.

chage -d0 tecmint_user

Ez az új felhasználói fiók jelenleg szokásos fiókjogosultságokkal rendelkezik, és nem tud adminisztratív feladatokat végrehajtani a sudo paranccsal.

Annak elkerülése érdekében, hogy a root fiókot adminisztrátori jogosultságok végrehajtására használják, adjon rendszergazdai jogosultságokat az új felhasználónak úgy, hogy hozzáadja a felhasználót a „kerék” rendszercsoporthoz.

A „wheel” csoporthoz tartozó felhasználók az RHEL-ben alapértelmezés szerint root jogosultságokkal futtathatnak parancsokat a sudo segédprogrammal, mielőtt megírnák a végrehajtáshoz szükséges parancsot.

Például a „tecmint_user” felhasználó „wheel” csoporthoz való hozzáadásához hajtsa végre az alábbi parancsot.

usermod -aG wheel tecmint_user

Ezt követően jelentkezzen be a rendszerbe az új felhasználóval, és próbálja meg frissíteni a rendszert a „sudo yum update” paranccsal, hogy tesztelje, hogy a felhasználó rendelkezik-e root jogosultsággal.

su - tecmint_user
sudo yum update

Állítsa be az SSH nyilvános kulcsú hitelesítést az RHEL 7-en

A következő lépésben az RHEL szolgáltatás biztonságának növelése érdekében konfigurálja az SSH nyilvános kulcsú hitelesítést az új felhasználó számára. SSH-kulcspár, a nyilvános és privát kulcs létrehozásához hajtsa végre a következő parancsot a szerverkonzolon. Győződjön meg arról, hogy azzal a felhasználóval jelentkezett be a rendszerbe, akivel beállítja az SSH-kulcsot.

su - tecmint_user
ssh-keygen -t RSA

Amíg a kulcs létrejön, a rendszer kéri, hogy adja meg a jelszót a kulcs biztonsága érdekében. Megadhat egy erős jelszót, vagy üresen hagyhatja a jelszót, ha SSH-kiszolgálón keresztül szeretné automatizálni a feladatokat.

Az SSH-kulcs létrehozása után másolja a nyilvános kulcspárt egy távoli kiszolgálóra az alábbi parancs végrehajtásával. A nyilvános kulcs távoli SSH-kiszolgálóra való telepítéséhez olyan felhasználói fiókra lesz szüksége, amely rendelkezik a kiszolgálóra való bejelentkezéshez szükséges hitelesítési adatokkal.

ssh-copy-id [email 

Most meg kell próbálnia SSH-n keresztül bejelentkezni a távoli kiszolgálóra a privát kulcs használatával hitelesítési módszerként. Automatikusan be kell tudnia jelentkezni anélkül, hogy az SSH-kiszolgáló jelszót kérne.

ssh [email 

A nyilvános SSH-kulcs tartalmának megtekintéséhez, ha manuálisan szeretné telepíteni a kulcsot egy távoli SSH-kiszolgálóra, adja ki a következő parancsot.

cat ~/.ssh/id_rsa

Biztonságos SSH az RHEL 7-en

Az SSH-démon védelméhez és a távoli SSH-hozzáférés letiltásához a root fiókhoz jelszóval vagy kulccsal, nyissa meg az SSH-kiszolgáló fő konfigurációs fájlját, és hajtsa végre a következő módosításokat.

sudo vi /etc/ssh/sshd_config

Keresse meg a #PermitRootLogin yes sort, törölje a sor megjegyzését a # jel (hashtag) eltávolításával a sor elejéről, és módosítsa a sort úgy, hogy az az alábbiak szerint nézzen ki kivonat.

PermitRootLogin no

Ezután indítsa újra az SSH-kiszolgálót az új beállítások alkalmazásához, és tesztelje a konfigurációt úgy, hogy megpróbál bejelentkezni erre a kiszolgálóra a root fiókkal. A root fiókhoz való hozzáférést SSH-n keresztül mostanra korlátozni kell.

sudo systemctl restart sshd

Vannak olyan helyzetek, amikor bizonyos inaktivitás után automatikusan meg kell szakítania az összes távoli SSH-kapcsolatot a szerverrel.

Ennek a funkciónak a rendszerszintű engedélyezéséhez hajtsa végre az alábbi parancsot, amely hozzáadja a TMOUT bash változót a fő bashrc fájlhoz, és minden SSH-kapcsolat megszakítását vagy megszakítását kényszeríti. 5 perc inaktivitás után kilép.

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

Futtassa a tail parancsot, hogy ellenőrizze, hogy a változó megfelelően lett-e hozzáadva az /etc/bashrc fájl végéhez. Ezentúl minden további SSH-kapcsolat automatikusan bezárul 5 perc inaktivitás után.

tail /etc/bashrc

Az alábbi képernyőképen a távoli SSH munkamenet a drupal gépről az RHEL szerverre automatikusan kijelentkezett 5 perc után.

Konfigurálja a tűzfalat az RHEL 7-en

A következő lépésben konfigurálja a tűzfalat a rendszer további hálózati szintű biztonsága érdekében. Az RHEL 7-t tűzfalalkalmazással szállítják az iptables szabályok kezelésére a szerveren.

Először ellenőrizze, hogy a tűzfal fut-e a rendszerben az alábbi parancs kiadásával. Ha a Firewalld démon leáll, indítsa el a következő paranccsal.

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

Ha a tűzfal engedélyezve van, és fut a rendszerben, a firewall-cmd parancssori segédprogrammal beállíthatja a tűzfal házirend-információit, és engedélyezheti a forgalmat bizonyos hálózati portokhoz, például az SSH-démonhoz. belső webszerverre vagy más kapcsolódó hálózati szolgáltatásokra.

Mivel jelenleg csak egy SSH-démon fut a szerverünkön, a következő parancs kiadásával beállíthatjuk a tűzfal házirendjét, hogy engedélyezze az SSH szolgáltatási portok forgalmát.

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

Ha a kiszolgáló következő indításakor tűzfalszabályt szeretne felvenni, anélkül, hogy a szabályt alkalmazná, használja az alábbi parancsszintaxist.

sudo firewall-cmd --add-service=sshd

Ha más hálózati szolgáltatásokat, például HTTP-kiszolgálót, levelezőkiszolgálót vagy egyéb hálózati szolgáltatásokat telepít a kiszolgálóra, szabályokat adhat meg az adott kapcsolatok engedélyezéséhez az alábbiak szerint.

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

Az összes tűzfalszabály felsorolásához futtassa az alábbi parancsot.

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

Távolítsa el a szükségtelen szolgáltatásokat az RHEL 7-ben

Az RHEL-kiszolgálón alapértelmezés szerint futó hálózati szolgáltatások (TCP és UDP) listájának megtekintéséhez adja ki az ss parancsot az alábbi minta szerint.

sudo ss -tulpn

Az ss parancs felfed néhány érdekes szolgáltatást, amelyek alapértelmezés szerint elindulnak és futnak a rendszerben, például a Postfix főszolgáltatást és az NTP-protokollért felelős szervert.

Ha nem tervezi ezt a szervert levelezőszervernek konfigurálni, állítsa le, tiltsa le és távolítsa el a Postfix démont az alábbi parancsok kiadásával.

sudo systemctl stop postfix.service 
sudo yum remove postfix

A közelmúltban néhány csúnya DDOS támadásról számoltak be az NTP protokollon keresztül. Abban az esetben, ha nem tervezi úgy konfigurálni az RHEL-kiszolgálót, hogy NTP-kiszolgálóként fusson, hogy a belső kliensek szinkronizálhassák az időt ezzel a szerverrel, akkor az alábbi parancsok kiadásával teljesen le kell tiltania és el kell távolítania a Chrony démont.

sudo systemctl stop chronyd.service 
sudo yum remove chrony

Ismét futtassa az ss parancsot, hogy megállapítsa, futnak-e más hálózati szolgáltatások a rendszerben, majd tiltsa le és távolítsa el azokat.

sudo ss -tulpn

Annak érdekében, hogy pontos időt biztosítson a szervere számára, és szinkronizálja az időt egy magasabb időbeli társszerverrel, telepítheti az ntpdate segédprogramot, és az alábbi parancsok végrehajtásával szinkronizálhatja egy nyilvános NTP-kiszolgálóval.

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

Az ntpdate time synchronize parancs mindennapi, felhasználói beavatkozás nélkül történő végrehajtásának automatizálásához ütemezzen egy új crontab feladatot, amely éjfélkor fut a következő tartalommal.

sudo crontab -e

Crontab fájl kivonat:

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

Ez minden! Mostantól az Ön RHEL-kiszolgálója felkészült az egyéni hálózati szolgáltatásokhoz vagy alkalmazásokhoz szükséges további szoftverek telepítésére, például webszerver, adatbázis-kiszolgáló, fájlmegosztó szolgáltatás vagy más speciális alkalmazások telepítésére és konfigurálására.

Az RHEL 7 szerver további biztonságosabbá tételéhez és megerősítéséhez olvassa el az alábbi cikkeket.

  1. A Mega Guide to harden and Secure RHEL 7 – 1. rész
  2. A Mega Guide to harden and Secure RHEL 7 – 2. rész

Ha webhelyeket szeretne telepíteni ezen az RHEL 7 rendszeren, tanulja meg a LAMP verem vagy a LEMP verem beállítását és konfigurálását.