Pradinė serverio sąranka ir RHEL 7 konfigūracijos


Šioje pamokoje aptarsime pirmuosius konfigūravimo veiksmus, kuriais turėsite pasirūpinti iš naujo įdiegus „Red Hat Enterprise Linux 7“ ant pliko metalo serverio arba virtualiame asmeniniame serveryje.

  1. „RHEL 7“ minimalus diegimas

Svarbu: „CentOS 7“ vartotojai gali sekti šį straipsnį ir atlikti pradinę serverio sąranką „CentOS 7“.

Atnaujinkite „RHEL 7“ sistemą

Pirmiausia prisijunkite prie savo RHEL serverio konsolės naudodami paskyrą su root teisėmis arba tiesiogiai kaip root ir paleiskite žemiau esančią komandą, kad galėtumėte visiškai atnaujinti sistemos komponentus, pvz., Įdiegtus paketus, branduolį arba pritaikyti kitus saugos pataisas.

# yum check-update
# yum update

Norėdami pašalinti visus vietoje atsisiųstus paketus ir kitas susijusias YUM talpyklas, vykdykite žemiau pateiktą komandą.

# yum clean all

Įdiekite „System Utilities“ į „RHEL 7“

Šios programos gali būti naudingos kasdieniniam sistemos administravimui: „nano“ (teksto rengyklė, pakeičianti „lsof“ (komunalinės paslaugos vietiniam tinklui valdyti) ir „bash“ užbaigimas (komandinės eilutės automatinis užbaigimas).

Įdiekite juos visus vienu kadru, vykdydami žemiau pateiktą komandą.

# yum install nano wget curl net-tools lsof bash-completion

Tinklo nustatymas „RHEL 7“

„RHEL 7“ turi platų įrankių asortimentą, kuriuos galima naudoti konfigūruojant ir valdant tinklą, pradedant rankiniu tinklo konfigūracijos failo redagavimu ir baigiant komandų, pvz., Nmcli ar maršruto, naudojimu.

Lengviausias įrankis, kurį pradedantysis gali naudoti valdydamas ir keisdamas tinklo konfigūracijas, yra nmtui grafinė komandinė eilutė.

Norėdami pakeisti sistemos pagrindinio kompiuterio pavadinimą naudodami „nmtui“ programą, vykdykite komandą „nmtui-hostname“, nustatykite savo kompiuterio pagrindinio kompiuterio pavadinimą ir paspauskite Gerai, kad baigtumėte, kaip parodyta toliau pateiktoje ekrano kopijoje.

# nmtui-hostname

Norėdami manipuliuoti tinklo sąsaja, vykdykite komandą „nmtui-edit“, pasirinkite sąsają, kurią norite redaguoti, ir dešiniajame meniu pasirinkite redaguoti, kaip parodyta žemiau esančiame ekrano kopija.

Kai būsite „nmtui“ įrankio pateiktoje grafinėje sąsajoje, galite nustatyti tinklo sąsajos IP nustatymus, kaip parodyta toliau pateiktoje ekrano kopijoje. Baigę eikite į Gerai naudodami mygtuką [tab], kad išsaugotumėte konfigūraciją ir uždarytumėte.

Norėdami pritaikyti naują tinklo sąsajos konfigūraciją, vykdykite komandą „nmtui-connect“, pasirinkite sąsają, kurią norite valdyti, ir paspauskite parinktį Deaktyvuoti/suaktyvinti, kad išjungtumėte ir padidintumėte sąsają su IP nustatymais, kaip nurodyta toliau pateiktuose ekrano kopijose.

# nmtui-connect

Norėdami peržiūrėti tinklo sąsajos nustatymus, galite patikrinti sąsajos failo turinį arba pateikti toliau nurodytas komandas.

# ifconfig enp0s3
# ip a
# ping -c2 google.com

Kitos naudingos komunalinės paslaugos, kurias galima naudoti greičiui valdyti, ryšio būsenai valdyti ar informacijai apie mašinų tinklo sąsajas gauti, yra ethtool ir mii-tool.

# ethtool enp0s3
# mii-tool enp0s3

Sukurti naują vartotojo abonementą

Atlikdami kitą veiksmą, būdami prisijungę prie serverio kaip root, sukurkite naują vartotoją naudodami toliau pateiktą komandą. Šis vartotojas vėliau bus naudojamas prisijungti prie jūsų sistemos ir atlikti administracines užduotis.

# adduser tecmint_user

Pridėję naudotoją naudodami aukščiau pateiktą komandą, nustatykite tvirtą šio vartotojo slaptažodį, pateikdami toliau pateiktą komandą.

# passwd tecmint_user

Tais atvejais, kai norite priversti šį naują vartotoją pakeisti slaptažodį, bandydami pirmą kartą prisijungti, vykdykite toliau pateiktą komandą.

# chage -d0 tecmint_user

Ši nauja vartotojo paskyra su šiuo metu turi įprastas privilegijas ir negali atlikti administracinių užduočių naudodama „sudo“ komandą.

Kad išvengtumėte pagrindinės paskyros naudojimo administravimo privilegijoms atlikti, suteikite šiam naujam vartotojui administratoriaus teises, pridėdami vartotoją prie „ratų“ sistemos grupės.

Vartotojams, priklausantiems „ratų“ grupei, pagal numatytuosius nustatymus RHEL leidžiama paleisti komandas su root teisėmis naudojant sudo įrankį prieš rašant komandą, reikalingą vykdymui.

Pvz., Norėdami pridėti vartotoją „tecmint_user“ prie „ratų“ grupės, vykdykite toliau pateiktą komandą.

# usermod -aG wheel tecmint_user

Po to prisijunkite prie sistemos su nauju vartotoju ir pabandykite atnaujinti sistemą naudodami komandą „sudo yum update“, kad patikrintumėte, ar vartotojui suteiktos pagrindinės galios.

# su - tecmint_user
$ sudo yum update

Konfigūruokite SSH viešojo rakto autentifikavimą RHEL 7

Norėdami padidinti savo RHEL aptarnavimo saugumą, sukonfigūruokite naujojo vartotojo SSH viešojo rakto autentifikavimą. Norėdami sugeneruoti SSH raktų porą, viešąjį ir privatųjį raktą, atlikite šią komandą savo serverio konsolėje. Įsitikinkite, kad esate prisijungę prie sistemos su vartotoju, kuriam nustatote SSH raktą.

# su - tecmint_user
$ ssh-keygen -t RSA

Kol raktas bus sugeneruotas, būsite paraginti pridėti slaptafrazę, kad apsaugotumėte raktą. Galite įvesti stiprią slaptafrazę arba palikti ją tuščią, jei norite automatizuoti užduotis per SSH serverį.

Sugeneravus SSH raktą, nukopijuokite viešųjų raktų porą į nuotolinį serverį, vykdydami žemiau esančią komandą. Norėdami įdiegti viešąjį raktą į nuotolinį SSH serverį, jums reikės vartotojo abonemento, turinčio kredencialus, kad galėtumėte prisijungti prie to serverio.

$ ssh-copy-id [email 

Dabar turėtumėte pabandyti prisijungti per SSH į nuotolinį serverį naudodami privatųjį raktą kaip autentifikavimo metodą. Turėtumėte sugebėti prisijungti automatiškai, SSH serveriui neprašant slaptažodžio.

$ ssh [email 168.1.194

Jei norite pamatyti savo viešojo SSH rakto turinį, jei norite rankiniu būdu įdiegti raktą į tolimą SSH serverį, pateikite šią komandą.

$ cat ~/.ssh/id_rsa

Apsaugokite SSH „RHEL 7“

Norėdami apsaugoti SSH demoną ir neleisti nuotolinės SSH prieigos prie šakninės paskyros naudodami slaptažodį ar raktą, atidarykite pagrindinį SSH serverio konfigūracijos failą ir atlikite šiuos pakeitimus.

$ sudo vi /etc/ssh/sshd_config

Ieškokite eilutės #PermitRootLogin taip, atžymėkite eilutę pašalindami # ženklą (žymą su grotelėmis) nuo eilutės pradžios ir modifikuokite eilutę taip, kaip parodyta toliau pateiktoje ištraukoje.

PermitRootLogin no

Vėliau iš naujo paleiskite SSH serverį, kad pritaikytumėte naujus nustatymus, ir išbandykite konfigūraciją bandydami prisijungti prie šio serverio su pagrindine paskyra. Prieiga prie šakninės paskyros per SSH jau turėtų būti apribota.

$ sudo systemctl restart sshd

Yra situacijų, kai po tam tikro neveikimo laikotarpio galbūt norėsite automatiškai atjungti visus nuotolinius SSH ryšius su savo serveriu.

Norėdami įgalinti šią funkciją visoje sistemoje, vykdykite žemiau pateiktą komandą, kuri prideda TMOUT bash kintamąjį prie pagrindinio bashrc failo ir priverčia kiekvieną SSH ryšį atjungti arba nutraukti po 5 minučių neveikimo.

$ su -c 'echo "TMOUT=300" >> /etc/bashrc'

Paleiskite tail komandą, kad patikrintumėte, ar kintamasis teisingai pridėtas/etc/bashrc failo pabaigoje. Visi tolesni SSH ryšiai bus automatiškai uždaryti po 5 minučių neveikimo.

$ tail /etc/bashrc

Žemiau pateiktoje ekrano kopijoje nuotolinis SSH seansas iš „Drupal“ mašinos į RHEL serverį buvo automatiškai atsijungęs po 5 minučių.

Konfigūruokite „RHEL 7“ ugniasienę

Kitame etape sukonfigūruokite ugniasienę, kad dar labiau apsaugotumėte sistemą tinklo lygiu. „RHEL 7“ kartu su „Firewalld“ programa valdo „iptables“ taisykles serveryje.

Pirmiausia įsitikinkite, kad jūsų sistemoje veikia užkarda, išleisdami žemiau esančią komandą. Jei „Firewalld“ deimonas sustabdytas, turėtumėte jį paleisti naudodami šią komandą.

$ sudo systemctl status firewalld
$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld

Kai jūsų sistemoje įjungta ir veikia ugniasienė, galite naudoti užkardos cmd komandinės eilutės įrankį, kad nustatytumėte užkardos strategijos informaciją ir leistumėte srautą į kai kuriuos specifinius tinklo prievadus, pvz., SSH deemoną, ryšį su vidiniu žiniatinklio serveriu ar kitą susijusios tinklo paslaugos.

Kadangi šiuo metu mes tiesiog vykdome SSH deemoną savo serveryje, galime pakoreguoti užkardos politiką, kad leistų SSH paslaugų prievado srautą, išduodami šią komandą.

$ sudo firewall-cmd --add-service=ssh --permanent
$ sudo firewall-cmd --reload

Norėdami pridėti užkardos taisyklę tiesioginiame etape, netaikydami taisyklės kitą kartą paleidus serverį, naudokite toliau pateiktą komandų sintaksę.

$ sudo firewall-cmd --add-service=sshd

Jei serveryje įdiegiate kitas tinklo paslaugas, pvz., HTTP serverį, pašto serverį ar kitas tinklo paslaugas, galite pridėti taisykles, leidžiančias leisti tam tikrus ryšius, taip.

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
$ sudo firewall-cmd --permanent --add-service=smtp

Norėdami išvardyti visas užkardos taisykles, vykdykite toliau nurodytą komandą.

$ sudo firewall-cmd --permanent --list-all

Pašalinkite nereikalingas paslaugas iš RHEL 7

Norėdami gauti visų tinklo paslaugų (TCP ir UDP), veikiančių jūsų RHEL serveryje, sąrašą pagal numatytuosius nustatymus, išleiskite komandą ss, kaip parodyta toliau pateiktame pavyzdyje.

$ sudo ss -tulpn

Komanda ss atskleis keletą įdomių paslaugų, kurios yra paleistos ir veikia pagal numatytuosius nustatymus jūsų sistemoje, pvz., „Postfix“ pagrindinė paslauga ir serveris, atsakingas už NTP protokolą.

Jei neketinate konfigūruoti šio serverio pašto serverio, turėtumėte sustabdyti, išjungti ir pašalinti „Postfix“ deemoną, pateikdami toliau nurodytas komandas.

$ sudo systemctl stop postfix.service 
$ sudo yum remove postfix

Neseniai buvo pranešta apie keletą nemalonių DDOS atakų dėl NTP protokolo. Jei neplanuojate sukonfigūruoti savo RHEL serverio, kad jis veiktų kaip NTP serveris, kad vidiniai klientai sinchronizuotų laiką su šiuo serveriu, turėtumėte visiškai išjungti ir pašalinti „Chrony“ deemoną, pateikdami toliau nurodytas komandas.

$ sudo systemctl stop chronyd.service 
$ sudo yum remove chrony

Vėlgi paleiskite komandą ss, kad nustatytumėte, ar jūsų sistemoje veikia kitos tinklo paslaugos, ir jas išjunkite ir pašalinkite.

$ sudo ss -tulpn

Norėdami nurodyti tikslų serverio laiką ir sinchronizuoti laiką su viršutinio laiko lygiaverčio serverio paslaugomis, galite įdiegti „ntpdate“ įrankį ir sinchronizuoti laiką su viešuoju NTP serveriu, vykdydami toliau nurodytas komandas.

$ sudo yum install ntpdate
$ sudo ntpdate 0.uk.pool.ntp.org

Norėdami automatizuoti ntpdate laiko sinchronizavimo komandą, kuri turi būti vykdoma kiekvieną dieną be jokio vartotojo įsikišimo, suplanuokite naują „crontab“ užduotį vykdyti vidurnaktį su tokiu turiniu.

$ sudo crontab -e

„Crontab“ failo ištrauka:

@daily /usr/sbin/ntpdate 0.uk.pool.ntp.org

Tai viskas! Dabar jūs, RHEL serveris, pasirengę įdiegti papildomą programinę įrangą, reikalingą tinkintoms tinklo paslaugoms ar programoms, pavyzdžiui, įdiegti ir konfigūruoti žiniatinklio serverį, duomenų bazės serverį, failų bendrinimo paslaugą ar kitas specifines programas.

Norėdami toliau apsaugoti ir sustiprinti RHEL 7 serverį, peržiūrėkite šiuos straipsnius.

  1. „Mega“ vadovas, leidžiantis sutvirtinti ir apsaugoti RHEL 7 - 1 dalis
  2. „Mega“ vadovas „RHEL 7“ sukietėjimui ir apsaugai - 2 dalis

Jei planuojate diegti svetaines šioje RHEL 7 sistemoje, sužinokite, kaip nustatyti ir konfigūruoti LEMP kaminą.