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.
- 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:
- /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!