RHCSA seeria: SSH turvalisus, hostinime määramine ja võrguteenuste lubamine - 8. osa


Süsteemiadministraatorina peate terminali emulaatori abil mitmesuguste haldusülesannete täitmiseks sageli kaugsüsteemidesse sisse logima. Istute harva tõelise (füüsilise) terminali ees, seega peate seadistama kaugsisselogimise viisi masinatesse, mida teil palutakse hallata.

Tegelikult võib see olla viimane asi, mida peate füüsilise terminali ees tegema. Turvakaalutlustel pole Telneti kasutamine sel eesmärgil hea mõte, kuna kogu liiklus käib traadi kaudu krüpteerimata, lihttekstina.

Lisaks vaatleme selles artiklis ka seda, kuidas võrguteenuseid konfigureerida nii, et need käivituksid automaatselt käivitamisel, ning õpime võrgu- ja hosti nime eraldamise seadistamist staatiliselt või dünaamiliselt.

SSH-side installimine ja turvamine

Selleks, et saaksite SSH abil RHEL 7 kasti sisse logida, peate installima paketid openssh, openssh-clients ja openssh-serverid. Järgmine käsk mitte ainult ei installi kaugsisselogimisprogrammi, vaid ka turvalise failiedastuse tööriista ja ka failide kaugkopeerimise utiliidi:

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

Pange tähele, et serveri kolleegide installimine on hea mõte, kuna võite ühel või teisel hetkel kasutada sama masinat nii kliendi kui serveriga.

Pärast installimist on paar põhilist asja, mida peate arvestama, kui soovite oma SSH-serveri kaugjuurdepääsu kindlustada. Järgmised sätted peaksid olema failis /etc/ssh/sshd_config .

1. Muutke port, mida sshd deemon kuulab, väärtusest 22 (vaikeväärtus) kõrgeks (2000 või rohkem), kuid kõigepealt veenduge, et valitud porti ei kasutataks.

Oletame näiteks, et valisite pordi 2500. Kasutage netstat, et kontrollida, kas valitud porti kasutatakse või mitte:

# netstat -npltu | grep 2500

Kui netstat ei tagasta midagi, saate sshd jaoks turvaliselt kasutada porti 2500 ja peaksite konfiguratsioonifailis sätet Port muutma järgmiselt:

Port 2500

2. Lubage ainult protokoll 2:

Protocol 2

3. Konfigureerige autentimise ajalõpp 2 minutiks, ärge lubage juur-sisselogimist ja piirake miinimumini nende kasutajate loendit, kellel on lubatud sisse logida ssh-i kaudu:

LoginGraceTime 2m
PermitRootLogin no
AllowUsers gacanepa

4. Võimaluse korral kasutage parooli autentimise asemel võtmepõhist:

PasswordAuthentication no
RSAAuthentication yes
PubkeyAuthentication yes

See eeldab, et olete juba oma kliendiseadmes oma kasutajanimega võtmepaari loonud ja selle oma serverisse kopeerinud, nagu siin selgitatud.

  1. Lubage SSH-i paroolita sisselogimine

Võrguühenduse ja nime eraldusvõime konfigureerimine

1. Iga süsteemiadministraator peaks olema hästi kursis järgmiste kogu süsteemi hõlmavate konfiguratsioonifailidega:

  1. /etc/hosts kasutatakse nimede <---> IP-de lahendamiseks väikestes võrkudes.

Igal faili /etc/hosts real on järgmine struktuur:

IP address - Hostname - FQDN

Näiteks,

192.168.0.10	laptop	laptop.gabrielcanepa.com.ar

2. /etc/resolv.conf määrab DNS-serverite IP-aadressid ja otsingu domeeni, mida kasutatakse antud päringunime lõpuleviimiseks täielikult kvalifitseeritud domeeninimeks, kui domeeni järelliidet pole saadaval.

Tavaolukorras ei pea te seda faili muutma, kuna seda haldab süsteem. Kui soovite siiski DNS-servereid muuta, soovitame teil igal real järgida järgmist struktuuri:

nameserver - IP address

Näiteks,

nameserver 8.8.8.8

3. 3. /etc/host.conf määrab meetodid ja järjekorra, mille abil hostinimed võrgus lahendatakse. Teisisõnu ütleb nimi resolver, milliseid teenuseid kasutada ja mis järjekorras.

Kuigi sellel failil on mitu võimalust, sisaldab kõige tavalisem ja põhiline seadistamine järgmist rida:

order bind,hosts

Mis näitab, et lahendaja peaks kõigepealt otsima nimeservereid, mis on määratletud jaotises resolv.conf , ja seejärel faili /etc/hosts nime lahendamiseks.

4. /etc/sysconfig/network sisaldab marsruutimist ja üldist hostiteavet kõigi võrguliideste jaoks. Võib kasutada järgmisi väärtusi:

NETWORKING=yes|no
HOSTNAME=value

Kus väärtus peaks olema täielikult kvalifitseeritud domeeninimi (FQDN).

GATEWAY=XXX.XXX.XXX.XXX

Kus XXX.XXX.XXX.XXX on võrgu lüüsi IP-aadress.

GATEWAYDEV=value

Mitme NIC-ga masinas on väärtus lüüsiseade, näiteks enp0s3.

5. Failid /etc/sysconfig/network-scripts (võrguadapterite konfiguratsioonifailid).

Eelnevalt mainitud kataloogi seest leiate mitu nimega lihtsat teksti faili.

ifcfg-name

Kui nimi on ip-lingi kaudu tagastatud võrguvõrgu nimi, näidake järgmist:

Näiteks:

Välja arvatud loopback-liides, võite oodata oma võrgukeskuste sarnast konfiguratsiooni. Pange tähele, et mõned muutujad, kui need on määratud, alistavad selle konkreetse liidese /etc/sysconfig/network -is olevad. Kõiki ridu kommenteeritakse selle artikli selgitamiseks, kuid tegelikus failis peaksite kommentaare vältima:

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

Hostnimede määramine

Red Hat Enterprise Linux 7-s kasutatakse käsku hostnamectl nii süsteemi hostinime päringute esitamiseks kui ka seadistamiseks.

Praeguse hosti nime kuvamiseks tippige:

# hostnamectl status

Hosti nime muutmiseks kasutage

# hostnamectl set-hostname [new hostname]

Näiteks,

# hostnamectl set-hostname cinderella

Muudatuste jõustumiseks peate taaskäivitama hostinimelise deemoni (nii ei pea te muudatuse rakendamiseks välja ja uuesti sisse logima):

# systemctl restart systemd-hostnamed

Lisaks sisaldab RHEL 7 ka nmcli utiliiti, mida saab kasutada samal eesmärgil. Hostinime kuvamiseks käivitage:

# nmcli general hostname

ja selle muutmiseks:

# nmcli general hostname [new hostname]

Näiteks,

# nmcli general hostname rhel7

Võrguteenuste käivitamine alglaadimisel

Kokkuvõtteks vaadakem, kuidas saaksime tagada, et võrguteenused käivitatakse käivitamisel automaatselt. Lihtsamalt öeldes tehakse seda, luues sümbolilingid teatud failidele, mis on määratud teenuse konfiguratsioonifailide jaotises [Install].

Tulemüüri (/usr/lib/systemd/system/firewalld.service) korral:

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

Teenuse lubamiseks toimige järgmiselt.

# systemctl enable firewalld

Teisest küljest annab tulemüüri keelamine õiguse sümbolilinkide eemaldamiseks:

# systemctl disable firewalld

Järeldus

Selles artiklis oleme kokku võtnud, kuidas SSH kaudu RHEL-serveriga ühendusi installida ja kaitsta, kuidas muuta selle nime ja lõpuks tagada, et võrguteenused käivitatakse käivitamisel. Kui märkate, et teatud teenust ei õnnestunud õigesti käivitada, võite selle tõrkeotsinguks kasutada systemctl status -l [teenus] ja journalctl -xn.

Andke meile julgelt teada, mida te sellest artiklist arvate, kasutades allolevat kommentaarivormi. Samuti on teretulnud küsimused. Ootame teid huviga!