<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Infrastruktur Security Hardening | Smart System Docs</title>
    <link>https://docs.smartsystem.id/panduan/debian13/index.html</link>
    <description>Hardening Server Debian 13 Dokumentasi ini menjelaskan langkah-langkah untuk mengeraskan (hardening) server Debian 13 untuk production environment dengan berbagai peran (web app, CMS, database, message broker, dan storage).&#xA;Prinsip Keamanan Utama Baseline Security Universal: Konfigurasi dasar untuk semua server (user setup, SSH, CrowdSec, firewall). Network Segmentation: Pemisahan jaringan menjadi TRUSTED, GREY (admin-controlled), dan UNTRUSTED. Defense in Depth: Perlindungan berlapis menggunakan CrowdSec, firewall bouncer, UFW, dan hardening per-layanan. Struktur Dokumentasi Baseline Keamanan - Pengaturan dasar untuk semua server. Cloudflare Virtual Mesh Enrollment - Setup encrypted mesh network antar-server. Cloudflare Tunnel Setup - Konfigurasi reverse proxy tunnel terenkripsi. Role: Web App Server - Konfigurasi Caddy dan backend runtime (Node.js, Python, Go). Role: Web CMS Server - Konfigurasi khusus untuk WordPress dan PHP-FPM. Role: Database Server - Hardening untuk MySQL, PostgreSQL, MongoDB, dan Valkey. Role: Message Broker - Pengaturan RabbitMQ dan SSL/TLS. Role: Storage Server - Konfigurasi RustFS dan SFTPGo. Catatan Operasional - Pemeliharaan, pemantauan, dan troubleshooting. Lampiran &amp; Cheat Sheet - Referensi port, path file, dan contoh konfigurasi lengkap. Status: Production Ready&#xA;Terakhir Diperbarui: April 2026</description>
    <generator>Hugo</generator>
    <language>id-id</language>
    <atom:link href="https://docs.smartsystem.id/panduan/debian13/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>01. Baseline Keamanan</title>
      <link>https://docs.smartsystem.id/panduan/debian13/01_baseline/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.smartsystem.id/panduan/debian13/01_baseline/index.html</guid>
      <description>01. Baseline Keamanan (Berlaku Semua Server) Semua server Debian 13 harus mengikuti baseline security ini sebelum deployment service-specific. Diasumsikan Anda melakukan instalasi server fresh dengan akses root.&#xA;Ujung Gunakan Script Otomatis!&#xA;Kami telah menyediakan script setup_baseline.sh yang akan mengotomatisasi seluruh proses di halaman ini secara interaktif dan aman (termasuk setup password admin, mitigasi konflik SSH config, dan pengaturan UFW yang aman dari pemutusan koneksi). Anda sangat disarankan untuk menjalankan skrip tersebut daripada melakukan setup manual:&#xA;./setup_baseline.sh</description>
    </item>
    <item>
      <title>02. Cloudflare Virtual Mesh</title>
      <link>https://docs.smartsystem.id/panduan/debian13/02_cloudflare_virtual_mesh/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.smartsystem.id/panduan/debian13/02_cloudflare_virtual_mesh/index.html</guid>
      <description>02. Cloudflare Virtual Mesh Enrollment Cloudflare Virtual Mesh mengenkripsi semua traffic antar-server dalam infrastructure secara otomatis menggunakan Cloudflare One Client (WARP). Setiap server dalam mesh mendapatkan IP privat virtual dari range Carrier-Grade NAT (CGNAT) &lt;CLOUDFLARE_MESH_SUBNET&gt; yang diassign oleh Cloudflare, memungkinkan komunikasi encrypted end-to-end tanpa direct public IP exposure melalui Zero Trust tunnel.&#xA;2.1 Prasyarat Akses ke dashboard Cloudflare One (https://one.dash.cloudflare.com) Sudah melakukan baseline security setup (bagian 01) Token enrollment dari dashboard Cloudflare Tentang CGNAT IP Space (&lt;CLOUDFLARE_MESH_SUBNET&gt;) Range IP &lt;CLOUDFLARE_MESH_SUBNET&gt; adalah Carrier-Grade NAT (CGNAT) address space yang diperuntukkan khusus oleh Cloudflare untuk virtual IP addresses. IP addresses ini:</description>
    </item>
    <item>
      <title>03. Cloudflare Tunnel</title>
      <link>https://docs.smartsystem.id/panduan/debian13/03_cloudflare_tunnel/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.smartsystem.id/panduan/debian13/03_cloudflare_tunnel/index.html</guid>
      <description>03. Cloudflare Tunnel Setup Cloudflare Tunnel (cloudflared) memungkinkan server menjalankan aplikasi di balik firewall tanpa membuka port publik. Traffic diteruskan melalui tunnel terenkripsi yang diinisiasi oleh server (outbound connection).&#xA;3.1 Prasyarat Akses ke dashboard Cloudflare One (https://one.dash.cloudflare.com) Domain yang sudah dikonfigure di Cloudflare Token tunnel dari dashboard Sudah melakukan baseline security setup (bagian 01) 3.2 Instalasi Cloudflared Step 1: Setup Repository dan Install Paket # Create directory untuk keyrings sudo mkdir -p --mode=0755 /usr/share/keyrings # Add Cloudflare GPG key curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg &gt;/dev/null # Add this repo to apt echo &#39;deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared any main&#39; | sudo tee /etc/apt/sources.list.d/cloudflared.list # Install cloudflared sudo apt-get update &amp;&amp; sudo apt-get install -y cloudflared 3.3 Enroll Service Tunnel Step 1: Dapatkan Token dari Dashboard Login ke https://one.dash.cloudflare.com Navigasi ke Access → Tunnels (atau Network → Tunnels) Klik Create a tunnel atau Add tunnel Pilih Cloudflared sebagai connector type Cloudflare akan menampilkan token unik untuk server Anda Step 2: Install Tunnel Service Jalankan command service install dengan token dari dashboard:</description>
    </item>
    <item>
      <title>04. Role: Web App Server</title>
      <link>https://docs.smartsystem.id/panduan/debian13/04_role_web_app/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.smartsystem.id/panduan/debian13/04_role_web_app/index.html</guid>
      <description>04. Role: Web App Server (Caddy + Backend) Server ini menjalankan aplikasi web (Node.js, Python, Go) yang diisolasi dengan Caddy sebagai reverse proxy dan TLS terminator.&#xA;2.1 Arsitektur Semua aplikasi backend mendengarkan pada 127.0.0.1 (localhost) untuk meminimalkan permukaan serangan. Caddy menangani komunikasi eksternal.</description>
    </item>
    <item>
      <title>05. Role: Web CMS Server</title>
      <link>https://docs.smartsystem.id/panduan/debian13/05_role_web_cms/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.smartsystem.id/panduan/debian13/05_role_web_cms/index.html</guid>
      <description>05. Role: Web CMS Server (WordPress + PHP-FPM) Server ini dikhususkan untuk menjalankan WordPress dengan PHP-FPM dan Caddy.&#xA;3.1 Instalasi Paket Instal PHP-FPM dan ekstensi yang diperlukan oleh WordPress.&#xA;sudo apt update sudo apt install -y php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-imagick 3.2 Konfigurasi Caddy untuk WordPress cms.&lt;YOUR_DOMAIN&gt; { root * /var/www/wordpress encode gzip php_fastcgi 127.0.0.1:9000 file_server # Block access ke file sensitif @blocked { path /wp-config.php path /wp-includes/* path /.env } handle @blocked { respond 404 } } 3.3 Hardening WordPress (wp-config.php) // Nonaktifkan pengeditan file dari dashboard define(&#39;DISALLOW_FILE_EDIT&#39;, true); define(&#39;DISALLOW_FILE_MODS&#39;, true); // Gunakan salt yang unik (generate dari api.wordpress.org) define(&#39;AUTH_KEY&#39;, &#39;...&#39;); // ... dst 3.4 Konfigurasi PHP-FPM File: /etc/php/&lt;VERSION&gt;/fpm/pool.d/www.conf</description>
    </item>
    <item>
      <title>06. Role: Database Server</title>
      <link>https://docs.smartsystem.id/panduan/debian13/06_role_database/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.smartsystem.id/panduan/debian13/06_role_database/index.html</guid>
      <description>06. Role: Database Server Server basis data menjalankan MySQL, PostgreSQL, MongoDB, dan Valkey (Redis alternative). Akses dibatasi pada jaringan yang telah ditentukan (LAN, Virtual Mesh, Campus Wide).&#xA;4.1 Instalasi Paket Instal database engine sesuai kebutuhan proyek.&#xA;4.1.1 MariaDB / MySQL sudo apt update &amp;&amp; sudo apt install -y mariadb-server 4.1.2 PostgreSQL sudo apt update &amp;&amp; sudo apt install -y postgresql 4.1.3 MongoDB (v8.2) Memerlukan repository resmi MongoDB.</description>
    </item>
    <item>
      <title>07. Role: Message Broker</title>
      <link>https://docs.smartsystem.id/panduan/debian13/07_role_message_broker/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.smartsystem.id/panduan/debian13/07_role_message_broker/index.html</guid>
      <description>07. Role: Message Broker (RabbitMQ) RabbitMQ bertindak sebagai broker pesan utama menggunakan protokol AMQP, MQTT, dan WebSocket.&#xA;5.1 Instalasi Paket (Apt Quick Start) Gunakan repository resmi Team RabbitMQ untuk mendapatkan versi terbaru dan runtime Erlang yang didukung.&#xA;5.1.1 Persiapan &amp; Import GPG Key ## Import Team RabbitMQ&#39;s signing key curl -1sLf &#34;https://keys.openpgp.org/vks/v1/by-fingerprint/&lt;RABBITMQ_GPG_FINGERPRINT&gt;&#34; | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg &gt; /dev/null 5.1.2 Tambahkan Repository (Debian 13 Trixie) sudo tee /etc/apt/sources.list.d/rabbitmq.list &lt;&lt;EOF ## Modern Erlang/OTP releases deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb1.rabbitmq.com/rabbitmq-erlang/debian/bookworm bookworm main deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb2.rabbitmq.com/rabbitmq-erlang/debian/bookworm bookworm main ## Latest RabbitMQ releases deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb1.rabbitmq.com/rabbitmq-server/debian/trixie trixie main deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb2.rabbitmq.com/rabbitmq-server/debian/trixie trixie main EOF Catatan: Erlang menggunakan repo bookworm karena merupakan basis runtime stabil yang didukung untuk Trixie.</description>
    </item>
    <item>
      <title>08. Role: Storage Server</title>
      <link>https://docs.smartsystem.id/panduan/debian13/08_role_storage/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.smartsystem.id/panduan/debian13/08_role_storage/index.html</guid>
      <description>08. Role: Storage Server (RustFS + SFTPGo) Server ini menyediakan layanan penyimpanan objek (S3-compatible via RustFS) dan gateway akses (SFTP/FTP/HTTP via SFTPGo) dengan Caddy sebagai reverse proxy dan TLS terminator.&#xA;6.1 Instalasi Paket 6.1.1 Caddy (Reverse Proxy) Gunakan repository resmi untuk mendapatkan versi terbaru.</description>
    </item>
    <item>
      <title>09. Operational &amp; Maintenance</title>
      <link>https://docs.smartsystem.id/panduan/debian13/09_operational_notes/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.smartsystem.id/panduan/debian13/09_operational_notes/index.html</guid>
      <description>09. Catatan Operasional &amp; Pemeliharaan Bagian ini mencakup prosedur rutin dan tips troubleshooting untuk menjaga keamanan server.&#xA;7.1 Konsistensi Baseline Semua server WAJIB mengikuti konfigurasi baseline di 01. Baseline Keamanan. Jangan pernah menonaktifkan UFW atau CrowdSec dalam jangka panjang.&#xA;7.2 Kepemilikan &amp; Izin File Gunakan prinsip least privilege:</description>
    </item>
    <item>
      <title>10. Lampiran &amp; Cheat Sheet</title>
      <link>https://docs.smartsystem.id/panduan/debian13/10_appendix/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.smartsystem.id/panduan/debian13/10_appendix/index.html</guid>
      <description>10. Lampiran &amp; Cheat Sheet Referensi cepat untuk port, path file, dan contoh konfigurasi lengkap.&#xA;8.1 Tabel Referensi Port Service Port Akses Dari Peran SSH 22 TRUSTED + GREY Admin HTTP 80 Public Web HTTPS 443 Public Web MySQL 3306 TRUSTED only Database PostgreSQL 5432 TRUSTED only Database MongoDB 27017 TRUSTED only Database Valkey 6379 Public (IoT) Database AMQP/S 5671, 5672 Public (IoT) Message Broker MQTT/S 1883, 8883 Public (IoT) Message Broker STOMP/S 61613, 61614 Public (IoT) Message Broker RabbitMQ 15672 TRUSTED + GREY Mgmt UI SFTP 2222 TRUSTED only Storage 8.2 Path File Konfigurasi Penting SSH Hardening: /etc/ssh/sshd_config.d/hardening.conf UFW Rules: /etc/ufw/user.rules Caddyfile: /etc/caddy/Caddyfile PHP-FPM: /etc/php/&lt;VERSION&gt;/fpm/pool.d/www.conf CrowdSec Bouncer: /etc/crowdsec/bouncers/crowdsec-firewall-bouncer.yaml 8.3 Skrip Setup Cepat UFW Simpan sebagai setup-ufw.sh dan jalankan sebagai root:</description>
    </item>
  </channel>
</rss>