25 Linux-palvelinten suojausvinkkejä


Kaikki sanovat, että Linux on oletusarvoisesti suojattu ja suostunut johonkin laajennukseen (se on kiistanalainen aihe). Linuxilla on kuitenkin oletusarvoisesti sisäänrakennettu suojausmalli. Tarve virittää se ja mukauttaa tarpeidesi mukaan, mikä voi auttaa parantamaan järjestelmän turvallisuutta. Linuxia on vaikea hallita, mutta se tarjoaa enemmän joustavuutta ja määritysvaihtoehtoja.

Järjestelmän suojaaminen tuotannossa hakkereiden ja hakkerien käsistä on haastava tehtävä järjestelmänvalvojalle. Tämä on ensimmäinen artikkelimme, joka liittyy "Kuinka suojata Linux-laatikkoa" tai "Linux-laatikon kovettaminen". Tässä viestissä selitämme 25 hyödyllistä vinkkiä Linux-järjestelmän suojaamiseksi. Toivottavasti alla olevat vinkit auttavat sinua jatkamaan järjestelmän suojaamista.

1. Fyysinen järjestelmän turvallisuus

Määritä BIOS poistaaksesi käynnistämisen CD/DVD-levyltä, ulkoisista laitteista ja levykeasemasta BIOSissa. Ota seuraavaksi käyttöön BIOS-salasana ja suojaa myös GRUB salasanalla, jotta voit rajoittaa järjestelmän fyysistä käyttöä.

  1. Aseta GRUB-salasana suojaamaan Linux-palvelimia

2. Levyn osiot

On tärkeää, että käytössä on eri osiot, jotta tietoturva paranisi, jos katastrofi sattuu. Luomalla erilaisia osioita tiedot voidaan erottaa ja ryhmitellä. Odottamattoman onnettomuuden sattuessa vain kyseisen osion tiedot vahingoittuvat, kun taas muiden osioiden tiedot säilyivät. Varmista, että sinulla on oltava seuraavat erilliset osiot ja että kolmannen osapuolen sovellukset on asennettava erillisiin tiedostojärjestelmiin kohdassa/opt.

/
/boot
/usr
/var
/home
/tmp
/opt

3. Pienennä paketteja haavoittuvuuden minimoimiseksi

Haluatko todella kaikenlaisten palveluiden asentamisen ?. On suositeltavaa välttää turhien pakettien asentamista pakettien haavoittuvuuksien välttämiseksi. Tämä voi minimoida riskin, että yhden palvelun vaarantuminen voi johtaa muiden palvelujen vaarantumiseen. Etsi ja poista ei-toivotut palvelut palvelimelta haavoittuvuuden minimoimiseksi. Käytä komentoa 'chkconfig' selvittääksesi ajotasolla 3 käynnissä olevat palvelut.

# /sbin/chkconfig --list |grep '3:on'

Kun olet huomannut, että kaikki ei-toivotut palvelut ovat käynnissä, poista ne käytöstä seuraavalla komennolla.

# chkconfig serviceName off

Käytä RPM-paketinhallintaa, kuten "yum" tai "apt-get", luetteloidaksesi kaikki asennetut paketit järjestelmään ja poistaaksesi ne seuraavalla komennolla.

# yum -y remove package-name
# sudo apt-get remove package-name

  1. 5 chkconfig-komentoesimerkkiä
  2. 20 käytännön esimerkkiä RPM-komennoista
  3. 20 Linux YUM -komentoa Linux-pakettien hallintaan
  4. 25 APT-GET- ja APT-CACHE-komentoa pakettien hallintaan

4. Valitse Kuunteluverkon portit

Netstat-verkkokomennon avulla voit tarkastella kaikkia avoimia portteja ja niihin liittyviä ohjelmia. Kuten edellä sanoin, käytä 'chkconfig' -komentoa poistaaksesi kaikki ei-toivotut verkkopalvelut järjestelmästä.

# netstat -tulpn

  1. 20 Netstat-komentoa verkonhallintaan Linuxissa

5. Käytä suojattua kuorta (SSH)

Telnet- ja rlogin-protokollat käyttävät pelkkää tekstiä, ei salattua muotoa, mikä on tietoturvaloukkauksia. SSH on suojattu protokolla, joka käyttää salaustekniikkaa yhteydenpidossa palvelimen kanssa.

Älä koskaan kirjaudu suoraan pääkäyttäjänä, ellei se ole tarpeen. Käytä komentoa "sudo" komentojen suorittamiseen. sudo määritetään tiedostossa/etc/sudoers. tiedostoa voidaan myös muokata Visudo-apuohjelmalla, joka avautuu VI-editoriin.

On myös suositeltavaa vaihtaa SSH 22 -portin oletusnumero jollakin muulla korkeamman tason porttinumerolla. Avaa tärkein SSH-määritystiedosto ja tee joitain seuraavia parametreja rajoittaa käyttäjien pääsyä.

# vi /etc/ssh/sshd_config
PermitRootLogin no
AllowUsers username
Protocol 2

  1. 5 parasta käytäntöä SSH-palvelimen suojaamiseen

6. Pidä järjestelmä ajan tasalla

Pidä järjestelmä aina ajan tasalla uusimmista julkaisupaketeista, tietoturvakorjauksista ja ytimestä, kun se on käytettävissä.

# yum updates
# yum check-update

7. Lukitse Cronjobs

Cronilla on oma sisäänrakennettu ominaisuus, jossa sen avulla voidaan määrittää kuka voi ja kuka ei halua suorittaa töitä. Tätä hallitaan tiedostojen /etc/cron.allow ja /etc/cron.deny nimellä. Jos haluat lukita käyttäjän cronilla, lisää vain käyttäjätunnukset cron.deny-tiedostoon ja anna käyttäjän suorittaa cron add -toiminto cron.allow-tiedostossa. Jos haluat estää kaikkien käyttäjien käyttämästä cronia, lisää ‘ALL’ -rivi cron.deny-tiedostoon.

# echo ALL >>/etc/cron.deny

  1. 11 Cron Scheduling -esimerkkiä Linuxissa

8. Poista USB-tikku käytöstä tunnistamiseksi

Monta kertaa sattuu, että haluamme rajoittaa käyttäjiä käyttämästä USB-muistitikkua järjestelmissä suojaamaan ja suojaamaan tietoja varastamiselta. Luo tiedosto '/etc/modprobe.d/no-usb', ja lisääminen rivin alle ei tunnista USB-tallennustilaa.

install usb-storage /bin/true

9. Kytke SELinux päälle

Security-Enhanced Linux (SELinux) on pakollinen pääsynvalvonnan suojausmekanismi, joka annetaan ytimessä. SELinuxin poistaminen käytöstä tarkoittaa suojausmekanismin poistamista järjestelmästä. Ajattele kahdesti huolellisesti ennen poistamista, jos järjestelmäsi on liitetty Internetiin ja yleisön käytettävissä, ajattele sitten lisää siitä.

SELinux tarjoaa kolme perustoimintatapaa ja ne ovat.

  1. Pakottaminen: Tämä on oletustila, joka sallii ja valvoo koneen SELinux-tietoturvakäytäntöä.
  2. Sallittu: Tässä tilassa SELinux ei pakota järjestelmän tietoturvakäytäntöä, vain varoittaa ja kirjaa toiminnot. Tämä tila on erittäin hyödyllinen SELinuxiin liittyvien ongelmien vianmäärityksessä.
  3. Ei käytössä: SELinux on pois päältä.

Voit tarkastella SELinux-tilan nykyistä tilaa komentoriviltä komentojen 'system-config-selinux', 'getenforce' tai 'sestatus' avulla.

# sestatus

Jos se on poistettu käytöstä, ota SELinux käyttöön seuraavalla komennolla.

# setenforce enforcing

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

10. Poista KDE/GNOME-työpöydät

X Window -työpöytiä, kuten KDE tai GNOME, ei tarvitse suorittaa omalla LAMP-palvelimellasi. Voit poistaa tai poistaa ne käytöstä palvelimen ja suorituskyvyn parantamiseksi. Voit poistaa yksinkertaisen avaamalla tiedoston '/ etc/inittab' ja asettamalla suoritustasoksi 3. Jos haluat poistaa sen kokonaan järjestelmästä, käytä alla olevaa komentoa.

# yum groupremove "X Window System"

11. Sammuta IPv6

Jos et käytä IPv6-protokollaa, poista se käytöstä, koska suurin osa sovelluksista tai käytännöistä ei vaadi IPv6-protokollaa ja sitä ei tällä hetkellä vaadita palvelimella. Siirry verkon määritystiedostoon ja lisää seuraavat rivit sen poistamiseksi käytöstä.

# vi /etc/sysconfig/network
NETWORKING_IPV6=no
IPV6INIT=no

12. Rajoita käyttäjiä käyttämään vanhoja salasanoja

Tämä on erittäin hyödyllistä, jos haluat estää käyttäjien käyttämästä samoja vanhoja salasanoja. Vanha salasanatiedosto sijaitsee/etc/security/opasswd. Tämä voidaan saavuttaa käyttämällä PAM-moduulia.

Avaa tiedosto /etc/pam.d/system-auth kohdassa RHEL/CentOS/Fedora.

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

Avaa tiedosto /etc/pam.d/common-password Ubuntu/Debian/Linux Mint.

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

Lisää seuraava rivi ‘auth’ -osioon.

auth        sufficient    pam_unix.so likeauth nullok

Lisää seuraava rivi Salasana-osioon, jos haluat estää käyttäjää käyttämästä uudelleen viittä viimeistä salasanaansa.

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

Palvelin muistaa vain viisi viimeistä salasanaa. Jos yritit käyttää mitä tahansa viidestä viimeisestä vanhasta salasanasta, saat virheilmoituksen.

Password has been already used. Choose another.

13. Kuinka tarkistaa käyttäjän salasanan vanhentuminen

Linuxissa käyttäjän salasanat tallennetaan tiedostoon/etc/shadow salatussa muodossa. Käyttäjän salasanan vanhentumisen tarkistamiseksi sinun on käytettävä "chage" -komentoa. Se näyttää salasanan vanhentumistiedot sekä viimeisen salasanan vaihtopäivä. Järjestelmä käyttää näitä tietoja päättääkseen, milloin käyttäjän on vaihdettava salasanansa.

Voit tarkastella nykyisten käyttäjien ikääntymistietoja, kuten viimeistä käyttöpäivää ja kellonaikaa, käyttämällä seuraavaa komentoa.

#chage -l username

Voit muuttaa minkä tahansa käyttäjän salasanan ikääntymistä seuraavalla komennolla.

#chage -M 60 username
#chage -M 60 -m 7 -W 7 userName

  1. -M Aseta päivien enimmäismäärä
  2. -m Aseta päivien vähimmäismäärä
  3. -W Aseta varoituspäivien lukumäärä

14. Lukitse ja avaa tili manuaalisesti

Lukitus- ja avausominaisuudet ovat erittäin hyödyllisiä, sen sijaan, että poistat tilin järjestelmästä, voit lukita sen viikoksi tai kuukaudeksi. Voit lukita tietyn käyttäjän käyttämällä seuraa-komentoa.

# passwd -l accountName

Huomaa: Lukittu käyttäjä on edelleen käytettävissä vain pääkäyttäjälle. Lukitus suoritetaan korvaamalla salattu salasana (!) Merkkijonolla. Jos joku yrittää käyttää järjestelmää tällä tilillä, hän saa samanlaisen virheen kuin alla.

# su - accountName
This account is currently not available.

Voit avata lukitun tilin lukituksen tai ottaa sen käyttöön käyttämällä komentoa nimellä. Tämä poistaa (!) Merkkijonon salatulla salasanalla.

# passwd -u accountName

15. Vahvempien salasanojen pakottaminen

Useat käyttäjät käyttävät pehmeitä tai heikkoja salasanoja, ja heidän salasanansa voidaan hakkeroida sanakirjaan perustuvien tai raa'an voiman hyökkäysten avulla. Pam_cracklib-moduuli on saatavana PAM-moduulipinossa (Pluggable Authentication Modules), joka pakottaa käyttäjän asettamaan vahvoja salasanoja. Avaa seuraava tiedosto editorilla.

Lue myös:

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

Ja lisää rivi käyttämällä luottoparametreja muodossa (lcredit, ucredit, dcredit ja/tai ocredit vastaavasti pienet, isot, digit ja muut)

/lib/security/$ISA/pam_cracklib.so retry=3 minlen=8 lcredit=-1 ucredit=-2 dcredit=-2 ocredit=-1

16. Ota Iptables käyttöön (palomuuri)

On erittäin suositeltavaa ottaa Linux-palomuuri käyttöön palvelinten luvattoman käytön varmistamiseksi. Käytä iptables-sääntöjä saapuvien, lähtevien ja edelleenlähetettävien pakettien suodattamiseen. Voimme määrittää lähde- ja kohdeosoitteen, jotka sallitaan ja kielletään tietyssä udp/tcp-porttinumerossa.

  1. IPT-taulukko-opas ja vinkit

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

Useimmissa Linux-jakeluissa CTRL-ALT-DELETE-painikkeen painaminen vie järjestelmän uudelleenkäynnistykseen. Joten ei ole hyvä idea ottaa tämä vaihtoehto käyttöön ainakin tuotantopalvelimissa, jos joku tekee sen virheellisesti.

Tämä on määritetty tiedostossa// etc/inittab, jos tarkastelet sitä tarkasti, näet alla olevan rivin. Oletusarvoisesti riviä ei kommentoida. Meidän on kommentoitava sitä. Tämä erityinen avainjärjestyssignalointi sammuttaa järjestelmän.

# Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

18. Tilit tyhjien salasanojen tarkistaminen

Mikä tahansa tili, jolla on tyhjä salasana, tarkoittaa, että se on avattu luvattomalle pääsylle kenelle tahansa verkossa ja se on osa Linux-palvelimen tietoturvaa. Joten sinun on varmistettava, että kaikilla tileillä on vahvat salasanat ja kenelläkään ei ole valtuutettua pääsyä. Tyhjät salasanatilit ovat tietoturvariskejä, joita voi helposti hakata. Voit tarkistaa, onko tilit tyhjällä salasanalla, käyttämällä seuraavaa komentoa.

# cat /etc/shadow | awk -F: '($2==""){print $1}'

19. Näytä SSH-banneri ennen kirjautumista

Aina on parempi ajatus, että ennen SSH-todennusta on laillinen banneri tai tietoturvabannereita, joissa on joitain turvallisuusvaroituksia. Jos haluat asettaa tällaiset bannerit, lue seuraava artikkeli.

  1. Näytä SSH-varoitusviesti käyttäjille

20. Seuraa käyttäjien toimintaa

Jos olet tekemisissä monien käyttäjien kanssa, on tärkeää kerätä jokaisen käyttäjän tekemän toiminnan ja prosessin tiedot ja analysoida ne myöhemmin tai siinä tapauksessa, että suorituskykyyn tai tietoturvaan liittyy ongelmia. Mutta kuinka voimme seurata ja kerätä käyttäjien toimintaa koskevia tietoja.

On olemassa kaksi hyödyllistä työkalua nimeltä "psacct" ja "acct", joita käytetään käyttäjän toiminnan ja prosessien seurantaan järjestelmässä. Nämä työkalut toimivat järjestelmän taustalla ja seuraavat jatkuvasti kunkin käyttäjän toimintaa järjestelmässä ja resursseja, joita esimerkiksi Apache, MySQL, SSH, FTP jne. Käyttävät. Lisätietoja asennuksesta, kokoonpanosta ja käytöstä on alla olevassa URL-osoitteessa.

  1. Seuraa käyttäjän toimintaa psacct- tai acct-komennoilla

21. Tarkista lokit säännöllisesti

Siirrä lokeja erilliselle lokipalvelimelle, mikä voi estää tunkeilijoita muokkaamasta paikallisia lokeja helposti. Alla on yleisten Linux-oletuslokitiedostojen nimi ja niiden käyttö:

  1. /var/log/message - Jos käytettävissä ovat kokonaiset järjestelmälokit tai nykyisen toiminnan lokit.
  2. /var/log/auth.log - Todennuslokit.
  3. /var/log/kern.log - Ytimen lokit.
  4. /var/log/cron.log - Crond-lokit (cron-työ).
  5. /var/log/maillog - postipalvelimen lokit.
  6. /var/log/boot.log - järjestelmän käynnistysloki.
  7. /var/log/mysqld.log - MySQL-tietokantapalvelimen lokitiedosto.
  8. /var/log/secure - Todennusloki.
  9. /var/log/utmp tai/var/log/wtmp: Kirjautumistiedostotiedosto.
  10. /var/log/yum.log: Yum-lokitiedostot.

22. Tärkeä tiedostojen varmuuskopiointi

Tuotantojärjestelmässä tärkeät tiedostot on varmuuskopioitava ja pidettävä ne turvavarastossa, etäsivustossa tai muualla katastrofien palauttamiseksi.

23. NIC-liimaus

NIC-liimausmenetelmissä on kahta tyyppiä, jotka on mainittava liimausrajapinnassa.

  1. mode = 0 - Robin
  2. mode = 1 - aktiivinen ja varmuuskopioitu

NIC-liimaus auttaa meitä välttämään yhden epäonnistumisen. Verkkoliitännöissä liitämme kaksi tai useampia Ethernet-verkkokortteja yhteen ja teemme yhden virtuaalisen käyttöliittymän, jossa voimme määrittää IP-osoitteen puhua muiden palvelimien kanssa. Verkkomme on käytettävissä, jos yksi verkkokortti on poissa käytöstä tai se ei ole käytettävissä jostain syystä.

24. Säilytä/käynnistä vain luku -tilana

Linux-ydin ja siihen liittyvät tiedostot ovat/boot-hakemistossa, joka on oletusarvoisesti luku-kirjoitus-tiedosto. Sen muuttaminen vain luku -tilaan vähentää kriittisten käynnistystiedostojen luvattoman muokkaamisen riskiä. Voit tehdä tämän avaamalla “/ etc/fstab” -tiedoston.

# vi /etc/fstab

Lisää seuraava rivi alareunaan, tallenna ja sulje se.

LABEL=/boot     /boot     ext2     defaults,ro     1 2

Huomaa, että sinun on palautettava muutos luku- ja kirjoitustoiminnoksi, jos haluat päivittää ytimen tulevaisuudessa.

25. Ohita ICMP tai Broadcast Request

Lisää seuraava rivi tiedostoon ”/etc/sysctl.conf” ohittaaksesi ping- tai lähetyspyynnön.

Ignore ICMP request:
net.ipv4.icmp_echo_ignore_all = 1

Ignore Broadcast request:
net.ipv4.icmp_echo_ignore_broadcasts = 1

Lataa uudet asetukset tai muutokset suorittamalla seuraava komento

#sysctl -p

Jos olet unohtanut jonkin tärkeän tietoturva- tai kovettumisvinkin yllä olevasta luettelosta tai sinulla on muita vinkkejä, jotka on lisättävä luetteloon. Ole hyvä ja pudota kommenttisi kommenttikenttään. TecMint on aina kiinnostunut saamaan kommentteja, ehdotuksia ja keskustelua parantamiseksi.