Početno postavljanje i konfiguracija poslužitelja na RHEL 7


U ovom uputstvu raspravit ćemo o prvim konfiguracijskim koracima na koje morate paziti nakon nove instalacije Red Hat Enterprise Linuxa 7 na goli metalni poslužitelj ili na virtualni privatni poslužitelj.

  1. RHEL 7 Minimalna instalacija

Važno: Korisnici CentOS 7 mogu slijediti ovaj članak kako bi izvršili početno postavljanje poslužitelja na CentOS 7.

Ažurirajte sustav RHEL 7

U prvom koraku prijavite se na svoju RHEL poslužiteljsku konzolu s računom s root privilegijama ili izravno kao root i pokrenite donju naredbu kako biste u potpunosti ažurirali komponente vašeg sustava, poput instaliranih paketa, kernela ili primijenili druge sigurnosne zakrpe.

# yum check-update
# yum update

Da biste uklonili sve lokalno preuzete pakete i ostale povezane YUM predmemorije, izvršite donju naredbu.

# yum clean all

Instalirajte uslužne programe na RHEL 7

Sljedeći uslužni programi mogu se pokazati korisnima za svakodnevno administriranje sustava: nano (uređivač teksta koji zamjenjuje lsof (uslužni programi za upravljanje lokalnim umrežavanjem) i bash-dovršavanje (automatsko dovršavanje naredbenog retka).

Instalirajte ih sve jednim potezom izvršavanjem naredbe u nastavku.

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

Postavljanje umrežavanja u RHEL 7

RHEL 7 ima širok raspon alata koji se mogu koristiti za konfiguriranje i upravljanje mrežom, od ručnog uređivanja mrežne konfiguracijske datoteke do korištenja naredbi poput nmcli ili route.

Najjednostavniji uslužni program koji početnik može koristiti za upravljanje i promjenu mrežnih konfiguracija je grafički naredbeni redak nmtui.

Da biste promijenili ime hosta sustava putem uslužnog programa nmtui, izvršite naredbu nmtui-hostname, postavite ime računala svog računala i pritisnite U redu za završetak, kao što je prikazano na donjoj snimci zaslona.

# nmtui-hostname

Da biste manipulirali mrežnim sučeljem, izvršite naredbu nmtui-edit, odaberite sučelje koje želite urediti i odaberite Uredi s desnog izbornika, kao što je prikazano na donjem snimku zaslona.

Jednom kad se nađete u grafičkom sučelju koje pruža uslužni program nmtui, možete postaviti IP postavke mrežnog sučelja kao što je prikazano na donjoj snimci zaslona. Kada završite, pomaknite se do OK pomoću tipke [tab] da biste spremili konfiguraciju i zatvorili.

Da biste primijenili novu konfiguraciju mrežnog sučelja, izvršite naredbu nmtui-connect, odaberite sučelje kojim želite upravljati i pritisnite opciju Deaktiviraj/Aktiviraj da biste isključili i podigli sučelje s IP postavkama, kao što je prikazano na donjim slikama zaslona.

# nmtui-connect

Da biste pregledali postavke mrežnog sučelja, možete pregledati sadržaj datoteke sučelja ili izdati naredbe u nastavku.

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

Ostali korisni uslužni programi koji se mogu koristiti za upravljanje brzinom, stanje veze ili dobivanje informacija o mrežnim sučeljima stroja su ethtool i mii-tool.

# ethtool enp0s3
# mii-tool enp0s3

Izradite novi korisnički račun

Na sljedećem koraku, dok ste prijavljeni kao root na poslužitelj, stvorite novog korisnika pomoću naredbe u nastavku. Taj će se korisnik kasnije koristiti za prijavu u vaš sustav i izvršavanje administrativnih zadataka.

# adduser tecmint_user

Nakon što dodate korisnika pomoću gornje naredbe, postavite snažnu lozinku za tog korisnika izdavanjem naredbe u nastavku.

# passwd tecmint_user

U slučajevima kada ovog novog korisnika želite prisiliti da promijeni lozinku pri prvom pokušaju prijave, izvršite donju naredbu.

# chage -d0 tecmint_user

Ovaj novi korisnički račun sa zasad ima redovite privilegije računa i ne može izvršavati administrativne zadatke putem sudo naredbe.

Da biste izbjegli upotrebu korijenskog računa za obavljanje administrativnih privilegija, dodijelite ovom novom korisniku administrativne povlastice dodavanjem korisnika u sistemsku grupu "kotačić".

Korisnicima koji pripadaju grupi "kotačić" dopušteno je, prema zadanim postavkama u RHEL, pokretati naredbe s root privilegijama pomoću sudo uslužnog programa prije pisanja naredbe potrebne za izvršenje.

Na primjer, da biste korisnika "tecmint_user" dodali u grupu "kotačić", izvršite donju naredbu.

# usermod -aG wheel tecmint_user

Nakon toga, prijavite se u sustav s novim korisnikom i pokušajte ažurirati sustav putem naredbe ‘sudo yum update’ kako biste testirali ima li korisnik dodijeljene root ovlasti.

# su - tecmint_user
$ sudo yum update

Konfigurirajte SSH autentifikaciju javnog ključa na RHEL 7

Na sljedećem koraku, kako biste povećali sigurnost posluživanja RHEL, konfigurirajte SSH autentifikaciju javnog ključa za novog korisnika. Da biste generirali par SSH ključeva, javni i privatni ključ, izvršite sljedeću naredbu na konzoli poslužitelja. Obavezno se prijavite u sustav s korisnikom kojem postavljate SSH ključ.

# su - tecmint_user
$ ssh-keygen -t RSA

Dok se ključ generira, od vas će se zatražiti da dodate lozinku kako biste osigurali ključ. Možete unijeti snažnu lozinku ili ostaviti lozinku praznom ako želite automatizirati zadatke putem SSH poslužitelja.

Nakon generiranja SSH ključa, kopirajte par javnih ključeva na udaljeni poslužitelj izvršavanjem naredbe u nastavku. Da biste instalirali javni ključ na udaljeni SSH poslužitelj, trebat će vam korisnički račun koji ima vjerodajnice za prijavu na taj poslužitelj.

$ ssh-copy-id [email 

Sada biste se trebali pokušati prijaviti putem SSH-a na udaljeni poslužitelj koristeći privatni ključ kao metodu provjere autentičnosti. Trebali biste se moći automatski prijaviti bez da SSH poslužitelj traži lozinku.

$ ssh [email 

Da biste vidjeli sadržaj svog javnog SSH ključa ako želite ručno instalirati ključ na udaljeni SSH poslužitelj, izdajte sljedeću naredbu.

$ cat ~/.ssh/id_rsa

Sigurni SSH na RHEL 7

Da biste osigurali SSH demon i onemogućili udaljeni SSH pristup root računu putem lozinke ili ključa, otvorite glavnu konfiguracijsku datoteku SSH poslužitelja i napravite sljedeće promjene.

$ sudo vi /etc/ssh/sshd_config

Potražite redak #PermitRootLogin da, raskomentirajte redak uklanjanjem znaka # (hashtag) s početka retka i izmijenite redak tako da izgleda kao što je prikazano u donjem izvatku.

PermitRootLogin no

Nakon toga, ponovno pokrenite SSH poslužitelj kako biste primijenili nove postavke i testirali konfiguraciju pokušavajući se prijaviti na ovaj poslužitelj s matičnim računom. Pristup root računu putem SSH-a do sada bi trebao biti ograničen.

$ sudo systemctl restart sshd

Postoje situacije u kojima biste mogli automatski isključiti sve udaljene SSH veze sa svojim poslužiteljem nakon određenog razdoblja neaktivnosti.

Da biste omogućili ovu značajku na cijelom sustavu, izvršite naredbu u nastavku koja dodaje varijablu bash TMOUT u glavnu bashrc datoteku i prisiljava svaku SSH vezu da se prekine ili prekine nakon 5 minuta neaktivnosti.

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

Pokrenite tail naredbu da provjerite je li varijabla ispravno dodana na kraju datoteke/etc/bashrc. Sve naredne SSH veze automatski će se zatvoriti nakon 5 minuta neaktivnosti.

$ tail /etc/bashrc

Na donjem snimku zaslona, udaljena SSH sesija s drupal stroja na RHEL poslužitelj automatski se odjavila nakon 5 minuta.

Konfigurirajte vatrozid na RHEL 7

Na sljedećem koraku konfigurirajte vatrozid kako biste dodatno osigurali sustav na mrežnoj razini. RHEL 7 isporučuje se s aplikacijom Firewalld za upravljanje iptables pravilima na poslužitelju.

Prvo provjerite radi li vatrozid u vašem sustavu izdavanjem naredbe u nastavku. Ako je Firewalld demon zaustavljen, trebali biste ga pokrenuti sljedećom naredbom.

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

Jednom kada je vatrozid omogućen i pokrenut u vašem sustavu, možete upotrijebiti uslužni program naredbenog retka firewall-cmd za postavljanje informacija o pravilima vatrozida i omogućavanje prometa na određenim mrežnim priključcima, poput SSH demona, veze uspostavljene s internim web poslužiteljem ili drugim povezane mrežne usluge.

Budući da trenutno na svom poslužitelju upravo pokrećemo SSH demon, možemo prilagoditi politiku vatrozida tako da dopušta promet za SSH uslužni port izdavanjem sljedeće naredbe.

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

Da biste dodali pravilo vatrozida u letu, bez primjene pravila sljedeći put kada se poslužitelj pokrene, upotrijebite donju sintaksu naredbe.

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

Ako na svoj poslužitelj instalirate druge mrežne usluge, poput HTTP poslužitelja, poštanskog poslužitelja ili drugih mrežnih usluga, možete dodati pravila koja omogućavaju određene veze kako slijedi.

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

Za popis svih pravila vatrozida pokrenite naredbu u nastavku.

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

Uklonite nepotrebne usluge u RHEL 7

Da biste dobili popis svih mrežnih usluga (TCP i UDP) koje se prema zadanim postavkama izvode na vašem RHEL poslužitelju, izdajte naredbu ss, kao što je prikazano u donjem primjeru.

$ sudo ss -tulpn

Naredba ss otkrit će neke zanimljive usluge koje su u vašem sustavu zadane i pokrenute, poput glavne usluge Postfix i poslužitelja odgovornog za NTP protokol.

Ako ne planirate konfigurirati ovaj poslužitelj za poslužitelj pošte, trebali biste zaustaviti, onemogućiti i ukloniti demon Postfix izdavanjem naredbi u nastavku.

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

U posljednje vrijeme zabilježeni su gadni DDOS napadi preko NTP protokola. U slučaju da ne planirate konfigurirati svoj RHEL poslužitelj za pokretanje kao NTP poslužitelj kako bi interni klijenti sinkronizirali vrijeme s tim poslužiteljem, trebali biste potpuno onemogućiti i ukloniti Chrony demon izdavanjem naredbi u nastavku.

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

Ponovno pokrenite ss naredbu da biste utvrdili rade li druge mrežne usluge u vašem sustavu te ih onemogućili i uklonili.

$ sudo ss -tulpn

Da biste osigurali točno vrijeme za svoj poslužitelj i sinkronizirali vrijeme s gornjim vremenskim poslužiteljem, možete instalirati uslužni program ntpdate i sinkronizirati vrijeme s javnim NTP poslužiteljem izvršavanjem naredbi u nastavku.

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

Da biste automatizirali naredbu sinkronizacije vremena ntpdate koja će se izvršavati svaki dan bez ikakve intervencije korisnika, zakažite novi posao crontaba koji će se izvoditi u ponoć sa sljedećim sadržajem.

$ sudo crontab -e

Izvadak iz datoteke Crontab:

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

To je sve! Sada ste RHEL poslužitelj pripremljeni za instaliranje dodatnog softvera potrebnog za prilagođene mrežne usluge ili programe, poput instaliranja i konfiguriranja web poslužitelja, poslužitelja baze podataka, usluge dijeljenja datoteka ili drugih specifičnih aplikacija.

Da biste dodatno osigurali i učvrstili RHEL 7 poslužitelj, pogledajte sljedeće članke.

  1. Mega vodič za učvršćivanje i sigurnost RHEL 7 - 1. dio
  2. Mega vodič za učvršćivanje i sigurnost RHEL 7 - 2. dio

Ako planirate postaviti web stranice na ovom RHEL 7 sustavu, naučite kako postaviti i konfigurirati LEMP stog.