Začetne nastavitve in konfiguracije strežnika na RHEL 7


V tej vadnici bomo razpravljali o prvih korakih konfiguracije, na katere morate biti pozorni po novi namestitvi Red Hat Enterprise Linux 7 na golem kovinskem strežniku ali na navideznem zasebnem strežniku.

  1. Minimalna namestitev RHEL 7

Pomembno: Uporabniki CentOS 7 lahko v tem članku izvedete začetno nastavitev strežnika na CentOS 7.

Posodobite sistem RHEL 7

V prvem koraku se prijavite v konzolo strežnika RHEL z računom s korenskimi pravicami ali neposredno kot root in zaženite spodnji ukaz, da v celoti posodobite sistemske komponente, kot so nameščeni paketi, jedro ali uporabite druge varnostne popravke.

# yum check-update
# yum update

Če želite odstraniti vse lokalno prenesene pakete in druge povezane predpomnilnike YUM, izvedite spodnji ukaz.

# yum clean all

Namestite sistemske pripomočke na RHEL 7

Naslednji pripomočki se lahko izkažejo za koristne pri vsakodnevni sistemski administraciji: nano (urejevalnik besedila, ki nadomesti lsof (pripomočki za upravljanje lokalnega omrežja) in dokončanje bash (samodejno dokončanje ukazne vrstice)).

Vse jih namestite v enem koraku z izvajanjem spodnjega ukaza.

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

Nastavitev omrežja v sistemu RHEL 7

RHEL 7 ima široko paleto orodij, s katerimi lahko konfigurirate in upravljate omrežje, od ročnega urejanja konfiguracijske datoteke omrežja do uporabe ukazov, kot sta nmcli ali route.

Najlažji pripomoček, ki ga začetnik lahko uporabi za upravljanje in spreminjanje omrežnih konfiguracij, je grafična ukazna vrstica nmtui.

Če želite spremeniti ime gostitelja sistema prek pripomočka nmtui, izvedite ukaz nmtui-hostname, nastavite ime gostitelja stroja in pritisnite OK za dokončanje, kot je prikazano na spodnjem posnetku zaslona.

# nmtui-hostname

Če želite upravljati omrežni vmesnik, izvedite ukaz nmtui-edit, izberite vmesnik, ki ga želite urediti, in v desnem meniju izberite uredi, kot je prikazano na spodnjem posnetku zaslona.

Ko ste v grafičnem vmesniku, ki ga ponuja pripomoček nmtui, lahko nastavite nastavitve IP omrežnega vmesnika, kot je prikazano na spodnjem posnetku zaslona. Ko končate, se s tipko [tab] pomaknite do OK, da shranite konfiguracijo in zaprete.

Če želite uporabiti novo konfiguracijo omrežnega vmesnika, izvedite ukaz nmtui-connect, izberite vmesnik, ki ga želite upravljati, in pritisnite možnost Deactivate/Activate za razgradnjo in dvig vmesnika z nastavitvami IP, kot je prikazano na spodnjih posnetkih zaslona.

# nmtui-connect

Če si želite ogledati nastavitve omrežnega vmesnika, lahko pregledate vsebino vmesniške datoteke ali pa izdate spodnje ukaze.

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

Drugi uporabni pripomočki, ki jih lahko uporabite za upravljanje hitrosti, stanja povezave ali pridobivanje informacij o vmesnikih strojnih omrežij, so ethtool in mii-tool.

# ethtool enp0s3
# mii-tool enp0s3

Ustvari nov uporabniški račun

V naslednjem koraku, medtem ko ste prijavljeni kot root v strežnik, ustvarite novega uporabnika s spodnjim ukazom. Ta uporabnik bo kasneje uporabljen za prijavo v vaš sistem in izvajanje administrativnih nalog.

# adduser tecmint_user

Ko dodate uporabnika z zgornjim ukazom, nastavite močno geslo za tega uporabnika z izdajo spodnjega ukaza.

# passwd tecmint_user

V primerih, ko želite tega novega uporabnika prisiliti, da spremeni geslo ob prvem poskusu prijave, izvedite spodnji ukaz.

# chage -d0 tecmint_user

Ta novi uporabniški račun z zaenkrat rednimi pravicami računa in ne more izvajati skrbniških nalog z ukazom sudo.

Da bi se izognili uporabi korenskega računa za izvajanje skrbniških pravic, temu novemu uporabniku dodelite skrbniške pravice tako, da ga dodate v sistemsko skupino\"wheel".

Uporabniki, ki pripadajo skupini “wheel”, lahko privzeto v sistemu RHEL izvajajo ukaze s korenskimi pravicami z uporabo pripomočka sudo, preden napišejo ukaz, potreben za izvedbo.

Če želite na primer dodati uporabnika\"tecmint_user" v skupino\"wheel", izvedite spodnji ukaz.

# usermod -aG wheel tecmint_user

Nato se z novim uporabnikom prijavite v sistem in poskusite posodobiti sistem z ukazom 'sudo yum update', da preverite, ali ima uporabnik dodeljena korenska pooblastila.

# su - tecmint_user
$ sudo yum update

Konfigurirajte preverjanje pristnosti javnega ključa SSH na RHEL 7

Na naslednjem koraku, da povečate varnost storitve RHEL, konfigurirajte preverjanje pristnosti javnega ključa SSH za novega uporabnika. Če želite ustvariti par ključev SSH, javni in zasebni ključ, na konzoli strežnika izvedite naslednji ukaz. Prepričajte se, da ste prijavljeni v sistem z uporabnikom, ki nastavljate ključ SSH.

# su - tecmint_user
$ ssh-keygen -t RSA

Ko je ključ ustvarjen, boste morali za zaščito ključa dodati geslo. Če želite avtomatizirati opravila prek strežnika SSH, lahko vnesete močno geslo ali pa geslo pustite prazno.

Ko je ključ SSH ustvarjen, kopirajte par javnih ključev na oddaljeni strežnik z izvajanjem spodnjega ukaza. Za namestitev javnega ključa na oddaljeni strežnik SSH potrebujete uporabniški račun, ki ima poverilnice za prijavo v ta strežnik.

$ ssh-copy-id [email 

Zdaj se poskusite prijaviti prek SSH na oddaljeni strežnik z uporabo zasebnega ključa kot metode preverjanja pristnosti. Samodejno bi se morali prijaviti, ne da bi strežnik SSH zahteval geslo.

$ ssh [email 

Če si želite ogledati vsebino vašega javnega ključa SSH, če želite ključ ročno namestiti na oddaljeni strežnik SSH, izdajte naslednji ukaz.

$ cat ~/.ssh/id_rsa

Zaščitite SSH na RHEL 7

Če želite zaščititi demona SSH in onemogočiti oddaljenega dostopa SSH do korenskega računa prek gesla ali ključa, odprite glavno konfiguracijsko datoteko strežnika SSH in naredite naslednje spremembe.

$ sudo vi /etc/ssh/sshd_config

Poiščite vrstico #PermitRootLogin da, odkomentirajte vrstico tako, da odstranite znak # (hashtag) z začetka vrstice in spremenite vrstico tako, kot je prikazano v spodnjem izvlečku.

PermitRootLogin no

Nato znova zaženite strežnik SSH, da uporabite nove nastavitve in preizkusite konfiguracijo, tako da se poskusite prijaviti na ta strežnik s korenskim računom. Dostop do korenskega računa prek SSH bi moral biti doslej omejen.

$ sudo systemctl restart sshd

V nekaterih primerih boste morda želeli samodejno prekiniti vse oddaljene povezave SSH s strežnikom po obdobju neaktivnosti.

Če želite omogočiti to funkcijo na celotnem sistemu, izvedite spodnji ukaz, ki v glavno datoteko bashrc doda spremenljivko bash TMOUT in prisili, da se vsaka povezava SSH prekine ali prekine po 5 minutah nedejavnosti.

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

Zaženite ukaz tail, da preverite, ali je spremenljivka pravilno dodana na koncu datoteke /etc /bashrc. Vse naslednje povezave SSH se bodo po 5 minutah neaktivnosti odslej samodejno zaprle.

$ tail /etc/bashrc

Na spodnjem posnetku zaslona se je oddaljena seja SSH od drupal stroja do strežnika RHEL po 5 minutah samodejno odjavila.

Konfigurirajte požarni zid na RHEL 7

V naslednjem koraku konfigurirajte požarni zid, da dodatno zaščitite sistem na ravni omrežja. RHEL 7 je opremljen z aplikacijo Firewalld za upravljanje pravil iptables na strežniku.

Najprej se prepričajte, da požarni zid deluje v vašem sistemu, tako da izdate spodnji ukaz. Če je demon Firewalld ustavljen, ga zaženite z naslednjim ukazom.

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

Ko je požarni zid v vašem sistemu omogočen in zagnan, lahko s pripomočkom za ukazno vrstico požarnega zidu-cmd nastavite podatke o požarnem zidu in dovolite promet na določena omrežna vrata, na primer demon SSH, povezavo z notranjim spletnim strežnikom ali drugo povezane omrežne storitve.

Ker trenutno v našem strežniku izvajamo samo demon SSH, lahko z naslednjim ukazom prilagodimo politiko požarnega zidu, da omogoči promet za vrata storitev SSH.

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

Če želite pravilo požarnega zidu dodati med letenjem, ne da bi ga pri naslednjem zagonu strežnika uporabili, uporabite spodnjo sintakso ukaza.

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

Če v strežnik namestite druge omrežne storitve, na primer strežnik HTTP, poštni strežnik ali druge omrežne storitve, lahko dodate pravila, ki dovoljujejo posebne povezave, kot sledi.

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

Če želite prikazati vsa pravila požarnega zidu, zaženite spodnji ukaz.

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

Odstranite nepotrebne storitve v RHEL 7

Če želite privzeto dobiti seznam vseh omrežnih storitev (TCP in UDP), ki se izvajajo na vašem strežniku RHEL, izdajte ukaz ss, kot je prikazano v spodnjem vzorcu.

$ sudo ss -tulpn

Ukaz ss bo razkril nekaj zanimivih storitev, ki se privzeto zaženejo in izvajajo v vašem sistemu, na primer glavno storitev Postfix in strežnik, odgovoren za protokol NTP.

Če tega strežnika ne nameravate konfigurirati kot poštnega strežnika, ustavite, onemogočite in odstranite demon Postfix tako, da izdate spodnje ukaze.

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

V zadnjem času so poročali o nekaj grdih DDOS napadih po protokolu NTP. Če ne nameravate nastaviti strežnika RHEL za delovanje kot strežnik NTP, da bodo lahko notranji odjemalci sinhronizirali čas s tem strežnikom, morate demon Chrony popolnoma onemogočiti in odstraniti tako, da izdate spodnje ukaze.

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

Še enkrat zaženite ukaz ss, da ugotovite, ali se v vašem sistemu izvajajo druge omrežne storitve, ter jih onemogočite in odstranite.

$ sudo ss -tulpn

Če želite zagotoviti natančen čas za vaš strežnik in sinhronizirati čas z enakovrednim strežnikom, lahko namestite pripomoček ntpdate in sinhronizirate čas z javnim strežnikom NTP z izvajanjem spodnjih ukazov.

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

Če želite avtomatizirati ukaz ntpdate time synchronize, ki se bo izvedel vsak dan brez posredovanja uporabnika, načrtujte, da se bo novo delo crontab izvajalo ob polnoči z naslednjo vsebino.

$ sudo crontab -e

Odlomek iz datoteke Crontab:

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

To je vse! Zdaj je vaš strežnik RHEL pripravljen za namestitev dodatne programske opreme, potrebne za prilagojene omrežne storitve ali aplikacije, kot je namestitev in konfiguracija spletnega strežnika, strežnika baz podatkov, storitve skupne rabe datotek ali drugih posebnih aplikacij.

Za dodatno zaščito in utrjevanje strežnika RHEL 7 si oglejte naslednje članke.

  1. Mega priročnik za utrjevanje in zaščito RHEL 7 - 1. del
  2. Mega priročnik za utrjevanje in zaščito RHEL 7 - 2. del

Če nameravate uvesti spletna mesta v ta sistem RHEL 7, se naučite, kako nastaviti in konfigurirati sklad LEMP.