Nyheter i Android, Telefoner, Prylar Och Recensioner

10 Linux-härdningstips för nybörjare SysAdmins

Linux-system är säkra genom design och ger robusta administrationsverktyg. Men oavsett hur väldesignat ett system är beror dess säkerhet på användaren.

Nybörjare tar ofta år att hitta den bästa säkerhetspolicyn för sina maskiner. Det är därför vi delar med oss ​​av dessa viktiga Linux-härdningstips för nya användare som du. Ge dem ett försök.

1. Tillämpa policyer för starka lösenord

Lösenord är den primära autentiseringsmetoden för de flesta system. Oavsett om du är hemanvändare eller professionell, är det ett måste att upprätthålla solida lösenord. Inaktivera först tomma lösenord. Du kommer inte att tro hur många som fortfarande använder dem.

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

Kör kommandot ovan som root för att se vilka konton som har tomma lösenord. Om du hittar någon med ett tomt lösenord, lås användaren direkt. Du kan göra detta genom att använda följande.

passwd -l USERNAME

Du kan också ställa in lösenordsåldring för att säkerställa att användare inte kan använda gamla lösenord. Använd kommandot chage för att göra detta från din terminal.

chage -l USERNAME

Detta kommando visar det aktuella utgångsdatumet. Använd kommandot nedan för att ställa in lösenordets utgång efter 30 dagar. Användare kan använda Linux-lösenordshanterare för att hålla onlinekonton säkra.

chage -M 30 USERNAME

2. Säkerhetskopiera väsentliga data

Om du menar allvar med dina data, ställ in regelbundna säkerhetskopior. På så sätt, även om ditt system kraschar, kan du återställa data snabbt. Men att välja rätt backupmetod är avgörande för Linux-härdning.

Om du är en hemanvändare kan det räcka med att klona data till en hårddisk. Företag behöver dock sofistikerade säkerhetskopieringssystem som erbjuder snabb återställning.

3. Undvik äldre kommunikationsmetoder

Linux stöder många fjärrkommunikationsmetoder. Men äldre Unix-tjänster som telnet, rlogin och ftp kan utgöra allvarliga säkerhetsproblem. Så försök att undvika dem. Du kan ta bort dem helt för att minska säkerhetsproblemen i samband med dem.

apt-get --purge remove xinetd nis tftpd tftpd-hpa telnetd 
> rsh-server rsh-redone-server

Detta kommando tar bort några ofta använda men föråldrade tjänster från Ubuntu/Debian-maskiner. Om du använder ett RPM-baserat system, använd följande istället.

yum erase xinetd ypserv tftp-server telnet-server rsh-server

4. Säkra OpenSSH

SSH-protokollet är den rekommenderade metoden för fjärrkommunikation för Linux. Se till att säkra din OpenSSH-serverkonfiguration (sshd). Du kan lära dig mer om hur du konfigurerar en SSH-server här.

Relaterad  AUN AKEY6S recension – 1080P Android LED-projektor för $199,99 från Geekbuying (kupong)

Redigera /etc/ssh/sshd_config fil för att ställa in säkerhetspolicyer för ssh. Nedan finns några vanliga säkerhetspolicyer som alla kan använda.

PermitRootLogin no # disables root login
MaxAuthTries 3 # limits authentication attempts
PasswordAuthentication no # disables password authentication
PermitEmptyPasswords no # disables empty passwords
X11Forwarding no # disables GUI transmission
DebianBanner no # disbales verbose banner
AllowUsers *@XXX.X.XXX.0/24 # restrict users to an IP range

5. Begränsa CRON-användning

CRON är en robust jobbschemaläggare för Linux. Det tillåter administratörer att schemalägga uppgifter i Linux med hjälp av crontab. Därför är det viktigt att begränsa vem som kan köra CRON-jobb. Du kan ta reda på alla aktiva cronjobs för en användare genom att använda följande kommando.

crontab -l -u USERNAME

Kontrollera jobben för varje användare för att ta reda på om någon utnyttjar CRON. Du kanske vill blockera alla användare från att använda crontab förutom du. Kör följande kommando för detta.

echo $(whoami) >> /etc/cron.d/cron.allow
# echo ALL >> /etc/cron.d/cron.deny

6. Genomför PAM-moduler

Linux PAM (Pluggable Authentication Modules) erbjuder kraftfulla autentiseringsfunktioner för appar och tjänster. Du kan använda olika PAM-policyer för att säkra systemets inloggning. Till exempel, kommandona nedan begränsar återanvändning av lösenord.

# CentOS/RHEL
echo 'password sufficient pam_unix.so use_authtok md5 shadow remember=5' >>
> /etc/pam.d/system-auth
# Ubuntu/Debian
echo 'password sufficient pam_unix.so use_authtok md5 shadow remember=5' >>
> /etc/pam.d/common-password

De begränsar användningen av lösenord som har använts under de senaste fem veckorna. Det finns många fler PAM-policyer som ger extra lager av säkerhet.

7. Ta bort oanvända paket

Att ta bort oanvända paket minskar attackytan på din maskin. Så vi rekommenderar att du tar bort sällan använda paket. Du kan se alla för närvarande installerade paket med hjälp av kommandona nedan.

yum list installed # CentOS/RHEL 
apt list --installed # Ubuntu/Debian

Säg att du vill ta bort det oanvända paketet vlc. Du kan göra detta genom att köra följande kommandon som root.

yum remove vlc # CentOS/RHEL
apt remove vlc # Ubuntu/Debian

8. Säkra kärnparametrar

Ett annat effektivt sätt för Linux-härdning är att säkra kärnparametrarna. Du kan konfigurera dessa parametrar med sysctl eller genom att ändra konfigurationsfilen. Nedan finns några vanliga konfigurationer.

kernel.randomize_va_space=2 # randomnize address base for mmap, heap, and stack
kernel.panic=10 # reboot after 10 sec following a kernel panic
net.ipv4.icmp_ignore_bogus_error_responses # protects bad error messages
net.ipv4.ip_forward=0 # disables IP forwarding
net.ipv4.icmp_ignore_bogus_error_responses=1 # ignores ICP errors

Detta är bara några grundläggande konfigurationer. Du kommer att lära dig olika sätt att konfigurera kärnan med erfarenhet.

Relaterad  PlayStation Plus juni 2020: Call of Duty WWII är gratis nu

9. Konfigurera iptables

Linux-kärnor tillhandahåller robusta filtreringsmetoder för nätverkspaket via dess Netfilter API. Du kan använda iptables för att interagera med detta API och ställa in anpassade filter för nätverksförfrågningar. Nedan finns några grundläggande iptables-regler för säkerhetsfokuserade användare.

-A INPUT -j REJECT # reject all inbound requests
-A FORWARD -j REJECT # reject traffic forwarding
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT # allow traffic on localhost
# allow ping requests
-A OUTPUT -p icmp -j ACCEPT # allow outgoing pings
# allow established/related connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# allow DNS lookups
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
# allow http/https requests
-A OUTPUT -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT
# allow SSH access
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT

10. Övervaka loggar

Du kan använda loggar för att bättre förstå din Linux-maskin. Ditt system lagrar flera loggfiler för appar och tjänster. Vi skisserar de väsentliga här.

/var/log/auth.log — loggar auktoriseringsförsök /var/log/daemon.log — loggar bakgrundsappar /var/log/debug — loggar felsökningsdata /var/log/kern.log — – loggar kärndata /var/log/syslog — loggar systemdata /var/log/faillog — loggar misslyckade inloggningar

Bästa Linux-härdningstips för nybörjare

Att säkra ett Linux-system är inte så svårt som du tror. Du kan stärka säkerheten genom att följa några av tipsen som nämns i den här guiden. Du kommer att bemästra fler sätt att säkra Linux när du får erfarenhet.

Relaterad  Forza Street: Microsofts mobilracing stänger under våren, den senaste uppdateringen live

Om författaren

Rubaiat Hossain (47 artiklar publicerade)

Rubaiat är en CS-examen med en stark passion för öppen källkod. Förutom att vara en Unix-veteran, är han också intresserad av nätverkssäkerhet, kryptografi och funktionell programmering. Han är en ivrig samlare av begagnade böcker och har en aldrig sinande beundran för klassisk rock.

Mer från Rubaiat Hossain

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera