Uvod
Preduvjeti
Korak 1: Napravite standardni korisnički račun
Korak 2: Onemogućite Root prijavu i provjeru lozinke
Korak 3: Konfigurirajte vremensku zonu
Korak 4: Omogućite IPTables vatrozid
Korak 5: Dopustite dodatni promet kroz vatrozid
Uvod
Novoaktivirani poslužitelj CentOS 7 mora se prilagoditi prije nego što se može staviti u upotrebu kao proizvodni sustav. U ovom su članku na lako razumljiv način dane najvažnije prilagodbe koje ćete morati napraviti.
Preduvjeti
Novoaktivirani poslužitelj CentOS 7, po mogućnosti postavljanje sa SSH ključevima. Prijavite se na poslužitelj kao root.
ssh -l root server-ip-address
Korak 1: Napravite standardni korisnički račun
Iz sigurnosnih razloga nije preporučljivo obavljati svakodnevne računalne zadatke koristeći root račun. Umjesto toga, preporuča se stvoriti standardni korisnički račun koji će se koristiti sudoza stjecanje administrativnih privilegija. Za ovaj vodič pretpostavite da stvaramo korisnika pod imenom joe . Za kreiranje korisničkog računa upišite:
adduser joe
Postavite lozinku za novog korisnika. Od vas će se tražiti da unesete i potvrdite lozinku.
passwd joe
Dodajte novog korisnika u grupu kotača tako da može preuzeti root privilegije koristeći sudo.
gpasswd -a joe wheel
Konačno, otvorite drugi terminal na svom lokalnom računalu i upotrijebite sljedeću naredbu da dodate svoj SSH ključ u kućni direktorij novog korisnika na udaljenom poslužitelju. Prije instaliranja SSH ključa od vas će se tražiti autentifikacija.
ssh-copy-id joe@server-ip-address
Nakon što je ključ instaliran, prijavite se na poslužitelj koristeći novi korisnički račun.
ssh -l joe server-ip-address
Ako je prijava uspješna, možete zatvoriti drugi terminal. Od sada će svim naredbama prethoditi sudo.
Korak 2: Onemogućite Root prijavu i provjeru lozinke
Budući da se sada možete prijaviti kao standardni korisnik koristeći SSH ključeve, dobra je sigurnosna praksa konfigurirati SSH tako da su provjere autentičnosti root-a i lozinke onemogućene. Obje postavke moraju biti konfigurirane u konfiguracijskoj datoteci SSH demona. Dakle, otvorite ga pomoću nano.
sudo nano /etc/ssh/sshd_config
Potražite redak PermitRootLogin , dekomentirajte ga i postavite vrijednost na ne .
PermitRootLogin no
Učinite isto za PasswordAuthenticationredak koji bi već trebao biti dekomentiran:
PasswordAuthentication no
Spremite i zatvorite datoteku. Da biste primijenili nove postavke, ponovno učitajte SSH.
sudo systemctl reload sshd
Prema zadanim postavkama, vrijeme na poslužitelju je dano u UTC. Najbolje ga je konfigurirati tako da prikazuje lokalnu vremensku zonu. Da biste to postigli, locirajte datoteku zone vaše zemlje/geografskog područja u /usr/share/zoneinfoimeniku i stvorite simboličku vezu od nje do /etc/localtimeimenika. Na primjer, ako ste u istočnom dijelu SAD-a, stvorit ćete simboličku vezu pomoću:
sudo ln -sf /usr/share/zoneinfo/US/Eastern /etc/localtime
Nakon toga, provjerite je li vrijeme sada dano u lokalnom vremenu pokretanjem datenaredbe. Izlaz bi trebao biti sličan:
Tue Jun 16 15:35:34 EDT 2015
EDT u izlaznim potvrđuje da je localtime.
Korak 4: Omogućite IPTables vatrozid
Prema zadanim postavkama, aktivna aplikacija vatrozida na novoaktiviranom poslužitelju CentOS 7 je FirewallD. Iako je dobra zamjena za IPTables, mnoge sigurnosne aplikacije još uvijek nemaju podršku za to. Dakle, ako ćete koristiti bilo koju od tih aplikacija, kao što je OSSEC HIDS, najbolje je onemogućiti/deinstalirati FirewallD.
Počnimo s onemogućavanjem/deinstaliranjem FirewallD-a:
sudo yum remove -y firewalld
Sada, instalirajmo/aktivirajmo IPTables.
sudo yum install -y iptables-services
sudo systemctl start iptables
Konfigurirajte IPTables da se automatski pokreću prilikom pokretanja.
sudo systemctl enable iptables
IPTables na CentOS 7 dolazi sa zadanim skupom pravila koje možete pogledati sljedećom naredbom.
sudo iptables -L -n
Izlaz će izgledati:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Možete vidjeti da jedno od tih pravila dopušta SSH promet, tako da je vaša SSH sesija sigurna.
Budući da su ta pravila pravila za vrijeme izvođenja i bit će izgubljena pri ponovnom pokretanju, najbolje ih je spremiti u datoteku koristeći:
sudo /usr/libexec/iptables/iptables.init save
Ta će naredba spremiti pravila u /etc/sysconfig/iptablesdatoteku. Pravila možete urediti u bilo kojem trenutku mijenjajući ovu datoteku svojim omiljenim uređivačem teksta.
Korak 5: Dopustite dodatni promet kroz vatrozid
Budući da ćete najvjerojatnije u nekom trenutku koristiti svoj novi poslužitelj za hostiranje nekih web-mjesta, morat ćete dodati nova pravila vatrozidu kako biste dopustili HTTP i HTTPS promet. Da biste to postigli, otvorite datoteku IPTables:
sudo nano /etc/sysconfig/iptables
Odmah nakon ili prije SSH pravila, dodajte pravila za HTTP (port 80) i HTTPS (port 443) promet, tako da se taj dio datoteke pojavljuje kao što je prikazano u bloku koda u nastavku.
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
Spremite i zatvorite datoteku, a zatim ponovno učitajte IPTables.
sudo systemctl reload iptables
Nakon što je gornji korak dovršen, vaš poslužitelj CentOS 7 sada bi trebao biti razumno siguran i spreman za upotrebu u proizvodnji.