Pendakwah Teknologi · Security Advisory

Tinjauan
Keselamatan Pasif

Passive Security Posture Assessment — laporan ini menyenaraikan apa yang dapat dilihat oleh pihak luar dari Internet sahaja, tanpa sebarang ujian penembusan.

www.maiwp.gov.my
18 May 2026, 16:31 UTC
Passive OSINT only
D
Overall Grade
50 / 100

Di bawah piawai untuk perkhidmatan kerajaan. Beberapa langkah cepat tersedia.
Below the bar for a government-facing service. Several quick wins available.

Ringkasan Eksekutif / Executive Summary


Bahasa Malaysia

Pendakwah Teknologi telah menjalankan tinjauan keselamatan pasif ke atas www.maiwp.gov.my menggunakan hanya sumber awam (DNS, log Certificate Transparency, header HTTP, sejarah arkib, urlscan.io). Tiada ujian penembusan, tiada penghantaran muatan berbahaya, tiada percubaan brute-force.

Tujuannya: menunjukkan apa yang dapat dilihat penyerang dari luar sebelum mereka menyentuh sistem anda — sama seperti tinjauan awal dalam pelan serangan sebenar.

Penilaian keseluruhan: Gred D (50/100). Di bawah piawai untuk perkhidmatan kerajaan. Beberapa langkah cepat tersedia.

English

Pendakwah Teknologi conducted a passive security review of www.maiwp.gov.my using only public sources (DNS, Certificate Transparency logs, HTTP headers, archive history, urlscan.io). No active scanning, no payloads, no brute-force.

The goal: show what an outsider can see before touching your systems — equivalent to the reconnaissance phase of a real attack chain.

Overall posture: Grade D (50/100). Below the bar for a government-facing service. Several quick wins available.

Profil Risiko / Risk Profile


0
Critical · Kritikal
1
High · Tinggi
5
Medium · Sederhana
0
Low · Rendah
2
Info · Maklumat

Tiga Penemuan Utama / Top 3 Findings


1
Polisi DMARC hanya dikuatkuasakan ke atas 10% e-mel palsu
DMARC policy applies to only 10% of failing mail
2
Polisi SPF berakhir dengan ~all (softfail)
SPF policy ends with ~all (softfail)
3
Polisi DMARC adalah p=quarantine (bukan p=reject)
DMARC policy is p=quarantine (not p=reject)

Penemuan Terperinci / Detailed Findings


Setiap penemuan disusun mengikut keterukan. Setiap kad memberikan: maksud praktikal dalam BM & EN, bukti yang dilihat, dan langkah pembaikan yang konkrit.

High · Tinggi 1 penemuan / findings

High

DMARC policy applies to only 10% of failing mail

Polisi DMARC hanya dikuatkuasakan ke atas 10% e-mel palsu
DMARC_PCT_LOW · email_auth
What this means

pct=10 means the published p=quarantine policy is only enforced on 10% of failing messages — the other 90% pass through as if there was no policy. This is typically a *staged-rollout* value; if it has been at 10 for more than a few weeks, the rollout is stalled.

Bagaimana memperbaiki

Setelah laporan aggregate menunjukkan tiada e-mel sah yang gagal, naikkan pct ke 100.

Apa maksudnya

pct=10 bermakna polisi p=quarantine hanya dikuatkuasakan ke atas 10% e-mel yang gagal pengesahan — baki 90% lulus seolah-olah tiada polisi. Nilai ini biasanya untuk pelancaran berperingkat; jika telah berada pada 10 lebih daripada beberapa minggu, pelancaran tersangkut.

How to fix

Once aggregate reports show no legitimate mail failing, raise pct to 100.

v=DMARC1; p=quarantine; sp=quarantine; pct=10; rua=mailto:rua.agensi@mygovuc.gov.my; ruf=mailto:ruf.agensi@mygovuc.gov.my; adkim=r; aspf=r; ri=86400

Medium · Sederhana 5 penemuan / findings

Medium

SPF policy ends with ~all (softfail)

Polisi SPF berakhir dengan ~all (softfail)
SPF_SOFTFAIL · email_auth
What this means

Softfail tells receivers to *accept but mark* spoofed mail. Most servers still deliver it.

Bagaimana memperbaiki

Tukar ~all kepada -all setelah anda pasti senarai SPF lengkap.

Apa maksudnya

Softfail meminta pelayan penerima *terima tetapi tandakan* e-mel palsu. Kebanyakan pelayan masih sampaikan ke peti masuk.

How to fix

Change ~all to -all once you are confident the SPF list is complete.

v=spf1 ip4:103.8.147.12/30 ip4:219.92.54.177/32 ip4:103.156.82.32/29 ip4:103.156.83.32/29 ip4:103.245.89.4 ip4:103.245.89.5 ip4:150.242.180.0/24 ip4:103.8.147.12/30 ip4:219.92.54.177/32 ip4:103.156.82.32/29 ip4:103.156.83.32/29 include:_spf.google.com ~all
Medium

DMARC policy is p=quarantine (not p=reject)

Polisi DMARC adalah p=quarantine (bukan p=reject)
DMARC_POLICY_QUARANTINE · email_auth
What this means

Quarantine sends spoofed mail to spam — better than none, but rejecting is stronger and what most government domains have moved to.

Bagaimana memperbaiki

Naikkan ke p=reject setelah yakin.

Apa maksudnya

Quarantine menghantar e-mel palsu ke spam — lebih baik daripada tiada, tetapi p=reject adalah lebih kukuh dan menjadi pilihan kebanyakan domain kerajaan.

How to fix

Raise to p=reject once confident.

v=DMARC1; p=quarantine; sp=quarantine; pct=10; rua=mailto:rua.agensi@mygovuc.gov.my; ruf=mailto:ruf.agensi@mygovuc.gov.my; adkim=r; aspf=r; ri=86400
Medium

DKIM not detected on common selectors

DKIM tidak ditemui pada selector lazim
DKIM_NOT_DETECTED · email_auth
What this means

Without DKIM signatures, mail-server-level DMARC alignment is much harder to achieve, weakening anti-spoofing.

Bagaimana memperbaiki

Konfigurasikan tandatangan DKIM di platform e-mel anda (Google Workspace / Microsoft 365) dan terbitkan kunci awam.

Apa maksudnya

Tanpa tandatangan DKIM, penjajaran DMARC di peringkat pelayan e-mel lebih sukar, melemahkan perlindungan terhadap penyamaran.

How to fix

Configure DKIM signing in your mail platform (Google Workspace / Microsoft 365) and publish the public key.

Medium

CSP missing default-src and script-src

CSP tiada default-src dan script-src
WEAK_CSP · headers
What this means

Current CSP only restricts a few directives; the browser falls back to permissive defaults for scripts, styles, images, etc.

Bagaimana memperbaiki

Tambah default-src 'self' dan script-src yang ketat.

Apa maksudnya

CSP semasa hanya mengawal sedikit arahan; pelayar guna nilai lalai yang longgar untuk skrip, gaya, imej, dsb.

How to fix

Add default-src 'self' and a strict script-src.

object-src 'none'; form-action 'self'; frame-ancestors 'self';
Medium

Non-production subdomains visible in CT logs (6 found)

Subdomain bukan-produksi kelihatan dalam log CT (6 ditemui)
EXPOSED_NON_PROD_SUBDOMAINS · subdomains
What this means

Certificate Transparency logs are public. Subdomains containing 'dev', 'test', 'staging', 'admin' etc. are commonly targeted because they are often less hardened than production.

Bagaimana memperbaiki

Senaraikan setiap satu. Padamkan jika tidak digunakan. Jika perlu, hadkan akses kepada VPN / Cloudflare Access / senarai putih IP.

Apa maksudnya

Log Certificate Transparency adalah awam. Subdomain yang mengandungi 'dev', 'test', 'staging', 'admin' dsb. selalunya diserang kerana biasanya kurang terlindung berbanding produksi.

How to fix

Inventory each one. Take offline if unused. If needed, restrict to VPN / Cloudflare Access / IP allowlist.

epay-adm-staging.maiwp.gov.my epay-api-staging.maiwp.gov.my epay-staging.maiwp.gov.my intranet.maiwp.gov.my izakat-adm-staging.maiwp.gov.my izakat-staging.maiwp.gov.my

Info · Maklumat 2 penemuan / findings

Info

Deprecated X-XSS-Protection header present

Header X-XSS-Protection (sudah lapuk) digunakan
DEPRECATED_XSS_PROTECTION · headers
What this means

Modern browsers ignore this header; rely on CSP instead.

Bagaimana memperbaiki

Buang header X-XSS-Protection.

Apa maksudnya

Pelayar moden tidak guna header ini; gunakan CSP sebagai gantinya.

How to fix

Remove X-XSS-Protection header.

1; mode=block
Info

Deprecated Expect-CT header present

Header Expect-CT (sudah lapuk) digunakan
DEPRECATED_EXPECT_CT · headers
What this means

Expect-CT was deprecated in 2024 as CT is enforced by default in modern browsers.

Bagaimana memperbaiki

Buang header Expect-CT.

Apa maksudnya

Expect-CT telah dilapukkan pada 2024 kerana CT dikuatkuasakan secara lalai dalam pelayar moden.

How to fix

Remove Expect-CT header.

max-age=86400, enforce

Pengesahan E-mel / Email Authentication Deep-Dive


Mengapa ini penting

MAIWP adalah pihak berkuasa agama yang dikenali umum. Penipu menggunakan nama dan logo institusi seperti MAIWP untuk meminta sumbangan, zakat, atau maklumat peribadi. Pengesahan e-mel (SPF + DKIM + DMARC) ialah lapisan teknikal yang menghalang penipu daripada menghantar e-mel yang nampak datang dari @maiwp.gov.my.

Why this matters

MAIWP is a publicly trusted religious authority. Scammers routinely impersonate such institutions to solicit donations, zakat, or personal data. Email authentication (SPF + DKIM + DMARC) is the technical layer that prevents attackers from sending mail that appears to come from @maiwp.gov.my.

Status Polisi / Policy Status


SPF

v=spf1 ip4:103.8.147.12/30 ip4:219.92.54.177/32 ip4:103.156.82.32/29 ip4:103.156.83.32/29 ip4:103.245.89.4 ip4:103.245.89.5 ip4:150.242.180.0/24 ip4:103.8.147.12/30 ip4:219.92.54.177/32 ip4:103.156.82.32/29 ip4:103.156.83.32/29 include:_spf.google.com ~all

DMARC

v=DMARC1; p=quarantine; sp=quarantine; pct=10; rua=mailto:rua.agensi@mygovuc.gov.my; ruf=mailto:ruf.agensi@mygovuc.gov.my; adkim=r; aspf=r; ri=86400

DKIM

Tiada selector lazim dijumpai / no common selector found

Cara Membaca / How to Read


Bahasa Malaysia

SPF menyenaraikan pelayan yang dibenarkan menghantar e-mel atas nama domain. Akhiran -all bermakna tolak yang lain. ~all hanya menanda (softfail) — penerima biasanya tetap sampaikan ke peti masuk.

DKIM menambah tandatangan kriptografi pada setiap e-mel keluar — supaya pelayan penerima dapat sahkan kandungan tidak diubah.

DMARC menyatakan apa yang patut dilakukan jika SPF/DKIM gagal. p=none = pantau sahaja; p=quarantine = letak di spam; p=reject = tolak. pct=100 bermakna polisi dikuatkuasakan ke atas semua e-mel yang gagal.

English

SPF lists which servers are authorised to send mail for the domain. Suffix -all means reject anything else. ~all only marks (softfail) — receivers usually still deliver to inbox.

DKIM adds a cryptographic signature to outgoing mail so the receiver can verify the content was not tampered with.

DMARC tells receivers what to do when SPF/DKIM fail. p=none = monitor only; p=quarantine = spam folder; p=reject = reject. pct=100 means the policy is enforced on all failing mail.

Peta Pendedahan / Attack Surface Map


Senarai aset yang dapat dilihat oleh penyerang dari Internet, hanya dari sumber awam.

Subdomain (27)


Diperolehi dari log Certificate Transparency awam. Subdomain ‘staging/dev/test/admin/internal’ ditandakan kerana biasanya kurang dilindungi.

SubdomainStatus
ap-guest.maiwp.gov.my ok
asis.maiwp.gov.my ok
asnafcare.maiwp.gov.my ok
cloud.maiwp.gov.my ok
ehartanah.maiwp.gov.my ok
epay-adm-staging.maiwp.gov.my tinjau · review
epay-adm.maiwp.gov.my ok
epay-api-staging.maiwp.gov.my tinjau · review
epay-api.maiwp.gov.my ok
epay-staging.maiwp.gov.my tinjau · review
epay.maiwp.gov.my ok
hrmsconnect.maiwp.gov.my ok
intranet.maiwp.gov.my tinjau · review
ipermata.maiwp.gov.my ok
izakat-adm-staging.maiwp.gov.my tinjau · review
izakat-adm.maiwp.gov.my ok
izakat-api.maiwp.gov.my ok
izakat-meta.maiwp.gov.my ok
izakat-pod.maiwp.gov.my ok
izakat-staging.maiwp.gov.my tinjau · review
izakat.maiwp.gov.my ok
maiwp.gov.my ok
pma.maiwp.gov.my ok
smam.maiwp.gov.my ok
spas.maiwp.gov.my ok
vlp.maiwp.gov.my ok
www.maiwp.gov.my ok

Rekod DNS / DNS Records


Jenis / TypeNilai / Value
A 104.20.22.237
172.66.162.204
AAAA 2606:4700:10::6814:16ed
2606:4700:10::ac42:a2cc
MX 1 aspmx.l.google.com.
10 alt3.aspmx.l.google.com.
10 alt4.aspmx.l.google.com.
5 alt1.aspmx.l.google.com.
5 alt2.aspmx.l.google.com.
NS clyde.ns.cloudflare.com.
jessica.ns.cloudflare.com.
TXT "google-site-verification=rlYe7zEjlKxrQYGgy9AcCdnO_AW3xZni0Szh_fNnaJc"
"google-site-verification=s6TQc68ULeL4nYcc0yuiaftDFqboTx_1EWaFZii9W5E"
"v=spf1 ip4:103.8.147.12/30 ip4:219.92.54.177/32 ip4:103.156.82.32/29 ip4:103.156.83.32/29 ip4:103.245.89.4 ip4:103.245.89.5 ip4:150.242.180.0/24 ip4:103.8.147.12/30 ip4:219.92.54.177/32 ip4:103.156.82.32/29 ip4:103.156.83.32/29 include:_spf.google.com ~al" "l"
"google-site-verification=r3gB6Fr5Y1qjdh3Wf0naanXI2GSts3Oog4HYeU1ff5Y"
CAA 0 issue "ssl.com"
0 issuewild "comodoca.com"
0 issuewild "digicert.com; cansignhttpexchanges=yes"
0 issuewild "entrust.net"
0 issuewild "letsencrypt.org"
0 issuewild "pki.goog; cansignhttpexchanges=yes"
0 issuewild "sectigo.com"
0 issuewild "ssl.com"
0 issue "comodoca.com"
0 issue "digicert.com; cansignhttpexchanges=yes"
0 issue "entrust.net"
0 issue "letsencrypt.org"
0 issue "pki.goog; cansignhttpexchanges=yes"
0 issue "sectigo.com"
SOA clyde.ns.cloudflare.com. dns.cloudflare.com. 2404080410 10000 2400 604800 1800

Sijil TLS / TLS Certificate


TLSv1.3
TLS_AES_256_GCM_SHA384
Google Trust Services
maiwp.gov.my
2026-07-29T14:12:45+00:00 (71 hari lagi / days left)
maiwp.gov.my, *.maiwp.gov.my

Cap Jari Teknologi / Technology


Cloudflare

urlscan.io


9 imbasan awam berlaku ke atas domain ini. 9 public scans recorded for this domain.

Pelan Tindakan / Remediation Roadmap


Tindakan yang dicadangkan, disusun mengikut keutamaan. Sebahagian boleh selesai dalam minggu ini.

Minggu Ini / This Week

Critical & High

  • Polisi DMARC hanya dikuatkuasakan ke atas 10% e-mel palsu
    Setelah laporan aggregate menunjukkan tiada e-mel sah yang gagal, naikkan pct ke 100.

Bulan Ini / This Month

Medium

  • Polisi SPF berakhir dengan ~all (softfail)
    Tukar ~all kepada -all setelah anda pasti senarai SPF lengkap.
  • Polisi DMARC adalah p=quarantine (bukan p=reject)
    Naikkan ke p=reject setelah yakin.
  • DKIM tidak ditemui pada selector lazim
    Konfigurasikan tandatangan DKIM di platform e-mel anda (Google Workspace / Microsoft 365) dan terbitkan kunci awam.
  • CSP tiada default-src dan script-src
    Tambah default-src 'self' dan script-src yang ketat.
  • Subdomain bukan-produksi kelihatan dalam log CT (6 ditemui)
    Senaraikan setiap satu. Padamkan jika tidak digunakan. Jika perlu, hadkan akses kepada VPN / Cloudflare Access / senarai putih IP.

Suku Tahun Ini / This Quarter

Low & Info

  • Header X-XSS-Protection (sudah lapuk) digunakan
    Buang header X-XSS-Protection.
  • Header Expect-CT (sudah lapuk) digunakan
    Buang header Expect-CT.

Kaedah & Skop / Methodology & Scope


Apa yang DIUJI

  • Pengambilan satu halaman https://www.maiwp.gov.my dengan permintaan HTTPS biasa (seperti pelayar).
  • Pertanyaan DNS umum: A, AAAA, MX, NS, TXT, CAA, SOA, _dmarc, dan pemilih DKIM lazim.
  • Sumber awam: log Certificate Transparency, Wayback Machine, urlscan.io.
  • Analisis sijil TLS yang dipersembahkan oleh pelayan.

Apa yang TIDAK DIUJI

  • Tiada pengimbasan port, tiada nmap, tiada nikto, tiada nuclei.
  • Tiada percubaan suntikan SQL/XSS/CSRF.
  • Tiada brute force pada borang log masuk.
  • Tiada percubaan terhadap subdomain dalaman.

What WAS tested

  • Single browser-like HTTPS fetch of https://www.maiwp.gov.my.
  • Public DNS queries: A, AAAA, MX, NS, TXT, CAA, SOA, _dmarc, and common DKIM selectors.
  • Public sources: Certificate Transparency logs, Wayback Machine, urlscan.io.
  • TLS certificate presented by the server.

What was NOT tested

  • No port scanning, no nmap, no nikto, no nuclei.
  • No SQL/XSS/CSRF injection attempts.
  • No brute force on login forms.
  • No attempts against internal subdomains.

Pemeriksaan Dijalankan / Checks Run


#Pemeriksaan / CheckStatusPenemuan / Findings
1 HTTP security headers
Header keselamatan HTTP
ok 3
2 TLS certificate & chain
Sijil TLS & rantaian
ok 0
3 DNS records
Rekod DNS
ok 0
4 Email authentication (SPF/DKIM/DMARC)
Pengesahan e-mel (SPF/DKIM/DMARC)
ok 4
5 Subdomain exposure (CT logs)
Pendedahan subdomain (log CT)
ok 1
6 Technology fingerprint
Cap jari teknologi
ok 0
7 Historical exposure (Wayback)
Pendedahan sejarah (Wayback)
skipped 0
8 urlscan.io public history
Sejarah awam urlscan.io
ok 0

Glosari / Glossary


SPF (Sender Policy Framework)
Senarai pelayan yang dibenarkan menghantar e-mel atas nama domain anda. List of servers authorised to send mail for your domain.
DKIM (DomainKeys Identified Mail)
Tandatangan kriptografi pada setiap e-mel keluar. Cryptographic signature on outgoing mail.
DMARC
Polisi yang memberitahu penerima apa nak buat bila SPF/DKIM gagal. Policy telling receivers what to do when SPF/DKIM fail.
HSTS (Strict-Transport-Security)
Header yang memaksa pelayar guna HTTPS sahaja untuk domain ini. Header forcing the browser to use HTTPS only for this domain.
CSP (Content-Security-Policy)
Senarai sumber yang dibenarkan untuk skrip/gaya/imej. List of allowed sources for scripts/styles/images.
CT (Certificate Transparency)
Log awam setiap sijil TLS yang pernah dikeluarkan untuk domain. Public log of every TLS cert ever issued for the domain.