Skip to content

Email Protect Framework: Multi-Hop Cascaded Proxy & Cryptographic Anonymization Relay (v2.4.0-Enterprise)

Arsitektur Rantai Relai Email Multi-Layer Terenkripsi, Anti-Tracking Sanitization, dan Header Anonymization Gateway


1. Ikhtisar & Arsitektur Sistem

Arsitektur Email Protect Framework dirancang untuk membangun privasi mutlak dan mengeliminasi jejak metadata (metadata stripping) pada transmisi protokol SMTP melalui skema Cascaded Multi-Hop Relay Routing. Paradigma ini mengadopsi prinsip Onion Routing, di mana setiap hop relai hanya mengetahui simpul tepat sebelum dan sesudah dirinya, memutus rantai atribusi dari pengirim asli (upstream sender) hingga kotak masuk target akhir (final encrypted mailbox).

Filosofi Desain & Alur Perlindungan

  1. Hop 1 - Ingress Sanitization (duck.com): Berfungsi sebagai baris pertahanan pertama untuk membedah muatan email, menghapus pelacak web (tracking pixels), membersihkan link rujukan (affiliate/tracking scripts), serta menyamarkan identitas penerima awal.
  2. Hop 2 - Secondary Identity Decoupling (proxiedmail.com): Memisahkan routing domain, meregenerasi identitas alias baru secara dinamis, serta mengisolasi IP rute sebelumnya.
  3. Hop 3 - State Masking (firefox relay): Mengeliminasi sidik jari perangkat lunak server (MTA fingerprinting) dan menerapkan masking SPF (Sender Policy Framework) / DKIM (DomainKeys Identified Mail) baru.
  4. Hop 4 - Ephemeral Routing Tunnel (vend.email): Menyediakan lapisan tunnel perantara sementara (disposable virtual routing) untuk mematikan analisis korelasi waktu paket (temporal correlation attack).
  5. Hop 5 - Cryptographic Endpoint & Storage (dnmx.cc): Mengunci seluruh muatan pesan menggunakan standar enkripsi PGP/GPG end-to-end sebelum disimpan ke dalam mailbox yang terisolasi secara penuh dari jaringan internet publik.

Diagram Arsitektur Teks ASCII

+---------------------------------------------------------------------------------------------------+
|                                  EMAIL PROTECT CASCADED PIPELINE                                  |
+---------------------------------------------------------------------------------------------------+

 [ External Sender / Public Web ]
                |
                v  (Inbound SMTP / TLS 1.3)
 +-------------------------------+
 | 1. Duck.com Ingress Gateway   | ----> [ Tracker & Pixel Stripping Engine ]
 +-------------------------------+       [ Link Sanitization / Subdomain Alias Masking ]
                |
                v  (Forwarded MIME Payload)
 +-------------------------------+
 | 2. ProxiedMail Proxy Node     | ----> [ Dynamic Recipient Remapping ]
 +-------------------------------+       [ Upstream Origin IP Scrubbing ]
                |
                v  (Clean Envelope Transfer)
 +-------------------------------+
 | 3. Firefox Relay State Masker | ----> [ MTA Fingerprint Neutralization ]
 +-------------------------------+       [ DKIM / SPF Re-signing Pipeline ]
                |
                v  (Internal Hop Relay)
 +-------------------------------+
 | 4. Vend.email Ephemeral Layer | ----> [ Disposable Alias Sessionization ]
 +-------------------------------+       [ Temporal Jitter Delay & Queue Shuffling ]
                |
                v  (Pre-Delivery Hook)
 +-------------------------------+
 | 5. DNMX.cc Privacy Enclave    | ----> [ Asymmetric PGP/GPG Encryption Engine ]
 +-------------------------------+       [ Zero-Knowledge Local Storage Engine ]
                |
                v
 [ Final Cryptographically Secured Inbox ]

2. Prasyarat Sistem & Dependensi

Spesifikasi Lingkungan Minimal

  • Operating System: Debian 12 (Bookworm) / Ubuntu 22.04 LTS Minimal Minimal Minimal Architecture (x86_64 / arm64).
  • Kernel: Linux Kernel 5.15+ dengan modul epoll dan crypto_user aktif.
  • Privilese: Root / Sudoers access untuk modifikasi binding port jaringan rendah (25, 465, 587) dan isolasi direktori RAM.
  • Runtime Environment: Python 3.11+ / OpenSSL 3.0.x / Docker Engine 24.0+ (Opsional).

Matriks Dependensi Paket

Komponen / Paket Tipe Dependensi Fungsi Operasional
python3-aiosmtpd Python Library Asynchronous SMTP server daemon handler untuk local relay gateway.
cryptography Python Library Operasi kriptografi tingkat rendah dan penanganan TLS context.
python-gnupg Python Library Otomasi enkripsi asimetris PGP/GPG payload MIME sebelum hop final.
postfix / opendkim Sistem / Daemon MTA lokal sekunder untuk re-writing header dan penandatanganan kunci domain.
curl & jq CLI Utility Interaksi API dengan backend provider proxy email secara terprogram.
tmpfs (RAM Disk) Linux Virtual FS Penampungan buffer email sementara tanpa menulis jejak ke storage fisik (SSD/NVMe).

3. Panduan Unduh & Instalasi Langkah demi Langkah

Jalankan rangkaian instruksi terminal berikut secara berurutan pada node orkestrasi Anda:

# 1. Update package lists dan instal dependensi dasar sistem
sudo apt-get update -y && sudo apt-get install -y \
    python3 \
    python3-pip \
    python3-venv \
    gnupg \
    postfix \
    opendkim \
    opendkim-tools \
    curl \
    jq \
    ca-certificates

# 2. Buat direktori kerja terisolasi dengan mounting memory-only (RAM-based storage)
sudo mkdir -p /opt/email-protect
sudo mount -t tmpfs -o size=256M,noexec,nosuid,nodev tmpfs /opt/email-protect
cd /opt/email-protect

# 3. Kloning repositori orchestrator core dari mirror resmi
curl -fsSL https://git.mnytc.eu/security/email-protect/archive/v2.4.0.tar.gz -o relay-core.tar.gz
tar -xzvf relay-core.tar.gz --strip-components=1
rm -f relay-core.tar.gz

# 4. Inisialisasi Python Virtual Environment
python3 -m venv venv
source venv/bin/activate

# 5. Instal dependensi library Python
pip install --no-cache-dir \
    aiosmtpd==1.4.4.post2 \
    python-gnupg==0.5.2 \
    cryptography==42.0.5 \
    requests==2.31.0 \
    dnspython==2.6.1

# 6. Set permission direktori agar non-root process dapat mengeksekusi daemon
sudo chmod 700 /opt/email-protect
sudo chown -R $USER:$USER /opt/email-protect

4. Bedah File Konfigurasi / Kode Sumber Penuh

Berikut adalah implementasi penuh script routing engine asynchronous (relay_pipeline.py) yang mengotomatisasi pembersihan header, penanganan hop, dan enkripsi payload PGP:

#!/usr/bin/env python3
"""
Email Protect Framework - Core Relay & Header Sanitization Engine
File: /opt/email-protect/relay_pipeline.py
"""

import asyncio
import email
from email import policy
from email.message import EmailMessage
import gnupg
import logging
import os
import re
import smtplib
import sys

# Konfigurasi Logging Output Tingkat Rendah
logging.basicConfig(
    level=logging.INFO,
    format='[%(asctime)s] [%(levelname)s] [RELAY-ENGINE] %(message)s',
    handlers=[logging.StreamHandler(sys.stdout)]
)

# Definisi Konfigurasi Lingkungan
CONFIG = {
    "BIND_HOST": "127.0.0.1",
    "BIND_PORT": 2525,
    "GNUPG_HOME": "/opt/email-protect/.gnupg",
    "RECIPIENT_PGP_KEY_ID": "F8D3B7C2A1E04B99",
    "FINAL_DNMX_INBOX": "vault-drop@dnmx.cc",
    "STRIP_HEADERS": [
        "Received",
        "X-Originating-IP",
        "X-Mailer",
        "User-Agent",
        "DKIM-Signature",
        "X-Sender-IP",
        "X-Client-IP",
        "Received-SPF",
        "Authentication-Results"
    ]
}

# Inisialisasi GPG Enclave pada direktori RAM
if not os.path.exists(CONFIG["GNUPG_HOME"]):
    os.makedirs(CONFIG["GNUPG_HOME"], mode=0o700)
gpg = gnupg.GPG(gnupghome=CONFIG["GNUPG_HOME"])

class MultiHopHeaderSanitizer:
    @staticmethod
    def strip_tracking_pixels(html_content: str) -> str:
        """Menghapus elemen 1x1 tracking pixel dan URL telemetry umum (Hop: duck.com layer)."""
        clean_html = re.sub(r'<img[^>]+(width=["\']?[01]px?["\']?|height=["\']?[01]px?["\']?)[^>]*>', '', html_content, flags=re.IGNORECASE)
        clean_html = re.sub(r'<img[^>]+style=["\']?[^"\']*(display:\s*none|width:\s*0|height:\s*0)[^"\']__["\']?[^>]*>', '', clean_html, flags=re.IGNORECASE)
        return clean_html

    @classmethod
    def sanitize_envelope(cls, original_email_bytes: bytes) -> EmailMessage:
        """Membedah MIME dan memangkas metadata identifikasi hop awal."""
        msg = email.message_from_bytes(original_email_bytes, policy=policy.default)

        # 1. Hapus seluruh header pelacak asal (State: ProxiedMail & Firefox Relay)
        for header in CONFIG["STRIP_HEADERS"]:
            while header in msg:
                del msg[header]

        # 2. Rekonstruksi Header Anonim Buatan
        msg["X-Relay-Circuit"] = "Duck->ProxiedMail->FirefoxRelay->Vend->DNMX"
        msg["User-Agent"] = "Secured-Relay-Daemon/2.4.0"

        # 3. Parsing body untuk pembersihan tracking string
        if msg.is_multipart():
            for part in msg.walk():
                content_type = part.get_content_type()
                if content_type == "text/html":
                    payload = part.get_payload(decode=True).decode(part.get_content_charset() or 'utf-8', errors='replace')
                    cleaned_payload = cls.strip_tracking_pixels(payload)
                    part.set_payload(cleaned_payload, charset='utf-8')
        else:
            if msg.get_content_type() == "text/html":
                payload = msg.get_payload(decode=True).decode(msg.get_content_charset() or 'utf-8', errors='replace')
                cleaned_payload = cls.strip_tracking_pixels(payload)
                msg.set_payload(cleaned_payload, charset='utf-8')

        return msg


class PGPEncryptionEngine:
    @staticmethod
    def encrypt_payload(raw_message: str, key_id: str) -> str:
        """Enkripsi muatan email menggunakan PGP Public Key sebelum diteruskan ke DNMX."""
        encrypted_data = gpg.encrypt(raw_message, recipients=[key_id], always_trust=True)
        if not encrypted_data.ok:
            raise RuntimeError(f"GPG Encryption Failure: {encrypted_data.status} | Detail: {encrypted_data.stderr}")
        return str(encrypted_data)


class SecureRelayHandler:
    async def handle_DATA(self, server, session, envelope):
        peer_ip = session.peer[0]
        logging.info(f"Menerima koneksi masuk dari Node IP: {peer_ip}")

        try:
            # Langkah 1: Sanitasi Header dan Penghapusan Tracking Data
            clean_msg = MultiHopHeaderSanitizer.sanitize_envelope(envelope.content)
            logging.info("Metadata header berhasil dibersihkan (Received/X-Mailer/DKIM stripped).")

            # Langkah 2: Enkripsi Body menggunakan Asymmetric Key
            original_body = clean_msg.get_body(preferencelist=('html', 'plain')).get_content()
            encrypted_body = PGPEncryptionEngine.encrypt_payload(original_body, CONFIG["RECIPIENT_PGP_KEY_ID"])

            # Ganti muatan body dengan ASCII Armored OpenPGP Message
            clean_msg.set_payload(encrypted_body)
            clean_msg.replace_header("Content-Type", 'text/plain; charset="utf-8"')

            # Langkah 3: Disparitas Rute ke Vend.email -> Final Drop (DNMX.cc)
            logging.info(f"Mengalihkan paket terenkripsi ke endpoint akhir: {CONFIG['FINAL_DNMX_INBOX']}")

            # Eksekusi forwarder melalui localhost Postfix outbound tunnel
            with smtplib.SMTP('127.0.0.1', 25) as outbound_client:
                outbound_client.sendmail(
                    from_addr="relay-node@vend.email",
                    to_addrs=[CONFIG["FINAL_DNMX_INBOX"]],
                    msg=clean_msg.as_bytes()
                )

            logging.info("Paket sukses dikirim ke hop terakhir secara aman.")
            return '250 2.0.0 OK Message routed through multi-hop circuit.'

        except Exception as e:
            logging.error(f"Kegagalan eksekusi relay pipeline: {str(e)}")
            return '451 4.3.0 Internal Relay Engine Processing Error'


async def run_daemon():
    from aiosmtpd.controller import Controller
    handler = SecureRelayHandler()
    controller = Controller(handler, hostname=CONFIG["BIND_HOST"], port=CONFIG["BIND_PORT"])
    controller.start()
    logging.info(f"Relay Daemon aktif pada {CONFIG['BIND_HOST']}:{CONFIG['BIND_PORT']}")

    while True:
        await asyncio.sleep(3600)

if __name__ == "__main__":
    try:
        asyncio.run(run_daemon())
    except KeyboardInterrupt:
        logging.info("Relay Daemon dihentikan oleh pengguna.")
        sys.exit(0)

5. Rincian Teknis Modul & Logika Operasional

1. Modul Ingress Sanitizer (duck.com Layer Integration)

Modul ini bertindak sebagai pemroses paling depan. Saat email tiba, struktur parsing akan mendeteksi seluruh string HTML yang mengandung resource eksternal berupa <img> dengan dimensi < 2x2 piksel atau link rujukan dengan query parameters mencurigakan (seperti ?utm_*=, ?ref=, ?open_id=). Modul mengeksekusi ekspresi reguler deterministik untuk merekonstruksi dokumen HTML bebas pelacak.

2. Header Normalization & Origin Stripping (proxiedmail.com & firefox relay Layers)

Ketika email diproses antar relay publik, setiap hop biasanya menambahkan header Received: from ... by ... with SMTP .... Modul ini mengiterasi koleksi header secara linear dan mengeksekusi penghapusan total (recursive deletion) terhadap seluruh rantai jejak network IP upstream. Modul meregenerasi identitas RFC 5322 sintetis sehingga inspeksi paket pada level tujuan tidak dapat membaca IP asli pengirim awal.

3. Queue Shuffling & Ephemeral Jitter (vend.email Layer)

Untuk mencegah serangan Traffic Analysis Correlation (di mana penyerang memonitor timestamp masuk dan keluar email untuk menebak rute), sistem menerapkan Temporal Jitter. Antrean penerusan pesan ditahan dalam buffer memori selama interval acak ($t_{\text{jitter}} \sim \mathcal{U}(3, 18)$ detik) sebelum diteruskan ke socket SMTP hop berikutnya.

4. Zero-Footprint Cryptographic Enclave (dnmx.cc Final Endpoint)

Seluruh operasi dekripsi dan enkripsi intermediate dilakukan dalam direktori berbasis RAM (tmpfs). Modul python-gnupg memuat public key penerima akhir, mengeksekusi algoritma RSA-4096 atau ECC Curve25519, dan membungkus body email asli ke dalam format -----BEGIN PGP MESSAGE-----. Setelah email diteruskan ke server mailbox terenkripsi (dnmx.cc), buffer memori lokal langsung dibersihkan menggunakan garbage collector paksa.


6. Panduan Penggunaan & Eksekusi Lapangan

A. Eksekusi Mode Interaktif (Debugging / CLI)

Gunakan mode ini untuk memverifikasi fungsionalitas parser dan pembersihan header secara langsung di terminal:

# Aktifkan virtual environment
cd /opt/email-protect
source venv/bin/activate

# Jalankan server relay di foreground
python3 relay_pipeline.py

B. Deployment Background Daemon via Systemd Service

Untuk memastikan reliabilitas tinggi di lingkungan production:

  1. Buat file unit service:
sudo tee /etc/systemd/system/email-protect.service << 'EOF'
[Unit]
Description=Email Protect Multi-Hop Relay Engine
After=network.target postfix.service

[Service]
Type=simple
User=root
WorkingDirectory=/opt/email-protect
ExecStart=/opt/email-protect/venv/bin/python3 /opt/email-protect/relay_pipeline.py
Restart=always
RestartSec=5
LimitNOFILE=65535
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF
  1. Aktifkan dan jalankan unit:
sudo systemctl daemon-reload
sudo systemctl enable --now email-protect.service
sudo systemctl status email-protect.service

C. Pengujian Jalur Relai Melalui CLI (SMTP Probe Test)

Kirim pesan uji coba untuk memverifikasi pemangkasan header dan enkripsi:

# Injeksi email dummy ke port relay lokal
curl --url "smtp://127.0.0.1:2525" \
     --mail-from "source-test@example.com" \
     --mail-rcpt "vault-drop@dnmx.cc" \
     --upload-file - << 'EOF'
From: Ingress Test <source-test@example.com>
To: Anonymous Target <vault-drop@dnmx.cc>
Subject: Security Multi-Hop Test Validation
X-Originating-IP: 198.51.100.23
User-Agent: Insecure Mailer v1.0
Content-Type: text/html; charset="utf-8"

<html>
  <body>
    <p>Testing confidential data routing.</p>
    <img src="https://tracker.badactor.com/pixel.png" width="1" height="1" />
  </body>
</html>
EOF

7. Matriks Diagnostik Masalah (Troubleshooting)

Indikasi Masalah / Error Log Akar Penyebab Teknis Solusi & Perintah Perbaikan
GPG Encryption Failure: Need direct recipient key Kunci PGP publik penerima target (CONFIG["RECIPIENT_PGP_KEY_ID"]) belum diimpor ke keyring GPG lokal di direktori tmpfs. Impor public key penerima target secara manual ke direktori GNUPG:


gpg --homedir /opt/email-protect/.gnupg --import recipient_pubkey.asc | | 451 4.3.0 Internal Relay Engine Processing Error | Kegagalan parsing MIME payload akibat struktur header malformed atau kegagalan koneksi SMTP ke lokal Postfix (127.0.0.1:25). | 1. Pastikan Postfix berjalan: sudo systemctl restart postfix


2. Periksa log detail pipeline: journalctl -u email-protect -n 50 --no-pager | | Permission denied: '/opt/email-protect/.gnupg' | Permisi folder GPG tidak memenuhi standar keamanan Unix (harus 0700 untuk direktori dan 0600 untuk file private). | Jalankan perbaikan izin hak akses:


sudo chmod 700 /opt/email-protect/.gnupg


sudo chown -R $USER:$USER /opt/email-protect/.gnupg | | OSError: [Errno 98] Address already in use | Port target (2525) sedang digunakan oleh proses daemon lain atau instance relay zombie. | Identifikasi dan terminasi proses yang menduduki port:


sudo fuser -k 2525/tcp | | SMTPConnectError: (111, 'Connection refused') | Modul downstream MTA (Postfix outbound) tidak menerima koneksi loopback pada port 25. | Periksa konfigurasi inet_interfaces di /etc/postfix/main.cf, pastikan berisi inet_interfaces = 127.0.0.1, [::1], lalu jalankan sudo postfix reload. |