RHCSA serija: Osiguravanje SSH-a, postavljanje imena hosta i omogućavanje mrežnih usluga - 8. dio


Kao administrator sustava, često ćete se morati prijaviti na udaljene sustave kako biste izvršavali razne administrativne zadatke pomoću emulatora terminala. Rijetko ćete sjediti ispred pravog (fizičkog) terminala, pa morate postaviti način daljinske prijave na strojeve kojima ćete morati upravljati.

Zapravo je to možda posljednja stvar koju ćete morati učiniti ispred fizičkog terminala. Iz sigurnosnih razloga korištenje Telneta u tu svrhu nije dobra ideja, jer sav promet prolazi žicom u nešifriranom, običnom tekstu.

Pored toga, u ovom ćemo članku pregledati i kako konfigurirati mrežne usluge da se automatski pokreću prilikom pokretanja te naučiti kako statički ili dinamički postaviti razlučivost mreže i imena hosta.

Instaliranje i osiguravanje SSH komunikacije

Da biste se mogli daljinski prijaviti na okvir RHEL 7 pomoću SSH-a, morat ćete instalirati pakete openssh, openssh-klijenti i openssh-serveri. Sljedeća naredba ne samo da će instalirati program za daljinsku prijavu, već i alat za siguran prijenos datoteka, kao i uslužni program za udaljeno kopiranje datoteka:

# yum update && yum install openssh openssh-clients openssh-servers

Imajte na umu da je dobra ideja instalirati odgovarajuće poslužitelje jer u određenom trenutku možda želite koristiti isti stroj kao i klijent i poslužitelj.

Nakon instalacije, postoji nekoliko osnovnih stvari koje morate uzeti u obzir ako želite osigurati daljinski pristup svom SSH poslužitelju. Sljedeće postavke trebaju biti prisutne u datoteci /etc/ssh/sshd_config .

1. Promijenite priključak na kojem će sshd demon slušati s 22 (zadana vrijednost) na visoki priključak (2000 ili veći), ali prvo provjerite da li se odabrani port ne koristi.

Na primjer, pretpostavimo da ste odabrali port 2500. Upotrijebite netstat kako biste provjerili koristi li se izabrani port ili ne:

# netstat -npltu | grep 2500

Ako netstat ne vrati ništa, možete sigurno koristiti port 2500 za sshd, a postavku Vrata u konfiguracijskoj datoteci trebali biste promijeniti na sljedeći način:

Port 2500

2. Dopustite samo protokol 2:

Protocol 2

3. Konfigurirajte vremensko ograničenje provjere autentičnosti na 2 minute, ne dopustite root prijave i ograničite na minimum popis korisnika kojima je dopuštena prijava putem ssh:

LoginGraceTime 2m
PermitRootLogin no
AllowUsers gacanepa

4. Ako je moguće, umjesto autentifikacije lozinkom upotrijebite ključ:

PasswordAuthentication no
RSAAuthentication yes
PubkeyAuthentication yes

To pretpostavlja da ste već stvorili par ključeva sa svojim korisničkim imenom na klijentskom stroju i kopirali ga na svoj poslužitelj kako je ovdje objašnjeno.

  1. Omogućite SSH prijavu bez lozinke

Konfiguriranje umrežavanja i razlučivanja imena

1. Svaki administrator sustava trebao bi biti dobro upoznat sa sljedećim konfiguracijskim datotekama za cijeli sustav:

  1. /etc/hosts koristi se za rješavanje imena <---> IP-ova u malim mrežama.

Svaki redak u datoteci /etc/hosts ima sljedeću strukturu:

IP address - Hostname - FQDN

Na primjer,

192.168.0.10	laptop	laptop.gabrielcanepa.com.ar

2. /etc/resolv.conf navodi IP adrese DNS poslužitelja i domenu pretraživanja, koja se koristi za popunjavanje datog naziva upita u potpuno kvalificirano ime domene kada nije naveden sufiks domene.

U normalnim okolnostima ne trebate uređivati ovu datoteku jer njome upravlja sustav. Međutim, ako želite promijeniti DNS poslužitelje, imajte na umu da se u svakom retku morate pridržavati sljedeće strukture:

nameserver - IP address

Na primjer,

nameserver 8.8.8.8

3. 3. /etc/host.conf određuje metode i redoslijed kojim se nazivi hostova razrješavaju unutar mreže. Drugim riječima, rješavaču imena govori koje usluge koristiti i kojim redoslijedom.

Iako ova datoteka ima nekoliko mogućnosti, najčešće i osnovno postavljanje uključuje sljedeći redak:

order bind,hosts

Što ukazuje na to da bi razrješivač prvo trebao potražiti poslužitelje imena navedene u resolv.conf , a zatim u datoteku /etc/hosts za razrješenje imena.

4. /etc/sysconfig/network sadrži usmjeravanje i informacije o globalnom hostu za sva mrežna sučelja. Mogu se koristiti sljedeće vrijednosti:

NETWORKING=yes|no
HOSTNAME=value

Gdje bi vrijednost trebala biti potpuno kvalificirano ime domene (FQDN).

GATEWAY=XXX.XXX.XXX.XXX

Gdje je XXX.XXX.XXX.XXX IP adresa mrežnog prolaza.

GATEWAYDEV=value

U stroju s više NIC-ova vrijednost je gateway uređaj, kao što je enp0s3.

5. Datoteke unutar /etc/sysconfig/network-scripts (datoteke konfiguracije mrežnih prilagodnika).

Unutar prethodno spomenutog direktorija pronaći ćete nekoliko nazvanih datoteka s običnim tekstom.

ifcfg-name

Gdje je ime naziv NIC-a kako ga vraća ip link show:

Na primjer:

Osim za povratno sučelje, možete očekivati sličnu konfiguraciju za vaše mrežne kartice. Imajte na umu da će neke varijable, ako su postavljene, nadjačati one prisutne u /etc/sysconfig/network za ovo određeno sučelje. Svaki je redak komentiran radi pojašnjenja u ovom članku, ali u stvarnoj datoteci trebali biste izbjegavati komentare:

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

Postavljanje imena hostova

U Red Hat Enterprise Linuxu 7 naredba hostnamectl koristi se za postavljanje upita i postavljanje imena hosta sustava.

Za prikaz trenutnog imena hosta upišite:

# hostnamectl status

Da biste promijenili ime hosta, upotrijebite

# hostnamectl set-hostname [new hostname]

Na primjer,

# hostnamectl set-hostname cinderella

Da bi promjene stupile na snagu, morat ćete ponovno pokrenuti demon s imenom hosta (na taj način se nećete morati odjaviti i ponovno prijavljivati da biste primijenili promjenu):

# systemctl restart systemd-hostnamed

Uz to, RHEL 7 također uključuje uslužni program nmcli koji se može koristiti u istu svrhu. Da biste prikazali ime hosta, pokrenite:

# nmcli general hostname

i da ga promijenimo:

# nmcli general hostname [new hostname]

Na primjer,

# nmcli general hostname rhel7

Pokretanje mrežnih usluga pri pokretanju

Da završimo, pogledajmo kako možemo osigurati da se mrežne usluge automatski pokreću prilikom pokretanja. Jednostavno rečeno, to se postiže stvaranjem simboličnih veza do određenih datoteka navedenih u odjeljku [Instaliranje] konfiguracijskih datoteka usluge.

U slučaju vatrozida (/usr/lib/systemd/system/firewalld.service):

[Install]
WantedBy=basic.target
Alias=dbus-org.fedoraproject.FirewallD1.service

Da biste omogućili uslugu:

# systemctl enable firewalld

S druge strane, onemogućavanje vatrozida omogućuje uklanjanje simboličnih veza:

# systemctl disable firewalld

Zaključak

U ovom smo članku saželi kako instalirati i osigurati veze putem SSH-a na RHEL poslužitelj, kako promijeniti njegovo ime i na kraju kako osigurati pokretanje mrežnih usluga prilikom pokretanja. Ako primijetite da se određena usluga nije uspjela pravilno pokrenuti, možete upotrijebiti systemctl status -l [service] i journalctl -xn da biste je riješili.

Slobodno nas obavijestite što mislite o ovom članku pomoću obrasca za komentar u nastavku. Pitanja su također dobrodošla. Radujemo se vašem javljanju!