Paket 1 · Fondasi DevOpsModul E — Server Administration

Firewall dan Basic Server Security

Mengatur firewall dengan UFW dan nftables, memahami Proxmox firewall, serta menerapkan pertahanan dasar untuk server.

Firewall mengatur trafik mana yang boleh masuk dan keluar. Bersama update rutin dan autentikasi yang kuat, firewall adalah lapisan pertahanan pertama server.

Prinsip dasar firewall

  • Default deny untuk trafik masuk, kecuali port yang memang dibutuhkan.
  • Least privilege — buka port sesedikit mungkin.
  • Stateful — izinkan balasan dari koneksi yang sudah established.
  • Log — catat trafik yang ditolak untuk diagnosa.

UFW (Uncomplicated Firewall)

UFW adalah frontend ramah untuk iptables/nftables, umum di Ubuntu/Debian.

apt install -y ufw
ufw status
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw status verbose

Jangan kunci SSH

Aktifkan aturan SSH sebelum ufw enable. Jika tidak, koneksi remote Anda bisa terputus.

Aturan berdasarkan sumber

ufw allow from 10.10.10.0/24 to any port 3306 proto tcp
ufw allow from 192.168.1.0/24 to any port 22 proto tcp
ufw deny 3306/tcp

Menghapus aturan

ufw status numbered
ufw delete 3
ufw delete allow 80/tcp

Log

ufw logging on
journalctl -k | grep UFW
tail -f /var/log/ufw.log

nftables

nftables adalah penerus iptables dan tersedia di distro modern.

nft list ruleset
nft add table inet filter
nft add chain inet filter input '{ type filter hook input priority 0; policy drop; }'
nft add rule inet filter input ct state established,related accept
nft add rule inet filter input iif lo accept
nft add rule inet filter input tcp dport { 22, 80, 443 } accept

Aturan di atas belum persisten setelah reboot. Simpan dengan:

nft list ruleset > /etc/nftables.conf
systemctl enable --now nftables

Pilih satu tool utama

UFW, nftables, dan iptables dapat saling memengaruhi. Gunakan satu pendekatan utama agar aturan mudah dilacak. Di Proxmox, pertimbangkan firewall bawaan Proxmox.

Proxmox firewall

Proxmox menyediakan firewall di beberapa level:

LevelLokasi
DatacenterDatacenter → Firewall
NodeNode → Firewall
VM/LXCGuest → Firewall

Langkah umum:

  1. Aktifkan firewall di level Datacenter.
  2. Buat aturan default yang aman.
  3. Aktifkan firewall pada node.
  4. Tambahkan aturan spesifik untuk VM/LXC.

Contoh aturan guest: izinkan SSH hanya dari jaringan admin.

pve-firewall compile
pve-firewall status

Fail2ban

Fail2ban memblokir IP yang gagal login berulang kali.

apt install -y fail2ban
systemctl enable --now fail2ban

Konfigurasi lokal /etc/fail2ban/jail.local:

[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5

[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = systemd
systemctl restart fail2ban
fail2ban-client status
fail2ban-client status sshd

Pertahanan dasar lainnya

PraktikAlasan
Update rutinMenutup kerentanan yang diketahui
SSH key-onlyMengurangi brute force
Disable root loginMemaksa audit lewat user biasa + sudo
Hapus service tak terpakaiMengurangi attack surface
Monitor logMendeteksi percobaan akses
Backup terujiPemulihan setelah insiden
Password managerKredensial kuat dan unik

Praktik: firewall minimal untuk server web

# 1. Pasang dan reset aturan
apt install -y ufw
ufw --force reset

# 2. Kebijakan default
ufw default deny incoming
ufw default allow outgoing

# 3. Izinkan layanan
ufw allow 22/tcp comment 'SSH'
ufw allow 80/tcp comment 'HTTP'
ufw allow 443/tcp comment 'HTTPS'

# 4. Aktifkan
ufw --force enable
ufw status verbose

# 5. Uji
curl -I http://localhost
ss -tulpn

Setelah aktif, uji akses dari mesin lain. Jika ada layanan yang tidak bisa diakses, periksa apakah port-nya memang perlu dibuka.

Ringkasan

  • Firewall memfilter trafik berdasarkan aturan; default deny adalah baseline aman.
  • UFW ramah untuk pemula, nftables lebih fleksibel.
  • Proxmox punya firewall terintegrasi di level datacenter, node, dan guest.
  • Fail2ban, update, dan SSH key-only melengkapi pertahanan dasar.

Selanjutnya

On this page