RHCSA serija: SSH apsauga, pagrindinio kompiuterio pavadinimo nustatymas ir tinklo paslaugų įgalinimas – 8 dalis


Kaip sistemos administratorius dažnai turėsite prisijungti prie nuotolinių sistemų, kad galėtumėte atlikti įvairias administravimo užduotis naudodami terminalo emuliatorių. Retai sėdėsite prie tikro (fizinio) terminalo, todėl turite nustatyti būdą, kaip nuotoliniu būdu prisijungti prie aparatų, kuriuos jūsų bus paprašyta valdyti.

Tiesą sakant, tai gali būti paskutinis dalykas, kurį turėsite padaryti priešais fizinį terminalą. Saugumo sumetimais šiuo tikslu naudoti Telnet nėra gera idėja, nes visas srautas laidu perduodamas nešifruotu paprastu tekstu.

Be to, šiame straipsnyje taip pat apžvelgsime, kaip sukonfigūruoti tinklo paslaugas, kad jos prasidėtų automatiškai paleidžiant, ir sužinosime, kaip statiškai arba dinamiškai nustatyti tinklo ir pagrindinio kompiuterio vardo skiriamąją gebą.

SSH ryšio diegimas ir apsauga

Kad galėtumėte nuotoliniu būdu prisijungti prie RHEL 7 dėžutės naudodami SSH, turėsite įdiegti openssh, openssh -clients ir openssh-servers paketai. Ši komanda ne tik įdiegs nuotolinio prisijungimo programą, bet ir saugaus failų perdavimo įrankį, taip pat nuotolinio failų kopijavimo įrankį:


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

Atminkite, kad verta įdiegti serverio analogus, nes galbūt norėsite tam tikru ar kitu metu naudoti tą patį įrenginį ir kaip klientą, ir kaip serverį.

Įdiegę yra keli pagrindiniai dalykai, į kuriuos reikia atsižvelgti, jei norite apsaugoti nuotolinę prieigą prie SSH serverio. Šie nustatymai turėtų būti pateikti /etc/ssh/sshd_config faile.

1. Pakeiskite prievadą, kuriame sshd demonas klausys, iš 22 (numatytoji vertė) į aukštą prievadą (2000 ar daugiau), bet pirmiausia įsitikinkite, kad pasirinktas prievadas nenaudojamas.

Pavyzdžiui, tarkime, kad pasirinkote prievadą 2500. Norėdami patikrinti, ar pasirinktas prievadas naudojamas, ar ne, naudokite netstat:


netstat -npltu | grep 2500

Jei netstat nieko nepateikia, galite saugiai naudoti sshd prievadą 2500 ir konfigūracijos faile turėtumėte pakeisti prievado nustatymą taip:


Port 2500

2. Leisti tik 2 protokolą:


Protocol 2

3. Konfigūruokite autentifikavimo skirtąjį laiką iki 2 minučių, neleiskite root prisijungimų ir iki minimumo apribokite vartotojų, kuriems leidžiama prisijungti per ssh, sąrašą:


LoginGraceTime 2m
PermitRootLogin no
AllowUsers gacanepa

4. Jei įmanoma, naudokite raktą, o ne slaptažodžio autentifikavimą:


PasswordAuthentication no
RSAAuthentication yes
PubkeyAuthentication yes

Tai daroma prielaida, kad jau sukūrėte raktų porą su savo vartotojo vardu savo kliento kompiuteryje ir nukopijavote ją į serverį, kaip paaiškinta čia.

  1. Įgalinti SSH prisijungimą be slaptažodžio

Tinklo ir vardo skyros konfigūravimas

1. Kiekvienas sistemos administratorius turi būti gerai susipažinęs su šiais visos sistemos konfigūracijos failais:

  1. /etc/hosts naudojamas pavadinimams <---> nustatyti IP mažuose tinkluose.

Kiekviena failo /etc/hosts eilutė turi tokią struktūrą:


IP address - Hostname - FQDN

Pavyzdžiui,


192.168.0.10	laptop	laptop.gabrielcanepa.com.ar

2. /etc/resolv.conf nurodo DNS serverių IP adresus ir paieškos domeną, kuris naudojamas užpildyti užklausos pavadinimą į visiškai kvalifikuotą domeno pavadinimą, kai nepateikiamas domeno priesagas.

Įprastomis aplinkybėmis šio failo redaguoti nereikia, nes jį tvarko sistema. Tačiau jei norite pakeisti DNS serverius, atminkite, kad kiekvienoje eilutėje turite laikytis šios struktūros:


nameserver - IP address

Pavyzdžiui,


nameserver 8.8.8.8

3. 3. /etc/host.conf nurodo metodus ir tvarką, pagal kurią tinkle nustatomi prieglobos pavadinimai. Kitaip tariant, nurodo vardų sprendėjui, kokias paslaugas naudoti ir kokia tvarka.

Nors šiame faile yra kelios parinktys, dažniausiai ir pagrindinėje sąrankoje yra tokia eilutė:


order bind,hosts

Tai rodo, kad sprendiklis pirmiausia turi ieškoti vardų serveriuose, nurodytuose resolv.conf, o tada – faile /etc/hosts, kad nustatytų pavadinimą.

4. /etc/sysconfig/network yra visų tinklo sąsajų maršruto ir visuotinės prieglobos informacija. Gali būti naudojamos šios reikšmės:


NETWORKING=yes|no
HOSTNAME=value

Kur vertė turėtų būti visiškai kvalifikuotas domeno vardas (FQDN).


GATEWAY=XXX.XXX.XXX.XXX

Kur XXX.XXX.XXX.XXX yra tinklo šliuzo IP adresas.


GATEWAYDEV=value

Įrenginyje su keliais NIC reikšmė yra šliuzo įrenginys, pvz., enp0s3.

5. Failai, esantys /etc/sysconfig/network-scripts (tinklo adapterių konfigūracijos failai).

Anksčiau minėtame kataloge rasite keletą pavadintų paprasto teksto failų.


ifcfg-name

Kur pavadinimas yra NIC pavadinimas, grąžintas ip nuorodos rodymas:

Pavyzdžiui:

Išskyrus grįžimo sąsają, galite tikėtis panašios NIC konfigūracijos. Atminkite, kad kai kurie kintamieji, jei jie bus nustatyti, nepaisys tų, kurie yra /etc/sysconfig/network šioje konkrečioje sąsajoje. Šiame straipsnyje kiekviena eilutė komentuojama siekiant paaiškinimo, tačiau faktiniame faile turėtumėte vengti komentarų:


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

Pagrindinių kompiuterių vardų nustatymas

Red Hat Enterprise Linux 7 komanda hostnamectl naudojama užklausai pateikti ir sistemos pagrindinio kompiuterio pavadinimui nustatyti.

Norėdami parodyti dabartinį pagrindinio kompiuterio pavadinimą, įveskite:


hostnamectl status

Norėdami pakeisti pagrindinio kompiuterio pavadinimą, naudokite


hostnamectl set-hostname [new hostname]

Pavyzdžiui,


hostnamectl set-hostname cinderella

Kad pakeitimai įsigaliotų, turėsite iš naujo paleisti hostnamed demoną (tokiu būdu jums nereikės atsijungti ir vėl prisijungti, kad pritaikytumėte pakeitimą):


systemctl restart systemd-hostnamed

Be to, RHEL 7 taip pat apima nmcli paslaugų programą, kurią galima naudoti tuo pačiu tikslu. Norėdami parodyti pagrindinio kompiuterio pavadinimą, paleiskite:


nmcli general hostname

ir pakeisti:


nmcli general hostname [new hostname]

Pavyzdžiui,


nmcli general hostname rhel7

Tinklo paslaugų paleidimas paleidžiant

Baigdami pažiūrėkime, kaip galime užtikrinti, kad tinklo paslaugos būtų paleidžiamos automatiškai. Paprastais žodžiais tariant, tai daroma sukuriant nuorodas į tam tikrus failus, nurodytus paslaugos konfigūracijos failų skiltyje [Įdiegti].

Jei naudojate firewall (/usr/lib/systemd/system/firewall.service):


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

Norėdami įjungti paslaugą:


systemctl enable firewalld

Kita vertus, užkardos išjungimas suteikia teisę pašalinti simbolius:


systemctl disable firewalld

Išvada

Šiame straipsnyje apibendrinome, kaip įdiegti ir apsaugoti ryšius per SSH su RHEL serveriu, kaip pakeisti jo pavadinimą ir galiausiai, kaip užtikrinti, kad tinklo paslaugos būtų paleistos batas. Jei pastebite, kad tam tikra paslauga nepavyko tinkamai paleisti, galite naudoti systemctl status -l [service] ir journalctl -xn, kad pašalintumėte triktis.

Nedvejodami praneškite mums, ką manote apie šį straipsnį, naudodami toliau pateiktą komentarų formą. Klausimai taip pat laukiami. Lauksime jūsų žinučių!