Blacklist dan Whitelist via pmgcli pada Proxmox Mail Gateway

Salah satu kelebihan dari Proxmox Mail Gateway sebagai antispam-antivirus untuk mail server adalah tersedia nya sebuah API untuk integrasi dengan aplikasi lain. Dengan API tersebut kita dapat membuat aplikasi sesuai dengan kebutuhan dasbor yang diinginkan, dan mengambil data lewat API tersebut.

Dan untuk fitur pada API yang dibuka ini cukup banyak, kita bisa melihatnya pada API viewer https://ip-proxmox-mail-gateway:8006/pmg-docs/api-viewer/index.html.

Selain API, juga ada pmgcli yang perintah nya asalnya menjalankan perintah put pada API tersebut.

Salah satu yang bisa dilakukan adalah menambahkan whitelist ataupun blacklist sebuah domain, sender, atau sejenisnya menggunakan pmgcli.

Normalnya, ketika kita ingin menambahkan spammer yang hendak di blacklist pada Proxmox Mail Gateway yaitu dengan cara:

Buka Proxmox Mail Gateway -> Who Object -> Blacklist/Whitelist -> Tambahkan dengan tipe domain/regex/email.

Nah, bagaimana jika kita hendak memasukkan dalam jumlah banyak? mosok harus satu persatu klik menu :D. Nah, ini kita bisa gunakan CLI dengan perintah berikut melalui shell.

Caranya, bisa langsung SSH ke server atau langsung ke proxmox dashboard -> Administration -> Console.

Ketik perintah berikut:

# Blacklist/Whitelist Email via CLI
pmgsh create /config/ruledb/who/{id}/email --email spam@spammer.com

# Blacklist/Whitelist Domain via CLI
pmgsh create /config/ruledb/who/{id}/domain --domain spammer.com

Sebelum menjalankan perintah di atas, pastikan sudah mengubah {id} sesuai dengan objek nya. Kita bisa melihat id dari objek dengan menggunakan perintah berikut:

root@mailfilter:~# pmgsh get /config/ruledb/who/
200 OK
[
   {
      "id" : 2,
      "info" : "Global blacklist",
      "name" : "Global Blacklist"
   },
   {
      "id" : 3,
      "info" : "Global whitelist",
      "name" : "Global whitelist"
   }
]

Artinya, jika kita ingin menambahkan objek pada blacklist, maka ubah {id} menjadi 2. Sementara itu jika kita ingin menambahkan objek pada whitelist, maka ubah {id} menjadi 3. Seperti berikut:

# Blacklist Email via CLI
pmgsh create /config/ruledb/who/2/email --email spam@spammer.com

# Blacklist Domain via CLI
pmgsh create /config/ruledb/who/2/domain --domain spammer.com

# Whitelist Email via CLI
pmgsh create /config/ruledb/who/3/email --email spam@spammer.com

# Whitelist Domain via CLI
pmgsh create /config/ruledb/who/3/domain --domain spammer.com

Selesai, cukup mudah kan? untuk lebih mempermudah kita bisa menggunakan bash script dengan looping untuk mengeksekusi sekaligus jika tidak ingin capek 😀

Semoga bermanfaat!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.