RHCSA sorozat: SSH védelme, gazdagépnév beállítása és hálózati szolgáltatások engedélyezése – 8. rész
Rendszergazdaként gyakran be kell jelentkeznie távoli rendszerekre, hogy terminálemulátor segítségével különféle adminisztrációs feladatokat hajtson végre. Ritkán ülhet valódi (fizikai) terminál előtt, ezért be kell állítania egy módot, hogy távolról bejelentkezzen azokra a gépekre, amelyek kezelésére felkérik.
Valójában ez lehet az utolsó dolog, amit meg kell tennie egy fizikai terminál előtt. Biztonsági okokból nem jó ötlet a Telnet használata erre a célra, mivel az összes forgalom titkosítatlan, egyszerű szövegben halad át a vezetéken.
Ezenkívül ebben a cikkben azt is áttekintjük, hogyan lehet beállítani a hálózati szolgáltatásokat úgy, hogy azok automatikusan induljanak el rendszerindításkor, és megtanuljuk, hogyan kell statikusan vagy dinamikusan beállítani a hálózat és a gazdagépnév felbontását.
SSH kommunikáció telepítése és biztosítása
Ahhoz, hogy távolról tudjon bejelentkezni egy RHEL 7 dobozba SSH használatával, telepítenie kell az openssh, openssh -clients és openssh-servers csomagok. A következő parancs nem csak a távoli bejelentkezési programot telepíti, hanem a biztonságos fájlátviteli eszközt, valamint a távoli fájlmásoló segédprogramot is:
yum update && yum install openssh openssh-clients openssh-servers
Vegye figyelembe, hogy jó ötlet a kiszolgáló megfelelőinek telepítése, mivel előfordulhat, hogy bizonyos pontokon ugyanazt a gépet szeretné használni kliensként és kiszolgálóként is.
A telepítés után néhány alapvető dolgot figyelembe kell vennie, ha biztonságos távoli hozzáférést szeretne biztosítani SSH-kiszolgálójához. A következő beállításoknak szerepelniük kell az /etc/ssh/sshd_config
fájlban.
1. Módosítsa azt a portot, amelyen az sshd démon figyelni fog, 22-ről (az alapértelmezett érték) magas portra (2000 vagy nagyobb), de először győződjön meg arról, hogy a kiválasztott portot nem használja.
Tegyük fel például, hogy a 2500 portot választja. A netstat segítségével ellenőrizze, hogy a kiválasztott port használatban van-e vagy sem:
netstat -npltu | grep 2500
Ha a netstat nem ad vissza semmit, nyugodtan használhatja a 2500 portot az sshd-hez, és módosítania kell a port beállítást a konfigurációs fájlban az alábbiak szerint:
Port 2500
2. Csak a 2. protokoll engedélyezése:
Protocol 2
3. Állítsa be a hitelesítési időt 2 percre, ne engedélyezze a root bejelentkezést, és korlátozza minimálisra az ssh-n keresztül bejelentkező felhasználók listáját:
LoginGraceTime 2m
PermitRootLogin no
AllowUsers gacanepa
4. Ha lehetséges, használjon kulcsalapú hitelesítést jelszavas hitelesítés helyett:
PasswordAuthentication no
RSAAuthentication yes
PubkeyAuthentication yes
Ez azt feltételezi, hogy már létrehozott egy kulcspárt a felhasználói nevével az ügyfélgépen, és az itt leírtak szerint átmásolta a szerverére.
- Engedélyezze az SSH jelszó nélküli bejelentkezést
A hálózatkezelés és a névfelbontás konfigurálása
1. Minden rendszergazdának jól ismernie kell a következő rendszerszintű konfigurációs fájlokat:
- Az /etc/hosts a nevek <---> IP-címeinek feloldására szolgál kis hálózatokban.
Az /etc/hosts
fájl minden sorának szerkezete a következő:
IP address - Hostname - FQDN
Például,
192.168.0.10 laptop laptop.gabrielcanepa.com.ar
2. Az /etc/resolv.conf
a DNS-kiszolgálók IP-címét és a keresési tartományt határozza meg, amely egy adott lekérdezésnév kiegészítésére szolgál egy teljesen minősített tartománynévhez, amikor nincs megadva domain utótag.
Normál körülmények között nem kell szerkesztenie ezt a fájlt, mivel azt a rendszer kezeli. Ha azonban módosítani szeretné a DNS-kiszolgálókat, vegye figyelembe, hogy minden sorban ragaszkodnia kell a következő struktúrához:
nameserver - IP address
Például,
nameserver 8.8.8.8
3. 3. Az /etc/host.conf
meghatározza azokat a módszereket és sorrendet, amelyek szerint a gépnevek feloldása a hálózaton belül történik. Más szóval, megmondja a névfeloldónak, hogy mely szolgáltatásokat és milyen sorrendben használja.
Bár ennek a fájlnak több opciója is van, a leggyakoribb és alapvető beállítás a következő sort tartalmazza:
order bind,hosts
Ez azt jelzi, hogy a feloldónak először a resolv.conf
fájlban megadott névszervereket, majd az /etc/hosts
fájlt kell keresnie a névfeloldáshoz.
4. A /etc/sysconfig/network
az összes hálózati interfészhez tartalmaz útválasztási és globális gazdagépinformációkat. A következő értékek használhatók:
NETWORKING=yes|no
HOSTNAME=value
Ahol az érték a Fully Qualified Domain Name (FQDN) legyen.
GATEWAY=XXX.XXX.XXX.XXX
Ahol XXX.XXX.XXX.XXX a hálózat átjárójának IP-címe.
GATEWAYDEV=value
Több hálózati kártyával rendelkező gépen az érték az átjáróeszköz, például az enp0s3.
5. Az /etc/sysconfig/network-scripts
fájlok (hálózati adapterek konfigurációs fájljai).
A korábban említett könyvtárban számos egyszerű szöveges fájl található.
ifcfg-name
Ahol a név a hálózati kártyának az ip link show által visszaadott neve:
Például:
A visszahurkolt felületen kívül hasonló konfigurációra számíthat a hálózati kártyák esetében. Ne feledje, hogy bizonyos változók, ha be vannak állítva, felülírják az /etc/sysconfig/network
fájlban található változókat az adott interfész esetében. Ebben a cikkben minden sor megjegyzést kapott a pontosítás érdekében, de a tényleges fájlban kerülje a megjegyzéseket:
HWADDR=08:00:27:4E:59:37 # The MAC address of the NIC
TYPE=Ethernet # Type of connection
BOOTPROTO=static # This indicates that this NIC has been assigned a static IP. If this variable was set to dhcp, the NIC will be assigned an IP address by a DHCP server and thus the next two lines should not be present in that case.
IPADDR=192.168.0.18
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
NM_CONTROLLED=no # Should be added to the Ethernet interface to prevent NetworkManager from changing the file.
NAME=enp0s3
UUID=14033805-98ef-4049-bc7b-d4bea76ed2eb
ONBOOT=yes # The operating system should bring up this NIC during boot
Gazdanevek beállítása
A Red Hat Enterprise Linux 7 rendszerben a hostnamectl parancs a rendszer gazdagépnevének lekérdezésére és beállítására szolgál.
Az aktuális gazdagépnév megjelenítéséhez írja be:
hostnamectl status
A gazdagépnév megváltoztatásához használja a
hostnamectl set-hostname [new hostname]
Például,
hostnamectl set-hostname cinderella
A módosítások életbe léptetéséhez újra kell indítania a hostnamed démont (így nem kell ki- és bejelentkeznie a változtatás alkalmazásához):
systemctl restart systemd-hostnamed
Ezenkívül az RHEL 7 tartalmazza az nmcli segédprogramot is, amely ugyanerre a célra használható. A gazdagépnév megjelenítéséhez futtassa:
nmcli general hostname
és megváltoztatni:
nmcli general hostname [new hostname]
Például,
nmcli general hostname rhel7
A hálózati szolgáltatások indítása rendszerindításkor
Végezetül nézzük meg, hogyan biztosíthatjuk, hogy a hálózati szolgáltatások rendszerindításkor automatikusan elinduljanak. Egyszerűen fogalmazva, ez a szolgáltatás konfigurációs fájlok [Telepítés] szakaszában megadott bizonyos fájlokhoz mutató hivatkozások létrehozásával történik.
tűzfal esetén (/usr/lib/systemd/system/firewall.service):
[Install]
WantedBy=basic.target
Alias=dbus-org.fedoraproject.FirewallD1.service
A szolgáltatás engedélyezéséhez:
systemctl enable firewalld
Másrészt a tűzfal letiltása feljogosítja a szimbolikus hivatkozások eltávolítására:
systemctl disable firewalld
Következtetés
Ebben a cikkben összefoglaltuk, hogyan telepítsünk és biztosítsunk kapcsolatokat SSH-on keresztül egy RHEL-kiszolgálóhoz, hogyan változtassuk meg a nevét, és végül hogyan biztosítsuk, hogy a hálózati szolgáltatások elinduljanak csomagtartó. Ha azt észleli, hogy egy bizonyos szolgáltatás nem indult el megfelelően, a systemctl status -l [szolgáltatás] és a journalctl -xn használatával elháríthatja a hibaelhárítást.
Nyugodtan ossza meg velünk, mit gondol erről a cikkről az alábbi megjegyzés űrlap segítségével. Kérdéseket is szívesen fogadunk. Várom válaszukat!