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
- 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.
- A Mega Guide to harden and Secure RHEL 7 – 1. rész
- 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.