Cara Install Mail Server Razor dan Pyzor di Ubuntu | UNIX LINUX EXPLORE
Edit

Cara Install Mail Server Razor dan Pyzor di Ubuntu

Persyaratan Sistem:
  • Sertifikat dan Kunci
  • Domain name server
  • Database server (Mysql atau MariaDB)


1. Virtual Domains dan Mailboxes

Selain kami sebagai administrator sistem, tidak ada pengguna manusia yang bekerja secara interaktif di server. Pengguna pada umumnya bekerja di perangkatnya sendiri dan mengakses layanan di server. Server berisi situs web, mengirimkan surat, menyinkronkan berkas, dan mengirimkan pesan instan di bawah nama domain yang dihosting dan berbagai akun di setiap domain. Konsep ini dikenal sebagai domain dan pengguna virtual. Virtual karena tidak seperti pengguna sungguhan, mereka tidak bekerja di sistem server secara interaktif seperti di perangkat mereka sendiri.




Dalam kasus Mailboxes, akun kotak surat dirujuk dalam basis data, bukan profil pengguna sistem, dan surat masuk disimpan dalam direktori kotak surat virtual, bukan direktori beranda pengguna.

a. Buat User and Group

Sebagai langkah pendahuluan, anda harus terlebih dahulu membuat user dan group untuk akun virtual Mail yang dapat mengakses direktori kotak surat Mailboxes.

buat user dan group untuk Mailboxes
$ sudo addgroup --gid 5000 vmail
$ sudo adduser  --system --uid=5000 --ingroup vmail --home /var/vmail vmail
Perintah di atas digunakan untuk membuat user dan grup vmail dan juga direktori /var/vmail tempat email akan disimpan.


2. Mail Server Database

a. Membuat database

Buat dan simpan kata sandi untuk postfix guna mengakses basis data. Setelah itu anda buat database mailserver dengan MySQL server atau MariaDB.

Buat database mailserver
$ mysqladmin -u root -p create mailserver
Lanjutkan dengan membuat user yang dapat mengakses database mailserver.

buat user untuk database mailserver
$ mysql -u root -p mailserver

GRANT SELECT ON mailserver.* TO 'mailuser'@'127.0.0.1'
IDENTIFIED BY 'router123';

FLUSH PRIVILEGES;
EXIT;
Buat file SQL mailserver-tables.sql dengan perintah berikut:

buat tabel untuk database mailserver
#
# Create database tables for virtual mail domains for use in Postfixand Dovecot
#
CREATE TABLE IF NOT EXISTS `virtual_domains` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `virtual_users` (
  `id` int(11) NOT NULL auto_increment,
  `domain_id` int(11) NOT NULL,
  `password` varchar(32) NOT NULL,
  `email` varchar(100) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `email` (`email`),
  FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `virtual_aliases` (
  `id` int(11) NOT NULL auto_increment,
  `domain_id` int(11) NOT NULL,
  `source` varchar(100) NOT NULL,
  `destination` varchar(100) NOT NULL,
  PRIMARY KEY (`id`),
  FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Lanjutkan dengan membuat tabel ke database mailserver.


$ mysql -u root -p mailserver < mailserver-tables.sql

b. Menambahkan domain pada database


$ mysql -u root -p mailserver

INSERT INTO `mailserver`.`virtual_domains` (
  `id` ,
  `name`
)
VALUES (
  '1', 'example.org'
);

c. Menambahkan Kotak Surat (Mailbox)


$ mysql -u root -p mailserver

INSERT INTO `mailserver`.`virtual_users` (
        `id` ,
        `domain_id` ,
        `password` ,
        `email`
    )
    VALUES (
        '1',
        '1',
        ENCRYPT (
            '********', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))
        ),
        'email1@example.net'
);
Perintah di atas akan mengenkripsi kata sandi dengan SHA-2 512-bit sebelum disimpan dalam basis data.

d. Menambahkan Alias


$ mysql -u root -p mailserver

INSERT INTO `mailserver`.`virtual_aliases` (
  `id`,
  `domain_id`,
  `source`,
  `destination`
)
VALUES (
  '1', '1', 'jack@example.org', 'john@example.org'
);


3. Cara Install Razor

Vipul’s Razor adalah jaringan deteksi dan penyaringan spam yang terdistribusi dan kolaboratif. Melalui kontribusi pengguna, Razor membuat katalog spam yang terdistribusi dan terus diperbarui yang disebarkan dan dikonsultasikan oleh klien email untuk menyaring spam yang diketahui. Deteksi dilakukan dengan tanda tangan statistik dan acak yang secara efisien menemukan konten spam yang bermutasi. Masukan pengguna divalidasi melalui penugasan reputasi berdasarkan konsensus pada pernyataan laporan dan pencabutan yang selanjutnya digunakan untuk menghitung nilai keyakinan yang terkait dengan tanda tangan individual.

Di bawah ini adalah perintah untuk menginstall Razor dari repositori Ubuntu.

Install Razor
$ sudo apt install razor
a. Konfigurasi Systemd

Pertama anda harus membuat sebuah socket file untuk systemd, dengan nama /etc/systemd/systemd/razor.socket. Di bawah ini adalah contoh scriptnya.

/etc/systemd/systemd/razor.socket
[Unit]
Description=Razor socket

[Socket]
ListenStream=127.0.0.1:11342
Accept=yes

[Install]
WantedBy=sockets.target
Setelah itu anda buat Systemd service file, di bawah ini adalah contoh script yang bisa anda gunakan.

/etc/systemd/system/razor@.service
[Unit]
Description=Razor Socket Service
Requires=razor.socket

[Service]
Type=simple
ExecStart=/bin/sh -c '/usr/bin/razor-check && /bin/echo -n "spam" || /bin/echo -n "ham"'
StandardInput=socket
StandardError=journal
TimeoutStopSec=10

User=_rspamd
NoNewPrivileges=true
PrivateDevices=true
PrivateTmp=true
PrivateUsers=true
ProtectControlGroups=true
ProtectHome=true
ProtectKernelModules=true
ProtectKernelTunables=true
ProtectSystem=strict

[Install]
WantedBy=multi-user.target
Setelah itu, anda jalankan systemd dengan perintah di bawah ini.

Reload and Start systemd
$ sudo systemctl daemon-reload
$ sudo systemctl enable razor.socket
$ sudo systemctl start razor.socket


4. Cara Install Pyzor

Pyzor adalah sistem kolaboratif dan berjaringan untuk mendeteksi dan memblokir spam menggunakan intisari pesan. Dengan menggunakan klien Pyzor, intisari singkat dibuat yang kemungkinan akan mengidentifikasi pesan email secara unik. Intisari ini kemudian dikirim ke server Pyzor untuk.
  • memeriksa berapa kali pesan dilaporkan sebagai spam atau masuk daftar putih sebagai bukan spam
  • melaporkan pesan sebagai spam
  • memasukkan pesan ke daftar putih sebagai bukan spam
Karena seluruh sistem dirilis di bawah GPL, orang bebas meng-host server independen mereka sendiri. Namun, ada server publik yang terawat baik dan digunakan secara aktif (milik SpamExperts) di "public.pyzor.org:24441".

a. Install Pyzor

Untuk mulai menginstall Pyzor dari repositori perangkat lunak Ubuntu, jalankan perintah di bawah ini.

Install Pyzor
$ sudo apt install pyzor

b. Direktori Utama Pyzor

Karena kita akan menjalankan layanan Pyzor dengan profil pengguna _rspamd, kita harus membuat direktori utama Pyzor.

Buat direktori utama Pyzor
$ sudo -u _rspamd mkdir /var/lib/rspamd/.pyzor
c. Konfigurasi Systemd

Socket File
Buat berkas soket Systemd baru /etc/systemd/systemd/pyzor.socket.

/etc/systemd/systemd/pyzor.socket
[Unit]

Description=Pyzor socket

[Socket]
ListenStream=127.0.0.1:5953
Accept=yes

[Install]
WantedBy=sockets.target
Setelah itu anda buat Systemd baru yang bernama /etc/systemd/system/razor@.service.

/etc/systemd/system/razor@.service
[Unit]
Description=Pyzor Socket Service
Requires=pyzor.socket

[Service]
Type=simple
ExecStart=-/usr/bin/pyzor check
StandardInput=socket
StandardError=journal
TimeoutStopSec=10

User=_rspamd
NoNewPrivileges=true
PrivateDevices=true
PrivateTmp=true
PrivateUsers=true
ProtectControlGroups=true
ProtectHome=true
ProtectKernelModules=true
ProtectKernelTunables=true
ProtectSystem=strict

[Install]
WantedBy=multi-user.target
Langkah terakhir adalah restart systemd, dengan perintah berikut.

Restart systemd
$ sudo systemctl daemon-reload
$ sudo systemctl enable pyzor.socket
$ sudo systemctl start pyzor.socket
Setelah anda mengaktifkan razordan Pyzor di systemd, itu artinya mailserver Razor dan Pyzor anda telah aktif dan dapat anda gunakan.