Härdning av Linux-servrar: väsentliga metoder för effektiv hantering

Bästa metoder för härdning av Linux-servrar

En sammanfattning av metoder som kan anses vara väsentliga för mycket säkrare serverhantering. Alla kan implementeras snabbt och kräver inte för många ytterligare konfigurations- eller installationssteg.

Undvik att använda tjänster som FTP eller Telnet

Linux-servrar stöder tjänster och protokoll som FTP, Telnet eller RSH bland många andra som är osäkra, och det finns chanser att en paketsniffare kan fånga all datatrafik, inklusive autentiseringsinformation, eftersom detta görs utan någon typ av kryptering. Naturligtvis kan alla filer eller kommandon som vi överför eller exekvera ses utan problem. En paketsniffare fungerar dock inte på egen hand, utan använder snarare vilken användare som helst inom ett visst nätverk. En typisk lösning som ofta används är säkra protokoll som SSH för att utföra kommandon på distans, eller använda SFTP (SSH FTP) för att säkert överföra filer, och till och med FTPES (FTP med TLS) för att göra detsamma. Om du planerar att använda en SSH-server,handledning för att konfigurera OpenSSH-server med maximal säkerhet .

Vi måste se till att ingen av dessa servrar är installerade på vår server eller dator med Linux, förrän vi använder dem för en viss uppgift. Till exempel, på Debian- eller Ubuntu-baserade Linux-operativsystem kan du använda följande kommando för att avinstallera alla dessa tjänster:

sudo apt-get –purge ta bort xinetd nis yp-verktyg tftpd atftpd tftpd-hpa telnetd rsh-server rsh-redone-server

Som vi ser lite ovan kan vi med ett enda kommando radera praktiskt taget alla servrar med protokoll och tjänster som kan representera ett stort antal säkerhetshot.

Installera så lite programvara som möjligt

Ju mindre mjukvara och/eller tjänster vi har installerat på vår server, minskar chansen att det finns en sårbarhet i programvaran som gör att en cyberbrottsling tar kontroll över vår utrustning avsevärt. I Linux-operativsystem som Debian eller Ubuntu kan du få en fullständig lista över installerade paket, för att senare avinstallera onödiga.

Du kan använda apt-get/dkpg-paketet för att ta bort alla tjänster eller program som inte är strikt nödvändiga för din Linux-server:

dpkg –lista
dpkg –info paketnamn
apt-get remove packageName

Håll Linux-kärnan och programvaran uppdaterad

Ett av de mest övertygande skälen till att hålla all programvara på vår dator uppdaterad, såväl som de grundläggande operativsystempaketen, är säkerhet. Genom att hålla vår server med de senaste uppdateringarna säkerställer vi tillgängligheten av säkerhetskorrigeringar för att skydda oss från stora hot. Återigen kan vi använda apt-get eller dpkg pakethanteraren:

apt-get update && apt-get upgrade

Konfigurera åldrande av lösenord för Linux-användare

Det finns ett kommando som låter dig ändra antalet dagar mellan lösenordsändringar och datum för senaste lösenordsändring. Detta kommando är förändra . I grund och botten bestämmer detta kommando när en användare ska ändra sitt lösenord. Det vill säga hur länge ett visst lösenord som skapats av användaren i fråga är giltigt:

Detta kommando låter oss inaktivera lösenordsåldring:

ändra -M 99999 användarnamn

Om du behöver få information om att en viss användares lösenord löper ut, skriv följande:

chage -l användarnamn

Följande kommando låter dig ändra olika attribut relaterade till hanteringen av lösenordsändringar:

ändring -M 60 -m 7 -W 7 användarnamn

Låt oss ta en titt på det här kommandot och dess exempelparametrar:

  • -M: avser maximalt antal dagars giltighetstid för lösenordet.
  • -m: hänvisar till det minsta antal dagar som krävs för att förflyta mellan händelser med lösenordsändring.
  • -W: antalet dagar under vilka användaren varnas i förväg om behovet av att ändra lösenordet
  • användarnamn: namnet på Linux-användaren vi hanterar

Spärrar användare efter flera misslyckade inloggningsförsök

Kommandot fellogg låter dig se hela historiken för misslyckade inloggningar. Med några få inställningar kan du också begränsa antalet startfel som användaren kan ha. Här är några användningsfall:

Så här visar du misslyckad inloggningshistorik:

fellogg

Så här avblockerar en användare som är utelåst för misslyckade försök:

faillog -r -u nummerUsuario

Blockera en specifik användare:

passwd -l nummerUsuario

Lås upp en specifik användare:

passwd -u nummerUsuario

Inaktivera onödiga bakgrundstjänster

Förutom att öka säkerheten garanteras tillgången på resurser för de tjänster som verkligen behöver dem. Därefter visar vi kommandot som visar alla tjänster som börjar köras från början av sessionen på körtidsnivå 3:

chkconfig –list | grep ‘3:on’

Om du behöver inaktivera en viss tjänst anger du följande kommando:
service serviceName stopp
chkconfig serviceName av

  • Den första raden ( sluta ) används för att stoppa tjänster
  • Den andra raden ( av ) används för att inaktivera tjänster
  • Service namn avser tjänsten i fråga

Identifiera alla öppna portar

Använd följande kommando för att lista alla öppna portar, förutom tillhörande program:

netstat -tulpn

Eller:

ss-tulpn

Separata diskpartitioner

Om vi ​​separerar filer relaterade till operativsystemet från de som tillhör användare lägger vi till en högre säkerhetsnivå generellt eftersom vi kan göra säkerhetskopior av hela partitionen mycket lättare. Om vi ​​till exempel bara vill spara alla användarkonfigurationer räcker det med att göra en säkerhetskopia av /home. Tänk på att det här är systemfilerna som ska finnas på separata diskpartitioner:

  • /usr
  • /bostad
  • /var och /var/tmp
  • /tmp

Använd en centraliserad autentiseringstjänst

Fördelarna med att implementera centraliserad autentisering inkluderar enklare kontroll av alla Linux/UNIX-konton som är associerade med servern, såväl som själva autentiseringsdatan. De låter dig också lagra autentiseringsdata ( auth-data ) synkroniserad mellan servrar.

Ett förslag är OpenLDAP-implementeringen, som innehåller all nödvändig dokumentation angående installation och implementering. Den är helt öppen och självklart tillgänglig i gratis nedladdning .

Utan centraliserad autentisering slösas tid bort på att kontrollera olika autentiseringsmetoder, vilket kan leda till föråldrade autentiseringsuppgifter och sedan länge försenade användarkonton.

Använda en IDS/IPS-brandvägg (Intrusion Detection/Prevention Systems).

Att ha en brandvägg i vårt team är viktigt för att i detalj kontrollera inkommande och utgående trafik, Linux integrerar iptables som standard, även om vi i de senaste versionerna av Linux har nftables, vilket är utvecklingen av de populära iptables. Tack vare denna brandvägg kommer vi att kunna detaljstyra all trafik som går till servern och lämnar servern.

Ett intrångsdetekteringssystem hjälper oss att upptäcka skadliga eller misstänkta aktiviteter som DDoS-attacker, portskanningar eller hackningsförsök för att övervaka nätverkstrafiken de genererar. Framgångsrik och säker systemproduktion kräver granskning av mjukvarans integritet, vilket är möjligt med IDS-system.

I RedesZone rekommenderar vi Fnysa som är ett supportverktyg som hjälper dig att installera och hantera Snort. Det är ett intrångsdetekteringssystem plus ett intrångsskyddssystem (IPS). Den sistnämnda lägger till ett större lager av skydd till servrarna mot ständiga hot.

Fail2ban eller denyhost kan också betraktas som giltiga och praktiska alternativ för att implementera ett IDS-liknande system. Nu, för att installera Fail2ban, skriv följande kommandon:

sudo apt-get install fail2ban

Ändra konfigurationsfilerna efter dina behov:

sudo vi /etc/fail2ban/jail.conf

När du är klar, starta om tjänsten:

sudo systemctl starta om fail2ban.service

Inaktivera USB/Firewire/Thunderbolt-enheter

Här är kommandot som låter dig inaktivera USB-enheter på din Linux-server:

echo ‘installera usb-storage /bin/true’ >> /etc/modprobe.d/disable-usb-storage.conf

Samma metod kan användas för att inaktivera Thunderbolt-enheter:

echo “thunderbolt blacklist” >> /etc/modprobe.d/thunderbolt.conf

Så även firewire-enheter:

echo “svartlista firewire-core” >> /etc/modprobe.d/firewire.conf

Använd VPN för att ansluta till server eller hanteringsmiljö

Nuförtiden är det viktigt att använda VPN-servrar, om vi har flera dedikerade servrar eller VPS i samma administrationsnätverk kan vi använda en VPN-server för att komma åt hela plattformen i full säkerhet. Två mycket intressanta program är båda OpenVPN och WireGuard rekommenderar vi att du besöker våra fullständiga handledningar för att konfigurera VPN-servrar med maximal säkerhet.

Med denna säkerhetsåtgärd undviks möjligheten att en användare vill kopiera filer från Linux-servern till en USB-, FireWire- eller Thunderbolt-enhet. Vill du ha fler sådana här tutorials? Låt oss veta dina förslag i kommentarerna.

Relaterade Artiklar

Back to top button