Instalasi PolicyD Untuk Postfix Virtualmin di Centos 7

Instalasi PolicyD Untuk Postfix Virtualmin di Centos 7

Instalasi PolicyD Untuk Postfix Virtualmin di Centos 7 berguna untuk memberikan policy pada MTA server. Policy ini dirancang sebagian besar untuk mail server sekala besar. Tujuan utamanya adalah untuk menerapkan melawan spam dan fitur penyesuaian lalu lintas untuk menjaga portabilitas, stabilitas, dan kinerja email.

Module policyd

  • Access Control
  • Amavis
  • CheckHelo
  • CheckSPF
  • Greylisting
  • Quotas
  • Accounting

Untuk dapat menggunakan semua module policyd terlebih dahulu policyd tersebut diinstall pada server. Berikut informasi server

  • Os: Centos 7
  • Domain: saad.web.id
  • IP Server: 111.222.333.444
  • Document Root: /home/saad/public_html/

Persyaratan sebelum instalasi policyd yang harus sudah diinstall paket sebagai berikut:

  • MySQL, PostgreSQL or SQLite
  • Net::Server >= 0.96
  • Net::CIDR
  • Config::IniFiles (debian: libconfig-inifiles-perl, rpm: perl-Config-IniFiles)
  • Cache::FastmMap (debian: libcache-fastmmap-perl, rpm: perl-Cache-FastMmap)
  • Mail::SPF (required for CheckSPF module)
  • PHP v5+

Untuk virtualmin sendiri sudah tersedia MySQL dan PHP v5+, jadi tidak perlu diinstall kembali.

Instalasi Paket Persyaratan PolicyD

1. Instalasi paket perl-CPAN

yum install -y perl-CPAN

2. Net::Server >= 0.96

/usr/bin/perl -MCPAN -e 'install Net::Server'

3. Net::CIDR

/usr/bin/perl -MCPAN -e 'install Net::CIDR'

4. Config::IniFiles (debian: libconfig-inifiles-perl, rpm: perl-Config-IniFiles)

yum install -y perl-Config-IniFiles

5. Cache::FastmMap (debian: libcache-fastmmap-perl, rpm: perl-Cache-FastMmap)

yum install -y perl-Cache-FastMmap

6. Mail::SPF (required for CheckSPF module)

/usr/bin/perl -MCPAN -e 'install Mail::SPF'

Install Policyd

1. Download cluebringer-2.0.14-1.noarch.rpm dan install paket

yum install -y wget
cd /opt/
wget https://download.policyd.org/v2.0.14/cluebringer-2.0.14-1.noarch.rpm
rpm -ivh cluebringer-2.0.14-1.noarch.rpm

2. Download cluebringer-v2.0.14.zip untuk import database policyd

wget https://download.policyd.org/v2.0.14/cluebringer-v2.0.14.zip
unzip cluebringer-v2.0.14.zip
cd cluebringer-v2.0.14
cd database

Convert format import database policyd (transact-SQL) menjadi format file import database mysql (policyd.sql) dengan perintah berikut (copy+paste script kemudian enter)

for i in core.tsql access_control.tsql quotas.tsql amavis.tsql checkhelo.tsql checkspf.tsql greylisting.tsql; 
do
./convert-tsql mysql $i
done > policyd.sql

Masukkan perintah berikut untuk menghapus baris TYPE=InnoDB CHARACTER SET latin1 COLLATE latin1_bin pada file policyd.sql dengan perintah berikut

sed -i 's/TYPE=InnoDB CHARACTER SET latin1 COLLATE latin1_bin//' policyd.sql

3. Membuat database kosong di mysql dengan nama policyd

mysqladmin -u root -p create policyd

(masukkan password user root mysql, bila root tidak memiliki password tekan enter)
4. Import file policyd.sql ke dalam database dengan perintah

mysql -u root -p policyd < policyd.sql

5. Buat user mysql untuk database policyd
Nama User: policyd
password user: r4h4s14

mysql -u root -p -e  "CREATE USER 'policyd'@'localhost' IDENTIFIED BY 'r4h4s14';"
mysql -u root -p -e  "GRANT ALL PRIVILEGES ON policyd.* TO 'policyd'@'localhost';"

6. Mengubah username dan password database pada file cluebringer.conf

sed -i 's/#Username=root/Username=policyd/'  /etc/policyd/cluebringer.conf
sed -i 's/#Password=/Password=r4h4s14/'  /etc/policyd/cluebringer.conf

7. Jalankan service policyd dengan perintah

systemctl start cbpolicyd

cek status policyd dengan perintah berikut

[root@webmin public_html]# ps ax | grep policyd
14729 ?        Ss     0:00 /usr/bin/perl /usr/sbin/cbpolicyd --config /etc/policyd/cluebringer.conf
14731 ?        S      0:00 /usr/bin/perl /usr/sbin/cbpolicyd --config /etc/policyd/cluebringer.conf
14732 ?        S      0:00 /usr/bin/perl /usr/sbin/cbpolicyd --config /etc/policyd/cluebringer.conf
14733 ?        S      0:00 /usr/bin/perl /usr/sbin/cbpolicyd --config /etc/policyd/cluebringer.conf
14734 ?        S      0:00 /usr/bin/perl /usr/sbin/cbpolicyd --config /etc/policyd/cluebringer.conf

cek status port yang digunakan policyd

[root@webmin public_html]# netstat -pln | grep :10031
tcp6       0      0 :::10031                :::*                    LISTEN      14729/perl

8. Aktifkan policyd menjadi otomatis running ketika server di restart
cek status enable policyd

[root@webmin public_html]# chkconfig --list cbpolicyd
cbpolicyd       0:off   1:off   2:off   3:off   4:off   5:off   6:off

enable policyd

chkconfig --level 2345 cbpolicyd on

9. Integerasi Policyd dengan postfix
masukkan baris berikut pada smtpd_recipient_restrictions and smtpd_end_of_data_restrictions.

check_policy_service inet:127.0.0.1:10031

Aktifkan Webui Policyd

Webui ini interface policyd yang berbasis web. Untuk dapat digunakan dibutuhkan konfigurasi agar dapat dikolaborasi dengan database policyd.

Enable Webui

1. Ubah konfigurasi webui dan sesuaikan username dan password database policyd dengan perintah berikut

sed -i 's/$DB_DSN="mysql:host=localhost;dbname=cluebringer";/$DB_DSN="mysql:host=localhost;dbname=policyd";/'  /etc/policyd/webui.conf
sed -i 's/$DB_USER="root";/$DB_USER="policyd";/'  /etc/policyd/webui.conf
sed -i 's/#$DB_PASS="";/$DB_PASS="r4h4s14";/'  /etc/policyd/webui.conf

2. Karena pada public_html yang digunakan user:saad dan goup:saad maka sesuaikan penggunaan user dan group tersebut pada isi dan config webui

chown -R saad.saad /usr/share/cluebringer/webui/*
chown saad.saad /etc/policyd/webui.conf

3. Buat symlink pada path /home/saad/public_html/ dengan perintah

ln -s /usr/share/cluebringer/webui/ /home/saad/public_html/webui

4. Restart postfix

systemctl restart postfix

Akses Webui dengan username dan password

1. Buat file .htaccess

vi /usr/share/cluebringer/webui/.htaccess

Masukkan baris di bawah ke dalam .htaccess

AuthUserFile /usr/share/cluebringer/webui/.htpasswd
AuthGroupFile /dev/null
AuthName "user and password"
AuthType Basic

<LIMIT GET>
	require valid-user
</LIMIT>

2. Buat user dan password dengan perintah

htpasswd -c /usr/share/cluebringer/webui/.htpasswd admin

ket:
user: admin
password: r4h4s14
Akses policyd dengan URL http://domain-name/webui

Selesai

Berikut layanan yang ada di saadwebid terkait website
Layanan Instalasi Implementasi dan Migrasi VPS

×

Hello!

Klik salah satu dibawah untuk chat WhatsApp atau kirim email kepada kami ke info@saad.web.id

× WhatsApp Kami