Sākotnējā servera iestatīšana un konfigurēšana RHEL 7


Šajā apmācībā mēs apspriedīsim pirmās konfigurācijas darbības, kas jums jārūpējas pēc Red Hat Enterprise Linux 7 jaunās instalēšanas kailā metāla serverī vai virtuālajā privātajā serverī.

  1. RHEL 7 minimāla instalēšana

Svarīgi: CentOS 7 lietotāji var izpildīt šo rakstu, lai CentOS 7 veiktu sākotnējo servera iestatīšanu.

Atjauniniet RHEL 7 sistēmu

Pirmajā solī piesakieties savā RHEL servera konsolē ar kontu ar root tiesībām vai tieši kā root un palaidiet zemāk esošo komandu, lai pilnībā atjauninātu sistēmas komponentus, piemēram, instalētās paketes, kodolu vai lietotu citus drošības ielāpus.

# yum check-update
# yum update

Lai noņemtu visas lokāli lejupielādētās paketes un citas saistītās YUM kešatmiņas, izpildiet tālāk norādīto komandu.

# yum clean all

Instalējiet System Utilities uz RHEL 7

Šīs ikdienas utilītas var izrādīties noderīgas ikdienas administrēšanai sistēmā: nano (teksta redaktors, lai aizstātu lsof (utilītas vietējā tīkla pārvaldībai) un bash-pabeigšana (komandrindas automātiskā pabeigšana).

Instalējiet tos visus vienā kadrā, izpildot zemāk esošo komandu.

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

Tīkla iestatīšana RHEL 7

RHEL 7 ir plašs rīku klāsts, kurus var izmantot tīkla konfigurēšanai un pārvaldībai, sākot no tīkla konfigurācijas faila manuālas rediģēšanas līdz komandām, piemēram, nmcli vai route.

Vienkāršākā utilīta, ko iesācējs var izmantot, lai pārvaldītu un mainītu tīkla konfigurācijas, ir nmtui grafiskā komandrinda.

Lai, izmantojot nmtui utilītu, mainītu sistēmas resursdatora nosaukumu, izpildiet komandu nmtui-hostname, iestatiet datora resursdatora nosaukumu un nospiediet OK, lai pabeigtu, kā parādīts zemāk redzamajā ekrānuzņēmumā.

# nmtui-hostname

Lai manipulētu ar tīkla saskarni, izpildiet komandu nmtui-edit, izvēlieties rediģējamo saskarni un labajā izvēlnē atlasiet rediģēt, kā parādīts zemāk esošajā ekrānuzņēmumā.

Kad esat nonācis nmtui lietderības nodrošinātajā grafiskajā saskarnē, varat iestatīt tīkla interfeisa IP iestatījumus, kā parādīts zemāk esošajā ekrānuzņēmumā. Kad esat pabeidzis, dodieties uz Labi, izmantojot taustiņu [tab], lai saglabātu konfigurāciju un izietu.

Lai lietotu tīkla saskarnes jauno konfigurāciju, izpildiet komandu nmtui-connect, atlasiet interfeisu, kuru vēlaties pārvaldīt, un nospiediet opciju Deaktivizēt/aktivizēt, lai pārtrauktu un palielinātu saskarni ar IP iestatījumiem, kā parādīts zemāk esošajos ekrānuzņēmumos.

# nmtui-connect

Lai skatītu tīkla saskarnes iestatījumus, varat pārbaudīt saskarnes faila saturu vai izdot tālāk norādītās komandas.

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

Citas noderīgas utilītas, kuras var izmantot ātruma pārvaldīšanai, saites stāvokļa iegūšanai vai informācijas iegūšanai par mašīnu tīkla saskarnēm, ir ethtool un mii-tool.

# ethtool enp0s3
# mii-tool enp0s3

Izveidot jaunu lietotāja kontu

Nākamajā solī, kamēr esat pieteicies kā root savā serverī, izveidojiet jaunu lietotāju ar komandu zemāk. Šis lietotājs vēlāk tiks izmantots, lai pieteiktos jūsu sistēmā un veiktu administratīvos uzdevumus.

# adduser tecmint_user

Kad esat pievienojis lietotāju, izmantojot iepriekš minēto komandu, iestatiet šim lietotājam spēcīgu paroli, izsniedzot tālāk norādīto komandu.

# passwd tecmint_user

Gadījumos, kad vēlaties piespiest šo jauno lietotāju mainīt paroli jau pirmā mēģinājuma laikā, izpildiet tālāk norādīto komandu.

# chage -d0 tecmint_user

Šim jaunajam lietotāja kontam pašlaik ir regulāras konta privilēģijas, un viņš nevar veikt administratīvos uzdevumus, izmantojot sudo komandu.

Lai izvairītos no saknes konta izmantošanas administratīvo privilēģiju veikšanai, piešķiriet šim jaunajam lietotājam administratīvās privilēģijas, pievienojot lietotāju sistēmas riteņu grupai.

Lietotājiem, kas pieder “riteņu” grupai, pēc noklusējuma RHEL ir atļauts palaist komandas ar root tiesībām, izmantojot sudo utilītu, pirms tiek rakstītas izpildei nepieciešamās komandas.

Piemēram, lai pievienotu lietotāju “tecmint_user” grupai “wheel”, izpildiet tālāk norādīto komandu.

# usermod -aG wheel tecmint_user

Pēc tam piesakieties sistēmā ar jauno lietotāju un mēģiniet atjaunināt sistēmu, izmantojot komandu ‘sudo yum update’, lai pārbaudītu, vai lietotājam ir piešķirtas root pilnvaras.

# su - tecmint_user
$ sudo yum update

Konfigurējiet SSH publiskās atslēgas autentifikāciju vietnē RHEL 7

Nākamajā solī, lai palielinātu RHEL servisa drošību, konfigurējiet SSH publiskās atslēgas autentifikāciju jaunajam lietotājam. Lai ģenerētu SSH atslēgu pāri, publisko un privāto atslēgu, servera konsolē izpildiet šo komandu. Pārliecinieties, vai esat pieteicies sistēmā ar lietotāju, kuram iestatāt SSH atslēgu.

# su - tecmint_user
$ ssh-keygen -t RSA

Kamēr atslēga tiek ģenerēta, jums tiks lūgts pievienot ieejas frāzi, lai atslēgu aizsargātu. Varat ievadīt stingru ieejas frāzi vai izvēlēties atstāt ieejas frāzi tukšu, ja vēlaties automatizēt uzdevumus, izmantojot SSH serveri.

Kad SSH atslēga ir ģenerēta, kopējiet publisko atslēgu pāri uz attālo serveri, izpildot tālāk norādīto komandu. Lai instalētu publisko atslēgu attālajā SSH serverī, jums būs nepieciešams lietotāja konts, kuram ir akreditācijas dati, lai pieteiktos šajā serverī.

$ ssh-copy-id [email 

Tagad jums vajadzētu mēģināt pieteikties, izmantojot SSH, attālajā serverī, izmantojot privāto atslēgu kā autentifikācijas metodi. Jums vajadzētu būt iespējai automātiski pieteikties, SSH serverim neprasot paroli.

$ ssh [email 

Lai redzētu savas publiskās SSH atslēgas saturu, ja vēlaties manuāli instalēt atslēgu tālā SSH serverī, izsniedziet šādu komandu.

$ cat ~/.ssh/id_rsa

Droša SSH RHEL 7

Lai nodrošinātu SSH dēmonu un neatļautu attālu SSH piekļuvi saknes kontam, izmantojot paroli vai atslēgu, atveriet SSH servera galveno konfigurācijas failu un veiciet šādas izmaiņas.

$ sudo vi /etc/ssh/sshd_config

Meklējiet līniju #PermitRootLogin jā, noņemiet komentāru no līnijas, noņemot # zīmi (mirkļbirku) no rindas sākuma un modificējiet līniju tā, lai tā izskatās zemāk esošajā fragmentā.

PermitRootLogin no

Pēc tam restartējiet SSH serveri, lai lietotu jaunos iestatījumus, un pārbaudiet konfigurāciju, mēģinot pieteikties šajā serverī ar saknes kontu. Piekļuve saknes kontam, izmantojot SSH, tagad ir jāierobežo.

$ sudo systemctl restart sshd

Ir situācijas, kad pēc neaktivitātes perioda, iespējams, vēlēsities automātiski atvienot visus attālinātos SSH savienojumus ar serveri.

Lai iespējotu šo funkciju visā sistēmā, izpildiet zemāk redzamo komandu, kas pievieno mainīgo TMOUT bash galvenajam bashrc failam un piespiež katru SSH savienojumu atvienot vai atcelt pēc 5 minūšu neaktivitātes.

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

Palaidiet komandu tail, lai pārbaudītu, vai mainīgais ir pareizi pievienots faila/etc/bashrc beigās. Visi turpmākie SSH savienojumi tiks automātiski slēgti pēc 5 minūšu neaktivitātes.

$ tail /etc/bashrc

Tālāk redzamajā ekrānuzņēmumā attālā SSH sesija no drupal mašīnas uz RHEL serveri ir automātiski atteikusies pēc 5 minūtēm.

Konfigurējiet ugunsmūri RHEL 7

Nākamajā solī konfigurējiet ugunsmūri, lai vēl vairāk aizsargātu sistēmu tīkla līmenī. RHEL 7 tiek piegādāts ar Firewalld lietojumprogrammu, lai serverī pārvaldītu iptables kārtulas.

Vispirms pārliecinieties, vai jūsu sistēmā darbojas ugunsmūris, izsniedzot tālāk norādīto komandu. Ja Firewalld dēmons ir apturēts, tas jāsāk ar šādu komandu.

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

Kad ugunsmūris ir iespējots un darbojas jūsu sistēmā, varat izmantot ugunsmūra cmd komandrindas utilītu, lai iestatītu informāciju par ugunsmūra politiku un atļautu trafiku uz dažām noteiktām tīkla portiem, piemēram, SSH dēmonu, savienojumu ar iekšējo tīmekļa serveri vai citu saistīti tīkla pakalpojumi.

Tā kā šobrīd mēs savā serverī tikai palaidām SSH dēmonu, mēs varam pielāgot ugunsmūra politiku, lai atļautu SSH pakalpojumu porta trafiku, izsniedzot šādu komandu.

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

Lai pievienotu ugunsmūra kārtulu lidojumā, nepiemērojot kārtulu nākamreiz, kad tiek startēts serveris, izmantojiet zemāk esošo komandu sintaksi.

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

Ja serverī instalējat citus tīkla pakalpojumus, piemēram, HTTP serveri, pasta serveri vai citus tīkla pakalpojumus, varat pievienot kārtulas, lai atļautu konkrētus savienojumus šādi.

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

Lai uzskaitītu visus ugunsmūra noteikumus, izpildiet tālāk norādīto komandu.

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

Noņemiet nevajadzīgos pakalpojumus no RHEL 7

Lai pēc noklusējuma iegūtu visu tīkla pakalpojumu (TCP un UDP) sarakstu, kas darbojas jūsu RHEL serverī, izsniedziet komandu ss, kā parādīts zemāk esošajā paraugā.

$ sudo ss -tulpn

Komanda ss atklās dažus interesantus pakalpojumus, kas pēc noklusējuma ir sākti un darbojas jūsu sistēmā, piemēram, Postfix galveno pakalpojumu un serveri, kas atbild par NTP protokolu.

Ja jūs neplānojat konfigurēt šo serveri pasta serverī, pārtrauciet, atspējojiet un noņemiet dēmonu Postfix, izdodot tālāk norādītās komandas.

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

Nesen tika ziņots par dažiem nepatīkamiem DDOS uzbrukumiem NTP protokolam. Gadījumā, ja jūs neplānojat konfigurēt savu RHEL serveri darboties kā NTP serveri, lai iekšējie klienti varētu sinhronizēt laiku ar šo serveri, jums pilnībā jāatspējo un jānoņem Chrony dēmons, izsniedzot tālāk norādītās komandas.

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

Atkal palaidiet komandu ss, lai noteiktu, vai jūsu sistēmā darbojas citi tīkla pakalpojumi, un atspējojiet un noņemiet tos.

$ sudo ss -tulpn

Lai nodrošinātu precīzu servera laiku un sinhronizētu laiku ar vienādranga serveri, kas darbojas uz laiku, varat instalēt ntpdate utilītu un sinhronizēt laiku ar publisku NTP serveri, izpildot zemāk norādītās komandas.

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

Lai automatizētu ntpdate time synchronize komandu, kas jāizpilda katru dienu bez lietotāja iejaukšanās, ieplānojiet jaunu crontab darbu, kas darbosies pusnaktī ar šādu saturu.

$ sudo crontab -e

Crontab faila fragments:

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

Tas ir viss! Tagad jūs RHEL serveris ir gatavs instalēt papildu programmatūru, kas nepieciešama pielāgotiem tīkla pakalpojumiem vai lietojumprogrammām, piemēram, tīmekļa servera, datu bāzes servera, failu koplietošanas pakalpojuma vai citu specifisku lietojumprogrammu instalēšanai un konfigurēšanai.

Lai vēl vairāk aizsargātu un nocietinātu RHEL 7 serveri, skatiet šos rakstus.

  1. Mega ceļvedis RHEL 7 sacietēšanai un drošībai - 1. daļa
  2. Mega ceļvedis RHEL 7 sacietēšanai un drošībai - 2. daļa

Ja plānojat izvietot vietnes šajā RHEL 7 sistēmā, uzziniet, kā iestatīt un konfigurēt LEMP skursteni.