Att skydda sin sajt med brandväggar och olika säkerhetsplugins är inte fel, men ingen kedja är starkare än sin svagaste länk. Om servern har svaga säkerhetskonfigurationer kanske man, trots sitt allmänna säkerhetstänk, lämnar bakdörrar öppna för illvilliga aktörer.
Via kontrollpanelen cPanel kan du hantera viss konfigurering, men många av de grundläggande inställningarna nås via WHM (WebHost Manager) – den underliggande kontrollpanelen för serveradministratören. Du som använder en delad hostingmiljö har som regel inte tillgång till WHM, men om du hanterar din egen VPS eller dedikerade server är det viktigt att se över även WHM-inställningarna.
Den här artikeln är ingen säkerhetsmanual, men går igenom ett antal allmänna säkerhetsinställningar i cPanel/WHM som är bra att känna till.
1. Säkra SSH-anslutningar
SSH (Secure Shell) ger fjärranvändare möjlighet att köra kommandon och få tillgång till operativsystemet över ett nätverk. Även om administratörer har SSH-åtkomst bör inte alla användare i din organisation ha det. I vissa fall kan det vara bäst att helt stänga av SSH för att förbättra säkerheten.
Om du behöver ha SSH aktiverat på din server finns det flera åtgärder du kan vidta för att förstärka säkerheten:
- Använd WebHost Manager (WHM) för att skapa SSH-nycklar för root-användaren och inaktivera lösenordsautentisering i WHM Password Authorization Tweak-inställningarna.
- Redigera konfigurationsfilen
/etc/ssh/sshd_config
för att justera inställningar som SSH-port, protokoll, ListenAddress och PermitRootLogin. - Överväg att använda en annan port än standardporten 22 för att försvåra för automatiserade attackförsök.
- Skapa en separat användare med administrativa rättigheter istället för att använda root-kontot direkt.
För att ändra SSH-porten, logga in på din server via SSH och redigera konfigurationsfilen:
nano /etc/ssh/sshd_config
Ändra raden ”Port 22” till exempelvis ”Port 2468” och starta om SSH-tjänsten:
service ssh restart
Det är förmodligen en bra idé att inaktivera root-inloggning helt och hållet. Skapa först en ny administrativ användare:
adduser nytt_användarnamn
passwd nytt_användarnamn
usermod -aG wheel nytt_användarnamn
Ändra sedan PermitRootLogin till ”no” i SSH-konfigurationsfilen och starta om tjänsten.
2. Implementera stark lösenordspolicy
Svaga lösenord är en av de vanligaste orsakerna till säkerhetsintrång. Omkring 80% av alla hacknings-försök inleds med att knäcka svaga lösenord. För att skydda cPanel bör du:
- Kräva lösenord med minst 10-12 tecken som innehåller både stora och små bokstäver, siffror och specialtecken.
- Undvika att använda vanliga ord, namn eller viktiga datum i lösenorden.
- Regelbundet byta lösenord, särskilt för administrativa konton.
- Använda olika lösenord för olika tjänster och konton.
För att konfigurera lösenordsalternativ på ditt system kan du redigera filen ”/etc/login.defs”. Om du är osäker på hur starkt ditt lösenord är kan du testa det med olika verktyg online, som detta.
För att ytterligare förstärka säkerheten bör du aktivera SSL för att förhindra att lösenord skickas i klartext. Gå till ”Server Configuration” > ”Tweak Settings” i WHM och aktivera SSL-alternativet.
3. Aktivera brute force-skydd
Brute force-attacker innebär att angripare försöker gissa sig till ditt lösenord genom att automatiskt testa olika kombinationer. cPanel har ett inbyggt skydd mot detta som kallas cPHulk.
För att aktivera cPHulk:
- Logga in på WHM
- Navigera till ”Security Center” > ”cPHulk Brute Force Protection”
- Klicka på ”Enable”
Du kan nu ställa in anpassade regler baserade på cPanel-användarnamn, IP-adress och andra parametrar. När ett visst antal misslyckade inloggningsförsök har uppnåtts, kommer cPHulk att blockera ytterligare försök från den IP-adressen.
Om du har en statisk IP-adress rekommenderas det starkt att du lägger till den i ”Whitelist Management” så att du inte riskerar att låsa ute dig själv från servern.
4. Installera och konfigurera brandvägg
En brandvägg är avgörande för att kontrollera trafiken till och från din server. ConfigServer Security and Firewall (CSF) är en av de mest populära brandväggarna för cPanel-servrar.
CSF fungerar inte bara som en brandvägg genom att övervaka olika autentiseringsloggfiler – den skannar också din server regelbundet och ger dig personliga rekommendationer för att förbättra serverns säkerhet.
För att installera CSF:
- Logga in på din server via SSH
- Ladda ner CSF-paketet:
wget https://download.configserver.com/csf.tgz
- Extrahera filen:
tar zxvf csf.tgz
- Byt till CSF-installationskatalogen:
cd csf
- Kör installationsskriptet för cPanel:
./install.cpanel.sh
- Starta CSF-tjänsten:
/etc/init.d/csf start
Efter installationen kan du komma åt CSF via WHM > Plugins > ConfigServer Security & Firewall. Här kan du konfigurera olika säkerhetsparametrar, som att blockera IP-adresser med för många anslutningar och ställa in blockeringstider.
5. Säkra Apache och PHP
Apache är vanligast inom Linux-hosting ända sedan 1999. Som med all annan serverprogramvara bör Apache alltid uppdateras och patchas när nya versioner släpps.
Några tips för att säkra Apache:
- Inaktivera kataloglistning så att angripare inte kan se listan över filer som lagras i varje mapp. Ändra följande rad i filen
/etc/httpd/conf/httpd.conf
:Options Indexes FollowSymLinks
till:
Options FollowSymLinks
- Inaktivera onödiga moduler som kan öppna sårbarheter.
- Inaktivera server-info. Angripare använder serverversionsuppgifter för att identifiera sårbarheter och utforma attacker.
För att konfigurera, öppna WHM och gå till: Service Configuration – Apache Configuration – Global Configuration Documentation
I det här inställningsfönstret kan du inaktivera signaturer, eversion, tokens, tracing och aktivera skydd för symboliska länkar.
För att säkra PHP:
- Aktivera ModSecurity för att skydda Apache från attacker som kodinjektioner.
- Konfigurera suEXEC för att köra CGI-skript och suPHP som PHP-hanterare.
- Aktivera PHP open_basedir-skydd för att förhindra att PHP-skript kommer åt filer utanför sin hemkatalog.
- Inaktivera vissa PHP-funktioner som kan utgöra säkerhetsrisker:
- register_globals: Off
- disable_functions: allow_url_fopen, proc_open, popen, phpinfo, exec, passthru, shell_exec, system, show_source
6. Implementera tvåfaktorsautentisering
Utöver grundläggande säkerhetsåtgärder bör du överväga att förstärka ditt försvar med tvåfaktorsautentisering (2FA) eller multifaktorautentisering (MFA). Detta fungerar som ett extra lås på din servers dörrar.
Genom att implementera 2FA eller MFA kan hackare inte bara förlita sig på lösenord för att bryta sig in i konton. De behöver ytterligare en pusselbit – en andra faktor, som en unik kod från en mobilapp eller en fingeravtrycksläsning. Detta extra lager höjer ribban avsevärt för obehörig åtkomst.
Integrering av 2FA eller MFA förbättrar skyddet för din cPanel-server och skyddar dess känsliga data. Det är ett smart drag för att ligga steget före moderna cyberhot och upprätthålla en förstklassig säkerhetsposition.
7. Säkra tmp-mappen
När en applikation installeras eller behöver lagra temporära filer använder den tmp-mappen. Den används för tillfällig lagring och av vissa applikationer för att skapa låsfiler. Om en angripare kan komma åt servern och köra skript kan den lagra skadliga filer i tmp-katalogen.
För att låsa tmp-mappen och blockera angripare från att lagra eller köra filer här:
- Skapa en separat partition för tmp-katalogen.
- Ändra tmp-partitionen till icke-körbar (chmod 1777 /tmp).
- Använd cPanel-applikationens anpassade skript för att förstärka säkerheten för tmp-partitionen (/usr/local/cpanel/scripts/securetmp).
Scriptexempel:
/usr/local/cpanel/scripts/securetmp --help
/usr/local/cpanel/scripts/securetmp - secure /tmp and /var/tmp
8. Begränsa systemkompilatorer
En kompilator är ett datorprogram som översätter datorkod skriven i ett programmeringsspråk till binärer. Att lämna en kompilator (t.ex. gcc) på servern ger angripare möjlighet att kompilera sina egna skript om de får ett begränsat skal under en kompromiss.
För cybersäkerhetsändamål bör kompilatorer tas bort eller begränsas. Om du inte kan ta bort kompilatorerna helt, bör du begränsa åtkomsten till endast root-användaren.
Du kan inaktivera kompilatorer i WHM. Alternativet Compilers Tweak låter dig inaktivera kompilatorer för alla icke-privilegerade användare. Inställningen Compiler Tweak finns i Security Center i WHM.
9. Regelbundna säkerhetskopieringar
En lite mer uppenbar och självklar punkt – men nog så viktig. Säkerhetskopior är en grundsten i säkerhet och ofta din enda möjlighet att återställa systemet efter en katastrof.
Varje administratör bör ha en säkerhetskopieringsplan med en fastställd lagringstid (t.ex. två veckor, en månad). cPanel har ett säkerhetskopieringsverktyg för att skapa fullständiga eller partiella säkerhetskopior av alla filer. Säkerhetskopior bör tas ofta, men takten bör ställas in baserat på verksamheten och dess egna regler för katastrofåterställning. Backup Wizard finns i avsnittet ”Files” i cPanel-applikationen.
Efter att säkerhetskopior har tagits bör de lagras på en säker plats. Tänk på att även dina backuper innehåller värdefull data som är, så de bör också skyddas mot hot. Ha alltid minst en fullständig säkerhetskopia, sedan kan du ta partiella/inkrementella säkerhetskopior för att spara lagringsutrymme.
10. Inaktivera osäkra krypteringschiffer
Ett vanligt misstag på äldre webbservrar är att tillåta kryptografiskt osäkra chiffersviter. National Institute of Standards and Technology (NIST) rekommenderar att servrar inte ska stödja Transport Layer Security (TLS) version 1.0 eller 1.1. De bör konfigureras för att stödja version 1.2 och högre.
När webbservrar stöder äldre sårbara TLS-versioner kan en angripare som befinner sig på en lämplig plats (t.ex. på samma nätverk eller Wi-Fi-hotspot som en klientmaskin) utföra en nedgraderingsattack.
För att inaktivera osäkra chiffer i WHM, gå till: Service Configuration -> Apache Configuration -> Global Configuration Documentation -> SSL Cipher Suite.
11. Använd en webbapplikationsbrandvägg (WAF)
En WAF försvarar webbservern mot applikationsbaserade attacker. Till exempel skulle en WAF upptäcka skadlig SQL-inmatning som skickas från ett webbformulär. Angripare har många applikationsnivåattacker att välja mellan, så du behöver en WAF som effektivt upptäcker skadlig trafik och varnar administratörer.
Om du använder WordPress är exempelvis WordFence ett populärt alternativ som även finns i en kostnadsfri version.
12. E-postsäkerhet
E-post är som bekant en populär attack-vektor för hackers och andra illvilliga aktörer. Meddelanden med misstänkt innehåll, inklusive bilagor, bör därför filtreras bort efter bästa förmåga.
E-postfilter finns i de grundläggande e-postinställningarna i cPanel och kan stoppa många skadliga mejl från att nå användarnas inkorgar. Webbinnehållsfilter fungerar tillsammans med e-postfilter och blockerar användare från att komma åt skadligt webbinnehåll. Implementera också Sender Policy Framework (SPF) och Domain-based Message Authentication, Reporting and Conformance (DMARC) för att stoppa angripare från att använda din domän i illegala syften.
13. Regelbundna uppdateringar
Som med all mjukvara gäller det att hålla cPanel uppdaterat för att eliminera sårbarheter i äldre, end-of-life (EOL) eller icke-stödda versioner. Äldre EOL-versioner får inte längre säkerhets-patchar, vilket gör din server sårbar. Se därför till att kontrollpanelen uppdateras automatiskt när så är nödvändigt.
Du kan uppdatera cPanel från WHM, men du kan också använda kommandoraden. Kör följande kommando för att visa den för närvarande installerade cPanel-versionen:
/usr/local/cpanel/cpanel -V
Om du fastställer att din version måste uppgraderas, kör följande kommando för att installera den senaste cPanel-versionen (observera att detta är aktiverat som standard varje natt):
/usr/local/cpanel/scripts/upcp
14. Andra Säkerhetsverktyg för cPanel
cPanel-webbplatsen har flera plugins för säkerhet. Det är främst tredjepartslösningar, men det vanligaste integrerade verktyget som ingår i cPanel är ConfigServer Security and Firewall (CSF), vilket fungerar som en brandvägg som kontrollerar trafikflödet, hjälper till att förhindra distribuerade denial-of-service (DDoS) och spårar nätverksanslutningar.
Några andra fördelaktiga cPanel-verktyg som är ImunifyAV (gratis linuxserver-antivirus), Imunify360 och ImunifyAV+. Alla kommer med olika fördelar och är bekväma och effektiva sätt att förstärka säkerheten på servern.