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