Filter Konten Anti Spam Distributed Checksum Clearinghouses Untuk Mail Server | UNIX LINUX EXPLORE
Edit

Filter Konten Anti Spam Distributed Checksum Clearinghouses Untuk Mail Server

2024/08/27
Distributed Checksum Clearinghouses atau DCC adalah filter konten anti-spam yang berjalan pada berbagai sistem operasi. Hitungan tersebut dapat digunakan oleh server SMTP dan agen pengguna email untuk mendeteksi dan menolak atau memfilter spam atau email massal yang tidak diminta. Server DCC bertukar atau "membanjiri" checksum umum. Checksum tersebut mencakup nilai yang konstan di seluruh variasi umum dalam pesan massal, termasuk "personalisasi".

Logika dasar dalam DCC adalah bahwa sebagian besar email spam dikirim ke banyak penerima. Oleh karena itu, isi pesan yang sama yang muncul berkali-kali merupakan email massal. DCC mengidentifikasi email massal dengan menghitung checksum fuzzy di dalamnya dan mengirimkannya ke server DCC. Server merespons dengan jumlah checksum yang telah diterimanya. Setiap email akan menghasilkan skor 1 setiap kali diproses. Email massal dapat diidentifikasi karena jumlah responsnya tinggi. Kontennya tidak diperiksa. DCC bekerja melalui protokol UDP dan menggunakan bandwidth yang kecil.

Ada grafik spam yang baru-baru ini terdeteksi. Grafik tersebut menunjukkan efektivitas sistem. Misalnya, jika Anda berasumsi bahwa 80% dari semua email adalah spam dan grafik tersebut menunjukkan bahwa DCC menemukan 70% email adalah spam, maka DCC mendeteksi 88% spam.






1. Instalasi DCC

Harap jangan mencoba menggunakan versi lama perangkat lunak DCC yang dimodifikasi yang didistribusikan oleh beberapa pengemas Linux. Versi tersebut tidak mendeteksi surat massal sebaik versi yang lebih baru. Instalasi yang menggunakan versi lama tersebut juga memiliki masalah saat menggunakan server DCC publik yang sering kali mengharuskan penambahan alamat IP mereka ke daftar hitam yang melindungi server DCC publik.

Sumber DCC tersedia di dcc-servers.net dan Rhyolite Software. Lisensi pada sumber gratis ada di sumber tersebut dan juga di dcc-servers.net. Lisensi gratis ditujukan untuk mencakup individu dan organisasi termasuk penyedia layanan Internet yang menggunakan DCC untuk menyaring surat mereka sendiri. Organisasi yang menjual perangkat anti-spam atau layanan surat terkelola tidak memenuhi syarat untuk lisensi gratis "https://www.dcc-servers.net/dcc/FAQ.html".

Jika anda menggunaakn sistem operasi Linux seperti Ubuntu, Debian atau lainnya, paket DCC tidak tersedia sebagai paket instalasi bawaan. Anda harus mendownload software DCC dari sumber resmi.

Unduh Kode Sumber
$ cd /usr/local/src
$ wget https://www.dcc-servers.net/dcc/source/dcc.tar.Z
$ tar xzvf dcc.tar.Z

2. Konfigurasi DCC

Konfigurasi file utama DCC adalah langkah awal yang harus anda kerjakan, anda harus mengedit file konfigurasi utama DCC, yaitu dcc_conf.

Edit /var/lib/dcc/dcc_conf
# GREY_ENABLE turns local greylist server 'on' or 'off',
GREY_ENABLE=off

DCCM_LOG_AT=NEVER
DCCM_REJECT_AT=MANY

DCCIFD_ENABLE=on
DCCIFD_ARGS="-p /run/dcc/dccifd.ascii-socket -o /run/dcc/dccifd.smtp-proxy-socket"

a. Buat File Konfigurasi Klien

Semua file konfigurasi DCC berada di direktori home DCC, biasanya /var/lib/dcc atau /var/dcc. Lihat halaman manual dcc, dccm, dccifd, dan dccproc untuk file yang dibutuhkan masing-masing. File contoh untuk konfigurasi berada di direktori homedir.
  • Kecuali dijalankan secara anonim, klien DCC memerlukan nomor ID klien dan kata sandi yang ditetapkan oleh operator server DCC yang dipilih dalam berkas /var/dcc/map.
  • Meskipun dijalankan secara anonim, berkas /var/dcc/map harus berisi alamat IP server DCC. Jika sistem email Anda menangani kurang dari 100.000 pesan email per hari, proses instalasi akan menghasilkan berkas /var/dcc/map yang dapat digunakan dari berkas homedir/map.txt yang disertakan. Berkas tersebut mengarah ke server DCC publik.
  • Jika menggunakan server DCC jarak jauh seperti server DCC publik, pastikan firewall Anda mengizinkan paket keluar ke port UDP 6277 pada sistem jarak jauh dan respons masuk dari port UDP 6277. Berikut ini adalah penjelasan mengenai konfigurasi firewall.
  • Server MX dan klien pengiriman email Anda harus tercantum dalam berkas whiteclnt utama dengan baris seperti:
    mx           ip  10.2.3.4
    mx           ip  10.5.6.0/28
    mxdcc      ip  10.5.6.0/28
    ok             ip  10.7.8.9
    submit      ip  192.168.1.0/24

Jika sistem lain tersebut juga menjalankan klien DCC, gunakan MXDCC sebagai ganti MX sehingga pesan tidak akan dilaporkan dua kali ke jaringan DCC dan memiliki jumlah target yang lebih tinggi, serta tampak seperti surat massal yang tidak diminta.
Gunakan OK untuk sistem surat yang Anda percayai untuk tidak pernah mengirim atau meneruskan surat massal yang tidak diminta.

Klien SMTP yang tidak tepercaya seperti pengguna akhir dengan browser yang digunakan sebagai MUA (agen pengguna surat) harus dicantumkan dalam berkas whiteclnt dengan submit.

b. Buat File Server dan Mulai Server

Lewati langkah ini dan langkah berikutnya jika hanya server DCC jarak jauh yang akan digunakan. Anda harus menggunakan server DCC lokal Anda sendiri hanya jika sistem email Anda menangani lebih dari 100.000 pesan email per hari. Jika sistem email Anda menangani kurang dari 100.000 pesan email per hari, Anda harus menggunakan server DCC publik. Program klien DCC dikonfigurasi untuk menggunakan server DCC publik secara default.

Sebaiknya gunakan server jarak jauh hingga klien DCC, dccm, dccifd, atau dccproc, stabil. Kemudian
  • Masukkan nilai yang sesuai untuk dccd dalam berkas konfigurasi, /var/dcc/dcc_conf. Setiap server DCC memerlukan server-ID yang unik. Dapatkan server-ID dengan menghubungi Vernon Schryver di vjs@rhyolite.com melalui email atau melalui formulir web.
  • Pilih kata sandi rahasia untuk server-ID Anda di berkas /var/dcc/ids. Kata sandi ini digunakan untuk mengendalikan server Anda dengan program cdcc. Server-ID Anda harus unik dan dapat diperoleh dengan menghubungi Vernon Schryver di vjs@rhyolite.com melalui email atau melalui formulir web.
  • Jika Anda memiliki lebih dari satu server DCC, pastikan bahwa ada ID klien umum dengan kata sandi yang sama di file /var/dcc/ids di semua server Anda. Anda harus menentukan nama DNS seperti dcc.example.com dengan catatan A dan AAAA untuk semua server DCC Anda. Kemudian konfigurasikan klien DCC Anda untuk menyebarkan beban mereka di antara server DCC Anda dengan perintah seperti

$ cdcc "dcc.example.com RTT-1000 ms 32768 rahasia"
di mana 32768 dan rahasia adalah ID klien dan kata sandi umum yang ditemukan di /var/dcc/ids di semua server DCC Anda.
  • Jalankan server dengan sistem dengan menginstal /var/dcc/libexec/rcDCC atau yang setara. Jika tidak diubah, sebaiknya rcDCC diinstal dengan tautan simbolik untuk mengotomatiskan penginstalan pembaruan. Server dapat dimulai secara manual dengan

$ rcDCC start

c. Buat Firewall Rules untuk DCC

Trafik DCC seperti trafik DNS. Anda harus memperlakukan port 6277 seperti port 53. Izinkan paket keluar ke port UDP 6277 yang jauh dan paket masuk dari port UDP 6277 yang jauh, seperti contoh di bawah ini.

Firewall Rules DCC
$ sudo ufw allow proto udp from any to port 6277
$ sudo ufw allow proto udp from port 6277 to any
$ sudo ufw allow proto udp6 from any to port 6277
$ sudo ufw allow proto udp6 from port 6277 to any
kemudian mulai daemon dengan menjalankan /var/dcc/libexec/rcDCC start.


3. DCC Systemd Service

Agar DCC dapat berjalan secara normal di Ubuntu anda harus mengedit systemd untuk memulai dan menghentikan DCC. Edit file /etc/systemd/system/dcc.service, seperti contoh script di bawah ini.

/etc/systemd/system/dcc.service
[Unit]
Description=DCC (Distributed Checksum Clearinghouses) interface daemon
After=remote-fs.target systemd-journald-dev-log.socket

[Service]
Type=forking
PermissionsStartOnly=true
RuntimeDirectory=dcc
ExecStart=/var/lib/dcc/libexec/dccifd
User=_dcc
Group=_dcc
Nice=1

#DCC writes pid file with "-" at the beginning which confuses systemd
#PIDFile=/run/dcc/dccifd.pid

[Install]
WantedBy=multi-user.target

Jika Anda menjalankan situs besar, yang memproses lebih dari puluhan ribu pesan dalam sehari, pengelola DCC telah meminta Anda untuk mempertimbangkan menyiapkan server DCC Anda sendiri seperti dijelaskan dalam situs resmi dcc, dan mengatur untuk berkomunikasi dengan server publik lainnya, untuk mengurangi bebannya.