10 askelta Linux-palvelimen suojaamiseen tuotantoympäristössä

marras 28, 2021
admin
Megha Pandey
Megha Pandey

Seuraa

Lokakuu 5, 2017 – 6 min read

Linux-palvelimen suojaaminen on olennaista, jotta voimme suojata tietojamme hakkereilta. Mutta palvelimen suojaaminen ei tarvitse olla monimutkainen .Meidän pitäisi ottaa käyttöön menetelmä, joka suojaa palvelimemme yleisimmiltä hyökkäyksiltä yhdessä tehokkaan hallinnoinnin kanssa .

Mutta älä ota asioita itsestäänselvyyksinä. Jopa kaikkein paatuneimmat palvelimet voidaan kaapata hyödyntämällä mitä tahansa haavoittuvaa komponenttia, joka on käynnissä kyseisellä palvelimella.

Asenna mitä tarvitset

Ensimmäinen sääntö on pitää palvelimesi laihana ja keskinkertaisena. Asenna vain ne paketit, joita todella tarvitset. Jos on ei-toivottuja paketteja; puhdista. Mitä vähemmän paketteja, sitä pienempi mahdollisuus on, että koodia ei ole korjattu.

Kytke SELinux päälle

Security-Enhanced Linux (SELinux) on ytimen tarjoama pääsynvalvonnan turvamekanismi.

SELinux tarjoaa 3 perustoimintatilaa :

  • Enforcing:
  • Permissive: Tässä tilassa SELinux ei pakota järjestelmän tietoturvakäytäntöä, vaan ainoastaan varoittaa ja kirjaa toimintoja.
  • Disabled: SELinux on kytketty pois päältä.

Se voidaan hallita tiedostosta ’/etc/selinux/config’, jossa voit ottaa sen käyttöön tai poistaa sen käytöstä.

Secure Console Access

Konsolikäytön suojaaminen

Linux-palvelimien konsolikäytön suojaaminen on varmistettava kytkemällä pois päältä käynnistys ulkoisilta laitteilta, kuten DVD-levyiltä/CD-levyiltä/USB-kynältä, BIOS:n asennuksen jälkeen. Lisäksi ,Aseta BIOSin ja grub-käynnistyslataajan salasana näiden asetusten suojaamiseksi.

Rajoita vanhojen salasanojen käyttöä

Voidaan rajoittaa käyttäjien mahdollisuutta käyttää samoja vanhoja salasanoja. Vanha salasanatiedosto sijaitsee osoitteessa /etc/security/opasswd. Tämä voidaan tehdä käyttämällä PAM-moduulia.

Avaa tiedosto ’/etc/pam.d/system-auth’ RHEL / CentOS / Fedora -käyttöjärjestelmissä.

# vi /etc/pam.d/system-auth

Avaa tiedosto ’/etc/pam.d/common-password’ Ubuntu/Debian/Linux -käyttöjärjestelmissä.

# vi /etc/pam.d/common-password

Add the following line to ’auth’ section.

auth sufficient pam_unix.so likeauth nullok

Add the below line to ’password’ section to disallow a user from re-using last 3 passwords.

password sufficient pam_unix.so nullok use_authtok md5 shadow remember=3

Last 3 passwords are remember by server. Jos yrität käyttää 3 viimeistä vanhaa salasanaa, saat virheilmoituksen.

Tarkista kuuntelevat portit

Käytä komentoa ’netstat’ nähdäksesi avoinna olevat portit ja niitä vastaavat palvelut .

netstat -tunlp 

Poista ei-toivotut palvelut järjestelmästä komennolla ’chkconfig’ ja sulje portit joita ei tarvita.

chkconfig serviceName off

Poista Root-kirjautuminen

Ei ole suositeltavaa ssh:lla päästä palvelimelle superkäyttäjänä(root). Meidän pitäisi poistaa ssh root-käyttäjänä palvelimelta, mutta ennen sitä luodaan käyttäjä, jolla on sudo-valtuudet, jotta voit ssh:lla päästä palvelimelle ja suorittaa hallinnollisia tehtäviä. Kun olet kirjautunut palvelimelle, voit aina tarvittaessa vaihtaa käyttäjän root-käyttäjäksi.

Luo uusi käyttäjä :

useradd user1

Luo salasana lisätylle käyttäjälle :

passwd user1

Anna sudo-oikeudet juuri lisätylle käyttäjälle :

echo 'user1 ALL=(ALL) ALL' >> /etc/sudoers

SSH:lla palvelimelle uudella käyttäjällä ja varmista, että kirjautuminen toimii.

Poista nyt root-kirjautuminen käytöstä, eli kukaan ei voi ssh:lla tai kirjautua palvelimelle root-käyttäjänä. Tätä varten avataan sshd:n konfigurointitiedosto:

nano /etc/ssh/sshd_conf

Poista seuraavaksi kommentti riviltä, jossa lukee

PermitRootLogin no

Tallenna ja sulje tämä tiedosto, ja käynnistä sitten palvelu uudestaan

service sshd restart

Tärkeää: Älä vielä kirjaudu ulos palvelimelta. Testaa ensin, pääsetkö onnistuneesti ssh:lla palvelimeen aiemmin luotua käyttäjää käyttäen. Avaa toinen instanssi terminaalista ja ssh-palvelimeen aiemmin luomallasi käyttäjällä. Jos kaikki toimii hyvin, voit turvallisesti kirjautua ulos palvelimelta rootina.

Vaihda portti

Voidaan vaihtaa oletusarvoinen SSH-portti lisätäksemme läpinäkymättömyyskerroksen pitämään palvelimesi turvallisena .

Avaa tiedosto /etc/ssh/sshd_config

korvaa oletusportti 22 eri porttinumerolla vaikkapa 1110

save & poistu tiedostosta

service sshd restart

Nyt sisäänkirjautumista varten määrittele portti nro.

ssh username@IP -p 1110

Poista Ctrl+Alt+Delete käytöstä Inittabissa

Ctrl+Alt+Deleten painaminen vie palvelimen uudelleenkäynnistykseen. Joten tämä on aina suositeltavaa poistaa käytöstä, koska joku voi vahingossa käynnistää järjestelmän uudelleen.

Ctrl+Alt+Del-toiminto on määritelty tiedostossa /etc/init/control-alt-delete.conf .Kommentoi alla oleva rivi

Salasanaton sisäänkirjautuminen

Voimme kirjautua palvelimellemme helposti SSH:n kautta ilman salasanaa generoimalla ssh-avaimet. Ole vain tarkkana, että voit kirjautua palvelimelle vain siltä koneelta, jolla olet luonut ssh-avaimet

SSH-avaimien generointi :

ssh-keygen - t rsa

Kopioi julkinen SSH-avain , lisää sitten sama palvelimeen

cat ~/.ssh/id_rsa.pub

Sh-avainten lisääminen palvelimeen

Esimerkiksi meillä on käyttäjä-käyttäjä1, joka antaa ssh-avaimella pääsyn palvelimeen

cd /home/user1
ls -ll

Luo .ssh-hakemisto ja luo sen sisälle tiedosto nimeltä authorized_keys ja lisää käyttäjän julkinen ssh-avain samaan

mkdir .ssh
cd /home/admin/.ssh
vim authorized_keys

Lisää julkinen ssh-avain ja vaihda sen jälkeen omistajaksi tiedoston tiedoston

chown user1 authorized_keys

Poista ssh-kirjautuminen käytöstä

Muokkaa /etc/ssh/sshd_config

Passwordauthentication no
PermitRootLogin no

>

Nyt, vain valtuutettu käyttäjä voi kirjautua palvelimelle komennolla

ssh user-name@serverIP -p(port Number)

Fail2Ban SSH-kirjautumiselle

Fail2ban toimii muuttamalla palomuurisääntöjä dynaamisesti kieltääkseen osoitteet, jotka ovat yrittäneet epäonnistuneesti kirjautua sisään tietyn määrän kertoja.

Asenna Fail2ban :

sudo apt-get update
apt-get install fail2ban

Luo uusi tiedosto jail.local ja kopioi jail.config-tiedoston sisältö sinne ja tee muutokset vain jail.local-tiedostoon

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Muokkaa /etc/fail2ban/jail.local-tiedostoa

Tee halutut muutokset:


enabled = true
port = ssh ( provide the port number if the default port is changed )
protocol = tcp
filter = sshd
logpath = /var/log/secure
maxretry = 3 ( max no. of tries after which the host should be banned)
findtime = 600 (This parameter sets the window that fail2ban will pay attention to when looking for repeated failed authentication attempts in seconds)
bantime = 600 (time duration for which the host is banned -in seconds)

Sitten käynnistä fail2ban-palvelut uudelleen

service fail2ban restart

IP voidaan estää pysyvästi asettamalla bantime = -1.

Huomaa: FAIL2BAN estää globaalin IP:n .

Turvallisuus oli ennen joskus hankalaa, mutta nyt se on välttämätöntä koko ajan – Martina Navratilova

Kiitos lukemisesta . Jos löysit tämän artikkelin hyödylliseksi, muutamat taputukset merkitsisivät paljon!

Stay tuned 🙂

Vastaa

Sähköpostiosoitettasi ei julkaista.