Serija RHCSA: Zaščita SSH, nastavitev imena gostitelja in omogočanje omrežnih storitev - 8. del
Kot skrbnik sistema se boste pogosto morali prijaviti v oddaljene sisteme za izvajanje različnih skrbniških nalog z uporabo emulatorja terminala. Redko boste sedeli pred resničnim (fizičnim) terminalom, zato morate nastaviti način oddaljene prijave na stroje, s katerimi boste morali upravljati.
Pravzaprav je to morda zadnja stvar, ki jo boste morali narediti pred fizičnim terminalom. Iz varnostnih razlogov uporaba Telneta v ta namen ni dobra ideja, saj ves promet poteka po žici v nešifriranem, navadnem besedilu.
Poleg tega bomo v tem članku pregledali tudi, kako konfigurirati omrežne storitve, da se samodejno zaženejo ob zagonu, in se naučili, kako statično ali dinamično nastaviti ločljivost omrežja in imen gostiteljev.
Namestitev in zavarovanje SSH komunikacije
Da se boste lahko na daljavo prijavili v polje RHEL 7 s pomočjo SSH, boste morali namestiti pakete openssh, openssh-client in openssh-servers. Naslednji ukaz ne bo namestil le programa za oddaljeno prijavo, temveč tudi orodje za varen prenos datotek in pripomoček za oddaljeno kopiranje datotek:
# yum update && yum install openssh openssh-clients openssh-servers
Upoštevajte, da je dobro namestiti ustrezne strežnike, saj boste morda kdaj želeli uporabiti isti računalnik kot odjemalec in strežnik.
Po namestitvi je nekaj osnovnih stvari, ki jih morate upoštevati, če želite zagotoviti oddaljen dostop do SSH strežnika. V datoteki /etc/ssh/sshd_config
bi morale biti naslednje nastavitve.
1. Spremenite vrata, na katerih bo poslušal demon sshd, z 22 (privzeta vrednost) na visoka vrata (2000 ali več), vendar najprej preverite, ali izbrana vrata niso uporabljena.
Recimo, da ste na primer izbrali vrata 2500. Uporabite netstat, da preverite, ali se izbrana vrata uporabljajo:
# netstat -npltu | grep 2500
Če netstat ne vrne ničesar, lahko varno uporabite vrata 2500 za sshd in nastavitev vrat v konfiguracijski datoteki spremenite na naslednji način:
Port 2500
2. Dovoli samo protokol 2:
Protocol 2
3. Konfigurirajte čas preverjanja pristnosti na 2 minuti, ne dovolite korenskih prijav in omejite na minimum seznam uporabnikov, ki se lahko prijavijo prek ssh:
LoginGraceTime 2m PermitRootLogin no AllowUsers gacanepa
4. Če je mogoče, namesto preverjanja pristnosti gesla uporabite ključ:
PasswordAuthentication no RSAAuthentication yes PubkeyAuthentication yes
To predpostavlja, da ste na odjemalskem računalniku že ustvarili par ključev z vašim uporabniškim imenom in ga kopirali na strežnik, kot je razloženo tukaj.
- Omogočite prijavo brez gesla SSH
Konfiguriranje omrežja in ločljivosti imen
1. Vsak sistemski skrbnik bi moral biti dobro seznanjen z naslednjimi sistemsko konfiguracijskimi datotekami:
- /etc/hosts se uporablja za razreševanje imen <---> IP-jev v majhnih omrežjih.
Vsaka vrstica v datoteki /etc/hosts
ima naslednjo strukturo:
IP address - Hostname - FQDN
Na primer
192.168.0.10 laptop laptop.gabrielcanepa.com.ar
2. /etc/resolv.conf
določa naslove IP strežnikov DNS in iskalno domeno, ki se uporablja za izpolnjevanje določenega imena poizvedbe do popolnoma kvalificiranega imena domene, če ni podana nobena pripona domene.
V običajnih okoliščinah vam ni treba urejati te datoteke, saj jo upravlja sistem. Če pa želite spremeniti strežnike DNS, morate v vsaki vrstici upoštevati naslednjo strukturo:
nameserver - IP address
Na primer
nameserver 8.8.8.8
3. 3. /etc/host.conf
določa metode in vrstni red razreševanja imen gostiteljev znotraj omrežja. Z drugimi besedami, razreševalniku imen pove, katere storitve naj uporabljajo in v kakšnem vrstnem redu.
Čeprav ima ta datoteka več možnosti, najpogostejša in osnovna nastavitev vključuje naslednjo vrstico:
order bind,hosts
Kar pomeni, da mora razreševalnik najprej poiskati strežnike imen, določene v resolv.conf
, nato pa datoteko /etc/hosts
za razrešitev imen.
4. /etc/sysconfig/network
vsebuje usmerjanje in informacije o globalnem gostitelju za vse omrežne vmesnike. Uporabijo se lahko naslednje vrednosti:
NETWORKING=yes|no HOSTNAME=value
Kjer bi morala biti vrednost popolnoma kvalificirano ime domene (FQDN).
GATEWAY=XXX.XXX.XXX.XXX
Kjer je XXX.XXX.XXX.XXX naslov IP prehoda omrežja.
GATEWAYDEV=value
V napravi z več NIC-ji je vrednost prehodna naprava, kot je enp0s3.
5. Datoteke v /etc/sysconfig/network-scripts
(konfiguracijske datoteke omrežnih vmesnikov).
V prej omenjenem imeniku boste našli več poimenovanih navadnih besedilnih datotek.
ifcfg-name
Kjer je ime ime NIC, ki ga vrne ip link show:
Na primer:
Razen za povratni vmesnik lahko pričakujete podobno konfiguracijo za vaše NIC-je. Upoštevajte, da bodo nekatere spremenljivke, če so nastavljene, preglasile tiste, ki so prisotne v /etc/sysconfig/network
za ta vmesnik. Vsaka vrstica je pojasnjena v tem članku, v dejanski datoteki pa se izogibajte komentarjem:
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
Nastavitev imen gostiteljev
V Red Hat Enterprise Linux 7 se ukaz hostnamectl uporablja tako za poizvedbo kot za nastavitev imena gostitelja sistema.
Če želite prikazati trenutno ime gostitelja, vnesite:
# hostnamectl status
Če želite spremeniti ime gostitelja, uporabite
# hostnamectl set-hostname [new hostname]
Na primer
# hostnamectl set-hostname cinderella
Da bodo spremembe začele veljati, boste morali znova zagnati demona z imenom gostitelja (tako se vam za uveljavitev spremembe ne bo treba odjaviti in znova vklopiti):
# systemctl restart systemd-hostnamed
Poleg tega RHEL 7 vključuje tudi pripomoček nmcli, ki se lahko uporablja za isti namen. Če želite prikazati ime gostitelja, zaženite:
# nmcli general hostname
in ga spremeniti:
# nmcli general hostname [new hostname]
Na primer
# nmcli general hostname rhel7
Zagon omrežnih storitev pri zagonu
Za zaključek poglejmo, kako lahko zagotovimo, da se omrežne storitve samodejno zaženejo ob zagonu. Preprosto rečeno, to naredimo tako, da ustvarimo simbolne povezave do določenih datotek, določenih v razdelku [Namesti] v konfiguracijskih datotekah storitve.
V primeru požarnega zidu (/usr/lib/systemd/system/firewalld.service):
[Install] WantedBy=basic.target Alias=dbus-org.fedoraproject.FirewallD1.service
Če želite omogočiti storitev:
# systemctl enable firewalld
Po drugi strani pa onemogočanje požarnega zidu omogoča odstranitev povezav:
# systemctl disable firewalld
Zaključek
V tem članku smo povzeli, kako namestiti in zavarovati povezave prek SSH s strežnikom RHEL, kako spremeniti njegovo ime in na koncu, kako zagotoviti, da se omrežne storitve zaženejo ob zagonu. Če opazite, da se določena storitev ni zagnala pravilno, lahko za odpravljanje težav uporabite systemctl status -l [service] in journalctl -xn.
Sporočite nam, kaj mislite o tem članku, tako da uporabite spodnji obrazec za komentar. Tudi vprašanja so dobrodošla. Veselimo se vaših odzivov!