Mengapa saya harus khawatir tentang mengamankan email WordPress saya?

Diterbitkan: 2023-05-31

Email ada di mana-mana. Mereka telah menjadi salah satu metode komunikasi paling umum di antara orang-orang melalui Internet. Administrator WordPress dan pemilik situs web menggunakan email untuk berbagai keperluan, seperti komunikasi pribadi dan profesional, pemasaran, rekrutmen, dan lainnya.

Email juga dapat berisi informasi sensitif yang Anda gunakan untuk mengautentikasi pengguna Anda atau mengizinkan mereka melakukan tindakan tertentu, seperti mengatur ulang kata sandi, dll. Dalam tutorial ini, kami akan membahas semua hal yang perlu diketahui pemilik situs web tentang keamanan email di WordPress.

Mari kita mulai diskusi dengan kebutuhan untuk mengamankan email situs web WordPress Anda. Menjaga keamanan email Anda membantu banyak hal, seperti:

  • Perlindungan informasi sensitif — Seperti disebutkan sebelumnya, Anda akan sering mengirim email yang berisi informasi sensitif. Ini dapat mencakup hal-hal seperti kredensial login pengguna Anda dan informasi pribadi terkait kesehatan atau keuangan mereka. Bagaimanapun, Anda perlu memastikan bahwa tidak seorang pun dengan niat jahat dapat mencegat informasi ini.
  • Pengiriman email — Spam adalah masalah besar di internet. Kami yakin Anda juga telah menerima email spam yang adil. Mereka menjengkelkan dalam skenario kasus terbaik dan dapat menyebabkan konsekuensi yang lebih drastis dalam kasus lain. Salah satu cara server email menangani potensi spam adalah dengan tidak mengirimkan email yang tidak memenuhi standar sama sekali. Demikian pula, email yang mungkin dianggap spam oleh klien email yang berbeda akan ditandai seperti itu dan diletakkan di folder terpisah dari kotak masuk utama.
  • Mempertahankan reputasi merek — Reputasi merek Anda mungkin dipertaruhkan jika Anda tidak menganggap serius keamanan email WordPress. Coba pikirkan, bagaimana perasaan Anda tentang merek yang emailnya terus-menerus terjebak dalam filter spam atau merek yang kurangnya keamanan mengakibatkan bocornya informasi pribadi Anda?
  • Pencegahan serangan berbasis email — Orang dengan niat jahat dapat menggunakan phishing email untuk mendapatkan akses ke situs web Anda atau untuk memiliki akses ke data pengguna. Ini dapat menimbulkan semua jenis masalah keamanan. Bagaimanapun, Anda perlu mengambil tindakan yang tepat untuk mengamankan email WordPress.

Mengirim email aman di WordPress

WordPress memiliki fungsi wp_mail() bawaan yang digunakan untuk mengirim email. Fungsi ini bergantung pada pustaka PHPMailer sumber terbuka dan gratis yang populer untuk mengirim semua email Anda.

Salah satu keuntungan menggunakan perpustakaan adalah memiliki klien SMTP terintegrasi yang memungkinkan Anda mengirim email di semua platform tanpa memerlukan server email lokal.

Istilah SMTP adalah singkatan dari Simple Mail Transfer Protocol. Klien SMTP adalah program yang dapat kita gunakan untuk mengirim email dari satu server ke server lainnya. Klien melakukan banyak hal berharga, seperti membuat koneksi dengan server email, otentikasi pengirim, dan transmisi email.

Menggunakan fungsi wp_mail() bukanlah jaminan otomatis bahwa penerimaan email Anda berhasil. Itu akan kembali benar setelah permintaan berhasil, terlepas dari status pengiriman email. Oleh karena itu, Anda harus memastikan bahwa email yang Anda kirim terkirim.

Anda dapat menambahkan pengaturan terkait SMTP di dalam file wp-config.php dengan menambahkan beberapa baris PHP ke kode sumber yang ada. Namun, opsi yang jauh lebih mudah adalah menggunakan plugin.
Anda dapat menggunakan salah satu dari banyak plugin SMTP WordPress gratis yang akan membantu Anda mengonfigurasi semua pengaturan Anda untuk mengirim email Anda secara efektif dan aman. Kami telah membahas pengiriman email WordPress dengan sangat rinci di masa lalu.

Menyiapkan plugin SMTP

Perlu disebutkan bahwa ada beberapa plugin SMTP yang dapat Anda gunakan di situs web Anda. Anda dapat mencobanya untuk melihat mana yang paling cocok untuk Anda. Salah satu yang paling populer adalah plugin WP Mail SMTP.

Plugin SMTP populer untuk WordPress

Plugin apa pun yang Anda gunakan akan meminta Anda memilih mailer SMTP untuk situs web Anda. Ada beberapa opsi yang tersedia seperti SendLayer, Postmark, SendGrid, Zoho Mail, dll. Wizard penyiapan akan membantu Anda dengan konfigurasi awal, di mana Anda memberikan semua informasi yang diperlukan, seperti kunci API, dll. Semua pengaturan ini berbeda plugin akan tersedia di dasbor WordPress.

Ada dua hal penting yang harus Anda ingat saat menyiapkan plugin ini:

  1. Pastikan Anda mengirim email melalui SSL dengan klien SMTP Anda. Ini akan membantu mencegah email dicegat saat sedang transit. banyak layanan seperti SendLayer dll., akan secara otomatis menangani enkripsi SSL/TLS untuk Anda. Namun, Anda juga dapat secara manual memberikan informasi tentang host SMTP, nomor port, enkripsi, dll. jika Anda memilih SMTP Lain sebagai Mailer SMTP.
  2. Anda mungkin juga ingin menonaktifkan pencatatan email jika mengirimkan informasi sensitif melalui email. Ini akan mencegah kebocoran data yang tidak diinginkan jika terjadi kesalahan. Tidak apa-apa untuk mengaktifkan opsi ini saat pengujian, tetapi idealnya harus dimatikan dalam kasus lain.

Kerangka kerja keamanan email umum

Menginstal dan menggunakan sertifikat SSL untuk mengirim email akan memastikan bahwa konten email aman saat transit antara klien email dan server email. Ini menjadi mungkin dengan pencegahan akses tidak sah atau penyadapan email selama transmisi.

Langkah selanjutnya dalam meningkatkan keamanan email WordPress melibatkan penggunaan enkripsi sehingga hanya penerima yang dituju yang dapat membaca konten email yang dikirimkan kepada mereka.

Ada banyak kerangka kerja keamanan email berbeda yang dapat Anda gunakan untuk mengamankan email di situs WordPress Anda. Istilah kerangka kerja keamanan email mengacu pada seperangkat pedoman dan standar yang ada untuk memastikan bahwa semua komunikasi email Anda tetap aman dari risiko keamanan seperti spam, phishing, dan akses tidak sah.

Server SMTP yang berbeda mungkin menggunakan kombinasi beberapa kerangka kerja keamanan email untuk mencapai tujuannya dalam mengamankan email. Mari belajar tentang beberapa di antaranya.

Kerangka Kebijakan Pengirim

Kerangka Kebijakan Pengirim, juga dikenal sebagai SPF, adalah kerangka kerja autentikasi email yang memungkinkan server email penerima untuk memeriksa apakah email berasal dari sumber yang sah.

Singkatnya, SPF bekerja dengan memeriksa catatan DNS (Sistem Nama Domain) dari domain pengirim untuk memverifikasi bahwa alamat IP pengirim cocok dengan alamat IP resmi untuk domain tersebut.

Setelah email terkirim, server email di pihak penerima akan memeriksa catatan SPF untuk mengetahui apakah email tersebut benar-benar dikirim dari server email resmi di pihak pengirim. Catatan SPF akan berisi informasi tentang semua alamat IP dan domain yang dapat mengirim email atas nama domain tertentu. Ketidakcocokan apa pun akan mengakibatkan email tersebut ditandai sebagai mencurigakan.

SPF membantu memerangi spam dan serangan phishing di mana seseorang akan berpura-pura menjadi diri mereka sendiri.

Surat Teridentifikasi DomainKeys

Framework DomainKeys Identified Mail (DKIM) mengandalkan penggunaan tanda tangan digital untuk memverifikasi bahwa pengirim email adalah orang yang sah. Ini juga memastikan bahwa isi email tidak berubah saat mengirimkan email.

Tanda tangan digital tidak lain adalah nilai kriptografi yang dihasilkan menggunakan kunci pribadi yang terkait dengan nama domain yang sah. Pesan email berisi nilai kriptografik sebagai kolom Tanda Tangan DKIM di headernya.

Server email di pihak penerima dapat mengakses kunci publik domain pengirim dari data DNS. Sistem email menggunakan kunci publik untuk mendekripsi tanda tangan untuk memverifikasi keaslian pengirim. Sistem mengirimkan email ke kotak surat penerima setelah memvalidasi keaslian pengirim.

Rahasianya di sini adalah bahwa kunci privat digunakan untuk menghasilkan tanda tangan kriptografi, dan tanda tangan ini hanya dapat didekripsi dengan kunci publik yang sesuai. Ini berarti bahwa nilai yang cocok dalam nilai hash yang dihasilkan dengan kunci privat dan publik menjamin keaslian email.

Otentikasi Pesan Berbasis Domain, Pelaporan, dan Kesesuaian

Dua kerangka kerja sebelumnya memungkinkan Anda untuk memvalidasi bahwa pengirim email adalah seseorang yang mereka klaim. Ini membantu mencegah serangan spam dan phishing.

Bagaimana jika email gagal dalam pemeriksaan SPF atau DKIM?

Anda mungkin bertanya-tanya bagaimana email yang sah bisa gagal dalam pemeriksaan SPF atau DKIM. Hal ini dapat terjadi dalam berbagai situasi, seperti data SPF atau DKIM yang salah dikonfigurasi, stempel waktu tidak valid karena waktu transit yang lebih lama dari biasanya, dan penerusan email saat server penerusan tidak berwenang mengirim email atas nama domain pengirim asli.

Kerangka Otentikasi, Pelaporan, dan Kesesuaian Pesan Berbasis Domain (DMARC) hadir untuk menyelamatkan Anda dalam kasus ini.

Pemilik domain dapat menambahkan kebijakan DMARC ke data DNS mereka untuk menentukan apa yang akan terjadi pada pesan email yang gagal dalam pemeriksaan autentikasi SPF atau DKIM.

Setelah email gagal dalam pemeriksaan ini, server email penerima akan mencari kebijakan DMARC dari domain pengirim. Kebijakan DMARC akan menentukan apakah email harus ditolak, dikarantina, atau dikirim ke kotak surat penerima.

Selain memeriksa keabsahan pengirim, DMARC menyertakan mekanisme untuk melaporkan kepada pemilik domain semua informasi tentang email yang dikirim dari domain mereka. Akses ke informasi ini dapat membantu pemilik domain mengidentifikasi potensi email spoofing atau serangan phishing. Ini pada akhirnya menghasilkan peningkatan keamanan email.

Privasi yang Cukup Baik

Pretty Good Privacy, atau PGP, adalah kerangka kerja keamanan email menarik lainnya yang menyediakan enkripsi end-to-end untuk email Anda, memastikan bahwa hanya penerima yang dituju yang dapat membaca email Anda.

Protokol keamanan PGP bergantung pada sepasang kunci publik dan privat untuk sistem kriptografinya. Semua pengguna protokol PGP akan memiliki kunci publik dan pribadi mereka sendiri. PGP menggunakan kunci publik untuk mengenkripsi pesan email dan kunci privat untuk mendekripsinya. Setiap orang yang ingin berkomunikasi dengan pengguna memiliki akses ke kunci publik. Kunci pribadi tetap dengan pengguna.

Katakanlah Anda ingin mengirim email ke seseorang. Sebagai pengirim, Anda akan menggunakan kunci publik yang disediakan oleh penerima untuk mengenkripsi pesan Anda. Ini memastikan bahwa hanya penerima yang dapat mendekripsi pesan karena hanya mereka yang memiliki kunci privat.

PGP juga menggunakan tanda tangan digital untuk memverifikasi keaslian dan integritas email dan untuk memastikan bahwa tidak ada gangguan selama pengiriman.

Kunci privat terbukti berguna untuk menghasilkan tanda tangan digital, yang memverifikasi keaslian pengirim. Kunci pribadi digunakan untuk membuat hash dari pesan email. Karena PGP bekerja berdasarkan prinsip berbagi kunci publik, penerima email akan memiliki akses ke kunci publik pengirim. Kunci publik ini berguna untuk mendekripsi hash, yang memverifikasi bahwa pesan tidak berubah.

Aspek penting lainnya dari PGP adalah sistem “web of trust”, di mana pengguna yang berbeda dapat menandatangani kunci publik satu sama lain untuk menunjukkan bahwa mereka telah memverifikasi pemilik kunci. Hal ini semakin mempersulit seseorang dengan niat jahat untuk menyamar sebagai pengguna.

Menerapkan keamanan email di situs WordPress Anda

Kami sekarang akan belajar bagaimana menerapkan kerangka kerja keamanan email yang berbeda di situs web Anda.

Kerangka Kebijakan Pengirim

Seperti disebutkan di bagian sebelumnya, SPF bekerja dengan memeriksa catatan DNS dari domain pengirim. Ini memeriksa apakah IP pengirim cocok dengan alamat IP resmi untuk domain itu.

Kami dapat menguji ini menggunakan wpwhitesecurity.com sebagai contoh. Yang perlu kita lakukan adalah menggunakan perintah nslookup sebagai berikut:
nslookup -type=txt nama domain

Catatan WP White Security SPF

Hasilnya memberi tahu kami sistem mana yang kami gunakan untuk mengirim email.

v=spf1 mx meliputi:_spf.google.com meliputi:relay.kinstamailservice.com meliputi:servers.mcsv.net meliputi:helpscoutemail.com meliputi:sendgrid.net ~semua

Jika email yang Anda terima dari kami tidak berasal dari salah satu sistem ini, maka kemungkinan email tersebut tidak sah.

Yang perlu kita lakukan untuk mengimplementasikan SPF adalah menambahkan data TXT ke file zona DNS domain. Data TXT dapat berisi teks arbitrer yang ingin Anda kaitkan dengan nama domain. Dalam hal ini, ini akan berisi informasi SPF.

Langkah pertama adalah masuk ke layanan apa pun yang Anda gunakan untuk mengelola catatan DNS Anda. Dalam hal ini, kami akan menggunakan Cloudflare. Oleh karena itu, pertama-tama kita masuk ke akun Cloudflare dan memilih domain yang DNS record-nya akan diedit.

Anda akan melihat opsi untuk mengubah Pengaturan DNS baik di bilah sisi kiri atau di bawah Tindakan Cepat jika Anda menggunakan Cloudflare. Klik untuk menambahkan catatan DNS. Akan ada tombol Add Record di halaman berikutnya. Klik di atasnya, dan Anda akan melihat layar berikut.

Menambahkan catatan DNS di Cloudflare

Pilih TXT di bawah tarik-turun Jenis. Tetapkan nama ke root domain Anda. Pertahankan TTL ke Auto dan atur nilai Content ke v=spf1 mx a ip4:XXX.XXX.XXX.XXX -all. Gunakan tangkapan layar di bawah untuk referensi.

Catatan DNS terdiri dari bagian yang berbeda. Mari kita lihat apa artinya satu per satu:

  1. v=spf1 — Bagian ini menentukan versi protokol SPF yang digunakan. Dalam hal ini, versi SPF adalah 1.
  2. mx — Bagian ini mengizinkan data MX domain untuk mengirim email atas nama domain.
  3. a — Bagian ini mengizinkan catatan A domain atau alamat ipv4-nya untuk mengirim email atas nama domain.
  4. ip4:XXX.XXX.XXX.XXX — Anda dapat menambahkan bagian ini untuk menambahkan alamat IP tertentu ke daftar putih untuk mengirim email.
  5. -semua — Bagian ini menentukan apa yang harus terjadi pada email yang tidak cocok dengan domain atau alamat IP yang diotorisasi.

Pastikan Anda mengganti XXX.XXX.XXX.XXX dengan alamat IP yang ingin Anda masukkan ke daftar putih. Anda tidak perlu menambahkan bagian ini jika Anda hanya berencana mengirim alamat email dari domain Anda. Namun, Anda harus menyertakan alamat IP server email Anda di sini untuk mencegah spoofing.

Surat Teridentifikasi DomainKey

Kerangka kerja DKIM juga mengandalkan nilai yang disimpan dalam catatan DNS untuk memverifikasi keaslian pengirim email.

Perbedaan utama adalah bahwa sementara SPF bergantung pada pemeriksaan alamat IP dalam catatan DNS untuk memastikan bahwa beberapa yang berwenang mengirim email, DKIM bergantung pada penggunaan kunci publik dan pribadi.

Jika Anda menggunakan Cloudflare untuk mengelola domain, Anda dapat menambahkan data DNS, seperti yang kami lakukan di bagian sebelumnya. Namun, Anda juga dapat memperbarui catatan DNS dari dasbor penyedia hosting Anda.

Berikut adalah tangkapan layar data TXT DKIM saat ini di cPanel akun hosting. Anda dapat menemukan opsi ini setelah masuk ke akun cPanel Anda dan kemudian memeriksa Pengiriman Email.

catatan cPanel DKIM

Nama data DKIM disetel ke default._domainkey untuk memastikannya dapat ditemukan dengan mudah oleh penyedia layanan email yang berbeda.

Isi dari record DKIM terdiri dari beberapa bagian, seperti penjelasan dibawah ini:

  1. v=DKIM1 — Bagian ini menentukan versi protokol DKIM yang digunakan.
  2. k=rsa — Bagian ini menentukan bahwa kunci publik yang kita gunakan adalah kunci RSA.
  3. p=KEY_VALUE — Bagian ini adalah kunci publik yang disandikan Base64.

Otentikasi Pesan Berbasis Domain, Pelaporan, dan Kesesuaian

Sekarang kita akan mempelajari cara menambahkan kebijakan DMARC ke catatan TXT DNS kita. Proses penambahan catatan DNS akan tetap sama di sini. Satu-satunya hal yang berubah adalah nama catatan dan isinya.

Nama data TXT DNS kami adalah _dmarc.yourwebsite.com, dengan yourwebsite.com adalah situs web Anda yang sebenarnya. Sekali lagi, ini hanyalah konvensi standar untuk memudahkan identifikasi kebijakan DMARC.

Anda dapat menambahkan total 11 pasang nilai tag sebagai konten data TXT DNS kebijakan DMARC. Anda dapat membacanya di halaman ini yang menjelaskan data TXT DNS DMARC secara menyeluruh.

Mari gunakan wizard yang baru diperkenalkan di Cloudflare untuk menambahkan kebijakan DMARC.

Menambahkan kebijakan DMARC di Cloudflare

Setelah Anda mengklik tautan wizard, Anda akan melihat layar berikut. Cukup klik tombol Tambah, dan Anda siap melakukannya.

layar konfigurasi data DMARC

Sekarang kita akan mempelajari arti konten di dalam data DMARC:

  1. v=DMARC1 — Seperti biasa, ini menentukan versi protokol DMARC yang digunakan.
  2. p=none — Bagian ini menetapkan bahwa tidak ada tindakan kebijakan yang dilakukan untuk pemeriksaan yang gagal. Anda juga dapat menyetel nilai ini ke karantina atau penolakan. Menyetel nilai ke karantina akan menandai email sebagai berpotensi mencurigakan tetapi tetap mengirimkannya ke folder spam di kotak surat penerima.
  3. rua=mailto:[email protected] — Bagian ini menentukan alamat email yang menerima laporan. Laporan akan berisi informasi tentang pesan email yang lulus atau gagal dalam pemeriksaan DMRC.

Mengamankan email untuk keamanan yang lebih baik

Seperti pepatah lama, rantai hanya sekuat mata rantai terlemahnya. Ini sangat benar dalam hal keamanan, yang mengharuskan administrator WordPress dan pemilik situs web untuk melihat lebih dari sekadar mengamankan WordPress dan menangani infrastruktur pendukung/di sekitarnya.

Keamanan email cenderung diabaikan; namun, seperti yang baru saja kita lihat di artikel, mengamankan email relatif mudah dan sangat mudah diakses. Dari mengonfigurasi catatan DNS hingga mengenkripsi email, hal ini tidak hanya akan memastikan jangkauan pelanggan dan pengguna yang lebih baik, tetapi juga meminimalkan risiko keamanan secara drastis.

Tips lainnya untuk meningkatkan keamanan WordPress

Membuat email Anda aman hanyalah satu bagian dari keseluruhan keamanan situs web. Berikut adalah beberapa kiat umum untuk meningkatkan keamanan menyeluruh situs web Anda.

  • Perbarui Secara Teratur — Penting untuk selalu memperbarui semua tema atau plugin WordPress Anda. Pembaruan biasanya akan menambah fitur baru serta memperbaiki kerentanan yang diketahui.
  • Gunakan Kata Sandi yang Kuat — Anda harus menggunakan kata sandi yang kuat dan unik untuk semua akun terkait situs web Anda, termasuk host web, database, akun FTP, akun admin WordPress, dll. Ini akan mencegah serangan brute force untuk memecahkan kata sandi Anda. Anda dapat menggunakan plugin MelaPress Login Security untuk mengikuti semua praktik keamanan login terbaik, seperti kata sandi yang kuat, memblokir terlalu banyak upaya login yang gagal, dll.
  • Instal Plugin Keamanan — Anda juga harus mempertimbangkan untuk menginstal plugin keamanan. Beberapa opsi yang paling populer adalah Wordfence, iThemes Security, All-In-One security, dll. Anda juga dapat menginstal plugin seperti WP Activity Log untuk mencatat semua perubahan yang terjadi di situs WordPress Anda.
  • Gunakan Autentikasi Dua Faktor — Anda dapat menggunakan autentikasi dua faktor untuk menambahkan lapisan keamanan tambahan. Plugin gratis seperti WP 2FA dapat membantu Anda melakukannya dengan mudah.
  • Ambil Cadangan Reguler - Anda juga harus mengambil cadangan situs web Anda secara teratur. Ini akan membantu Anda membuat situs web Anda online dengan cepat jika terjadi pelanggaran keamanan atau masalah lainnya.
  • Gunakan Host Web yang Andal — Pastikan Anda menggunakan host web yang terkenal dan andal untuk menghosting situs web Anda. Host web akan bertanggung jawab atas beberapa hal, seperti mengamankan server web, memperbaruinya, mengambil cadangannya di backend, dll.
  • Gunakan Firewall — Memasang firewall akan mencegah akses tidak sah sekaligus melindungi dari ancaman keamanan umum dan serangan DDOS. Dimungkinkan untuk memasang firewall di tingkat server oleh host web Anda atau di tingkat situs web oleh Anda sebagai plugin WordPress. Kabar baiknya adalah plugin seperti Wordfence dll., sudah menawarkan firewall dan akan melindungi Anda dari malware.
  • Batasi Upaya Masuk — Tindakan keamanan lain yang dapat Anda lakukan adalah membatasi jumlah upaya masuk yang gagal untuk mencegah serangan brute-force oleh bot.