Hur man säkrar Roundcube på Ubuntu 16.04

By rik

Roundcube, en populär webbaserad e-postklient, utmärker sig genom sitt användarvänliga gränssnitt och en bred funktionalitet. Som ett öppen källkodsprojekt, licensierat under GNU General Public License, ger Roundcube flexibilitet genom att fungera med vilken IMAP/SMTP-server som helst, vilket gör den till en anpassningsbar lösning för e-posthantering.

Denna handledning beskriver de steg som krävs för att förstärka säkerheten i din Roundcube-installation på en Ubuntu 16.04-server. Vi kommer att gå igenom följande områden:

  • Installationsprocessen för Roundcube på Ubuntu 16.04
  • Grundläggande konfiguration av Roundcube
  • Aktivering av TLS/SSL-kryptering
  • Implementering av tvåfaktorsautentisering
  • Avaktivering av osäkra protokoll
  • Övervakning av Roundcube-systemet

Innan vi börjar

Följande förutsättningar krävs:

  • En Ubuntu 16.04-server med tillgång till en sudo-användare.
  • En installerad LAMP-stack (Linux, Apache, MySQL, PHP).
  • Ett domännamn eller underdomän som är riktad mot serverns IP-adress.

Steg 1: Installation av Roundcube

Börja med att uppdatera systemets paket:


sudo apt update

Installera sedan Roundcube och de nödvändiga beroendena:


sudo apt install roundcube roundcube-core roundcube-mysql roundcube-plugins

Steg 2: Konfigurera Roundcube

Kopiera Roundcubes konfigurationsfil till rätt plats:


sudo cp /etc/roundcube/default.inc.php /etc/roundcube/config.inc.php

Öppna konfigurationsfilen i en textredigerare:


sudo nano /etc/roundcube/config.inc.php

Gör följande justeringar i filen:


// Databasanslutning
$rcmail_config['db_dsnw'] = 'mysql://roundcube:DITT_LÖSENORD@localhost/roundcube';

// SMTP-server och port
$rcmail_config['smtp_server'] = 'localhost';
$rcmail_config['smtp_port'] = 587;

// Aktivera TLS/SSL-kryptering
$rcmail_config['smtp_secure'] = 'tls';

// Lägg till ditt domännamn
$rcmail_config['default_host'] = 'exempel.se';

Steg 3: Aktivera TLS/SSL-kryptering

TLS/SSL-kryptering är avgörande för att skydda e-postkommunikationen från avlyssning eller manipulation.

Generera ett SSL-certifikat med OpenSSL:


sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/roundcube.key -out /etc/ssl/certs/roundcube.crt

Konfigurera Apache för att använda det skapade SSL-certifikatet:


sudo nano /etc/apache2/sites-enabled/000-default.conf

Lägg till följande konfiguration i filen:


<VirtualHost *:443>
    ServerName exempel.se
    ServerAlias www.exempel.se
    DocumentRoot /var/www/roundcube

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/roundcube.crt
    SSLCertificateKeyFile /etc/ssl/private/roundcube.key
</VirtualHost>

<VirtualHost *:80>
    ServerName exempel.se
    ServerAlias www.exempel.se
    DocumentRoot /var/www/roundcube

    Redirect permanent / https://exempel.se/
</VirtualHost>

Starta om Apache för att aktivera ändringarna:


sudo systemctl restart apache2

Steg 4: Implementera tvåfaktorsautentisering

Tvåfaktorsautentisering (2FA) ger ett extra lager av säkerhet genom att kräva en andra verifieringsmetod vid inloggning.

Installera Roundcube 2FA-plugin:


cd /usr/share/roundcube/plugins/
sudo git clone https://github.com/roundcube/twofactor.git

Aktivera plugin i Roundcubes konfigurationsfil:


sudo nano /etc/roundcube/config.inc.php

Lägg till följande rad:


$rcmail_config['plugins']['twofactor'] = true;

Skapa en kryptografisk nyckel för 2FA:


sudo openssl genrsa -out /etc/roundcube/twofactor.key 1024

Starta om Roundcube-tjänsten:


sudo systemctl restart roundcube

Steg 5: Inaktivera osäkra protokoll

Osäkra protokoll som POP3 och IMAP bör avaktiveras för att minimera risken för attacker.

Redigera filen /etc/dovecot/conf.d/10-ssl.conf:


sudo nano /etc/dovecot/conf.d/10-ssl.conf

Kommentera eller ta bort följande rad:


#listen = *, ::
listen = *

Redigera sedan filen /etc/dovecot/conf.d/10-mail.conf:


sudo nano /etc/dovecot/conf.d/10-mail.conf

Kommentera eller ta bort följande rader:


#listen = *, ::
disable_plaintext_auth = yes

Starta om Dovecot för att tillämpa inställningarna:


sudo systemctl restart dovecot

Steg 6: Övervakning av Roundcube

Övervaka Roundcubes loggfiler regelbundet för eventuella säkerhetsincidenter:


sudo tail -f /var/log/roundcube/errors

Använd ett säkerhetsövervakningsverktyg som Fail2ban för att automatiskt blockera angripare:


sudo apt install fail2ban

Konfigurera Fail2ban för Roundcube:


sudo nano /etc/fail2ban/jail.local

Lägg till följande sektion i filen:


[roundcube]
enabled = true
port = 443, 80
filter = roundcube
maxretry = 3
bantime = 600

Sammanfattning

Genom att följa dessa steg kan du öka säkerheten för din Roundcube-installation på Ubuntu 16.04 markant. TLS/SSL-kryptering, tvåfaktorsautentisering, avaktivering av osäkra protokoll och kontinuerlig övervakning hjälper till att skydda din e-postserver mot attacker och obehörig åtkomst.

Kom ihåg att säkerhet är en ständigt pågående process. Håll din server uppdaterad, övervaka loggar regelbundet och anpassa dina säkerhetsåtgärder när nya hot uppstår.

Vanliga Frågor (FAQ)

1. Hur återställer jag ett bortglömt Roundcube-lösenord?

Om du glömt ditt lösenord kan du använda kommandot ’roundcubepasswd’ för att återställa det:


sudo roundcubepasswd

2. Hur aktiverar jag POP3/IMAP i Roundcube?

Du aktiverar POP3/IMAP genom att justera konfigurationsfilen (/etc/roundcube/config.inc.php):


$rcmail_config['pop3_server'] = 'localhost';
$rcmail_config['imap_server'] = 'localhost';

3. Hur ändrar jag standarddomänen för Roundcube?

Ändra standarddomänen direkt i Roundcube-konfigurationen (/etc/roundcube/config.inc.php):


$rcmail_config['default_host'] = 'ny_domän.se';

4. Hur felsöker jag problem med Roundcube?

Granska Roundcubes felloggar (/var/log/roundcube/errors) för att identifiera potentiella problem. Du kan också aktivera debug-läge genom att lägga till följande rad i konfigurationsfilen:


$rcmail_config['debug'] = true;

5. Hur anpassar jag Roundcube-gränssnittet?

Du kan anpassa utseendet på Roundcube genom att installera teman och plugins som finns tillgängliga på Roundcubes webbplats.

6. Hur hanterar jag användarkonton i Roundcube?

Användarkonton administreras via MySQL-databasen (roundcube) eller genom det inbyggda administrationsgränssnittet i Roundcube.

7. Hur skyddar jag Roundcube mot spam?

Implementera spamfilter som SpamAssassin eller andra liknande lösningar för att minska spam i Roundcube.

8. Hur säkerställer jag Roundcubes tillgänglighet?

Använd en lastbalanserare för att distribuera trafiken och öka tillgängligheten för Roundcube.