Roundcube: Instalasi di Ubuntu 24.04

From OnnoCenterWiki
Revision as of 03:28, 20 June 2026 by Onnowpurbo (talk | contribs) (Created page with "Berikut setup webmail server sederhana di Ubuntu Server 24.04 untuk lab penetration test pemula. Jangan expose ke Internet; jalankan hanya di VM/LAN lab. ==Stack yang dipakai:== Postfix = SMTP/mail transfer, Dovecot = IMAP untuk membaca mailbox, Roundcube = webmail berbasis browser. Ubuntu punya dokumentasi resmi Postfix untuk konfigurasi SMTP sederhana, Dovecot mendukung IMAP dan Maildir, dan Roundcube memang webmail berbasis browser/IMAP. (Ubuntu) Saya pakai contoh:...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Berikut setup webmail server sederhana di Ubuntu Server 24.04 untuk lab penetration test pemula. Jangan expose ke Internet; jalankan hanya di VM/LAN lab.

Stack yang dipakai:

Postfix = SMTP/mail transfer, Dovecot = IMAP untuk membaca mailbox, Roundcube = webmail berbasis browser. Ubuntu punya dokumentasi resmi Postfix untuk konfigurasi SMTP sederhana, Dovecot mendukung IMAP dan Maildir, dan Roundcube memang webmail berbasis browser/IMAP. (Ubuntu)

Saya pakai contoh:

IP server   : 192.168.0.142
Domain lab  : korban.com
Hostname    : mail.korban.com
URL webmail : http://192.168.0.142/roundcube


1. Set hostname dan domain lokal

Di server Ubuntu:

sudo hostnamectl set-hostname mail.korban.com
echo "korban.com" | sudo tee /etc/mailname

Edit /etc/hosts:

sudo nano /etc/hosts

Tambahkan:

192.168.0.142 mail.korban.com korban.com

Di mesin attacker/laptop lab, tambahkan juga ke /etc/hosts:

sudo nano /etc/hosts

Isi:

192.168.0.142 mail.korban.com korban.com


2. Install paket utama

sudo apt update
sudo apt install -y postfix dovecot-core dovecot-imapd apache2 mariadb-server roundcube roundcube-mysql php php-mysql php-mbstring php-xml php-intl php-zip php-curl

Saat instalasi Postfix, pilih:

General type of mail configuration: Internet Site
System mail name: korban.com

Saat instalasi Roundcube, jika ditanya:

Configure database for roundcube with dbconfig-common?

Pilih:

Yes

Gunakan MariaDB/MySQL default.

3. Konfigurasi Postfix

Jalankan:

sudo postconf -e 'myhostname = mail.korban.com'
sudo postconf -e 'mydomain = korban.com'
sudo postconf -e 'myorigin = /etc/mailname'
sudo postconf -e 'mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain'
sudo postconf -e 'home_mailbox = Maildir/'
sudo postconf -e 'mailbox_command ='
sudo postconf -e 'inet_interfaces = all'
sudo postconf -e 'inet_protocols = ipv4'
sudo postconf -e 'mynetworks = 127.0.0.0/8 192.168.0.0/24'
sudo postconf -e 'smtpd_relay_restrictions = permit_mynetworks, reject_unauth_destination'

Restart Postfix:

sudo systemctl restart postfix
sudo systemctl enable postfix


4. Konfigurasi Dovecot IMAP

Edit konfigurasi mailbox:

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

Cari mail_location, ubah menjadi:

mail_location = maildir:~/Maildir

Edit autentikasi:

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

Pastikan ada:

disable_plaintext_auth = no
auth_mechanisms = plain login

Untuk lab lokal, plaintext auth memudahkan latihan. Untuk server sungguhan, ini tidak aman tanpa TLS.

Restart Dovecot:

sudo systemctl restart dovecot
sudo systemctl enable dovecot


5. Aktifkan Roundcube di Apache

Cek file konfigurasi:

sudo nano /etc/apache2/conf-available/roundcube.conf

Pastikan ada alias seperti ini:

Alias /roundcube /var/lib/roundcube

Kalau masih dikomentari dengan #, hapus tanda #.

Aktifkan konfigurasi:

sudo a2enconf roundcube
sudo systemctl reload apache2


6. Set konfigurasi Roundcube

Edit:

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

Tambahkan atau sesuaikan:

$config['imap_host'] = 'localhost:143';
$config['smtp_host'] = 'localhost:25';

$config['default_host'] = 'localhost';
$config['smtp_server'] = 'localhost';

$config['smtp_user'] = ;
$config['smtp_pass'] = ;

$config['product_name'] = 'Korban Webmail Lab';

Restart Apache:

sudo systemctl restart apache2


7. Buat user email lokal

Karena ini lab sederhana, mailbox memakai Linux system user.

Contoh buat tiga user:

sudo adduser budi
sudo adduser siti
sudo adduser adminlab

Contoh password lab boleh dibuat lemah, misalnya:

budi     : budi123
siti     : siti123
adminlab : admin123

Gunakan password lemah hanya di lab tertutup untuk latihan pemula.

8. Kirim email test lokal

Install tool mail sederhana:

sudo apt install -y mailutils

Kirim email dari server:

echo "Halo Budi, ini email test dari server korban.com" | mail -s "Test Email Lab" budi@korban.com

Cek apakah Maildir terbentuk:

sudo ls -lah /home/budi/Maildir


9. Akses webmail

Dari browser di laptop/attacker:

http://192.168.0.142/roundcube

Atau:

http://mail.korban.com/roundcube

Login:

Username: budi
Password: budi123

Untuk mengirim email ke user lain:

To: siti@korban.com
Subject: Latihan Webmail
Body: Halo Siti, ini email dari Budi.


10. Buka firewall hanya untuk LAN lab

sudo ufw allow from 192.168.0.0/24 to any port 80 proto tcp
sudo ufw allow from 192.168.0.0/24 to any port 25 proto tcp
sudo ufw allow from 192.168.0.0/24 to any port 143 proto tcp
sudo ufw enable
sudo ufw status

Port penting:

80   = HTTP Roundcube
25   = SMTP Postfix
143  = IMAP Dovecot

Cek service:

sudo ss -tulpn | grep -E ':25|:80|:143'


11. Troubleshooting

Cek status service:

sudo systemctl status postfix
sudo systemctl status dovecot
sudo systemctl status apache2
sudo systemctl status mariadb

Cek log:

sudo journalctl -u postfix -n 50 --no-pager
sudo journalctl -u dovecot -n 50 --no-pager
sudo journalctl -u apache2 -n 50 --no-pager

Kalau Roundcube blank/error:

sudo tail -n 50 /var/log/apache2/error.log

Kalau login Roundcube gagal, biasanya masalahnya salah satu dari ini:

  1. User Linux belum dibuat.
  2. Password salah.
  3. Dovecot belum jalan.
  4. mail_location belum pakai Maildir.
  5. IMAP port 143 belum listening.

Cek IMAP:

nc -vz 127.0.0.1 143
nc -vz 192.168.0.142 143

Cek SMTP:

nc -vz 127.0.0.1 25
nc -vz 192.168.0.142 25


12. Latihan penetration test pemula yang aman

Untuk lab ini, latihan yang cocok:

  1. Service enumeration dengan nmap.
  2. Web enumeration pada /roundcube.
  3. Login testing dengan user/password lab.
  4. Analisis HTTP login tanpa HTTPS.
  5. Melihat log Postfix, Dovecot, dan Apache.
  6. Mengamati jejak login gagal.
  7. Hardening bertahap: HTTPS, password kuat, fail2ban, firewall.

Contoh enumeration dasar dari attacker:

nmap -sV -p 25,80,143 192.168.0.142

Cek web:

curl -I http://192.168.0.142/roundcube


13. Struktur lab yang disarankan

Attacker laptop / VM
        |
        | 192.168.0.0/24
        |
Ubuntu Server 24.04
IP: 192.168.0.142
Hostname: mail.korban.com
Domain: korban.com

Service:

  • Apache + Roundcube : port 80
  • Postfix SMTP  : port 25
  • Dovecot IMAP  : port 143

Setelah ini server sudah cukup untuk latihan dasar webmail penetration test pemula. Langkah berikut yang bagus adalah menambahkan Wazuh Agent di server ini supaya setiap login webmail, IMAP, SMTP, dan Apache bisa dipantau dari Wazuh.