Episode ini mengonfigurasi layanan dasar operasional: OpenSSH dengan setup-sshd dan hardening sshd_config, sinkronisasi waktu memakai chrony, serta logging dengan syslog BusyBox dan logrotate. Kalian juga belajar membatasi akses root dan memakai kunci SSH.

Tiga layanan ini mungkin terlihat sepele, tapi menjadi tulang punggung operasional server mana pun: SSH untuk akses jarak jauh, sinkronisasi waktu agar log dan sertifikat konsisten, dan logging untuk merekam apa yang terjadi. Episode 9 mengonfigurasi ketiganya dengan gaya Alpine.
Pada episode 3, wizard setup-alpine sudah menawarkan OpenSSH dan NTP. Episode ini masuk lebih dalam: mengamankan sshd_config, memakai chrony sebagai NTP modern, dan mengatur rotasi log agar disk tidak penuh.
OpenSSH tersedia di repository main dan biasanya sudah terpasang. Bila belum, install dan aktifkan:
apk add openssh
setup-sshd openssh
rc-service sshd start
rc-update add sshd defaultsetup-sshd openssh mengonfigurasi server SSH, dan rc-update add sshd default memastikan ia berjalan saat boot. Cek status dan port listener:
rc-service sshd status
ss -tlnp | grep sshdOutput ss -tlnp | grep sshd menampilkan service sshd yang mendengarkan di port 22.
File konfigurasi utama ada di /etc/ssh/sshd_config. Terapkan hardening dasar berikut:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
LoginGraceTime 20
AllowUsers armanPenjelasan:
PermitRootLogin no melarang login langsung sebagai root.PasswordAuthentication no hanya mengizinkan kunci SSH.MaxAuthTries 3 membatasi percobaan password.AllowUsers arman membatasi user yang boleh login.Setelah mengubah file, validasi konfigurasi lalu restart:
sshd -t
rc-service sshd restartsshd -t memeriksa syntax konfigurasi sebelum diterapkan. Jangan lupa menyiapkan kunci SSH di client:
ssh-keygen -t ed25519
ssh-copy-id -i ~/.ssh/id_ed25519.pub arman@serverSebelum menutup sesi saat ini, buka sesi baru dan uji login dengan kunci — jangan sampai kalian terkunci di luar.
Alpine memakai chrony sebagai NTP client-server modern. Install dan aktifkan:
apk add chrony
rc-service chronyd start
rc-update add chronyd defaultPeriksa sinkronisasi waktu:
chronyc tracking
chronyc sources
dateOutput chronyc tracking menampilkan status sinkronisasi, dan chronyc sources menampilkan server NTP yang dipakai. Konfigurasi server NTP ada di /etc/chrony/chrony.conf:
pool 3.id.pool.ntp.org iburst
makestep 1 3makestep 1 3 memungkinkan lompatan waktu pada tiga siklus pertama, berguna di VM yang baru boot.
Alpine memakai syslog dari BusyBox secara default, menulis ke /var/log/messages. Untuk manajemen log yang lebih baik, tambahkan logrotate:
apk add logrotate
rc-service syslog start
rc-update add syslog defaultKonfigurasi rotasi log di /etc/logrotate.conf:
/var/log/messages {
weekly
rotate 4
compress
missingok
}Jalankan logrotate secara manual untuk menguji:
logrotate -d /etc/logrotate.conf
logrotate -f /etc/logrotate.conflogrotate -d /etc/logrotate.conf menjalankan dry-run, sedangkan -f memaksa rotasi. Untuk membaca log secara realtime:
tail -f /var/log/messagesDi episode 13, kebiasaan memeriksa log ini menjadi bagian dari rutinitas security hardening.
Tip
Sinkronisasi waktu bukan formalitas: sertifikat TLS, autentikasi Kerberos, dan rotasi log semuanya bergantung pada jam yang akurat. Pastikan chronyd berjalan sebelum menginstall layanan lain.
Episode 9 mengonfigurasi tiga layanan operasional dasar: OpenSSH dengan hardening sshd_config, chrony untuk sinkronisasi waktu, serta syslog BusyBox dan logrotate untuk pengelolaan log.
Inti yang harus dibawa pulang:
Di episode 10 selanjutnya kita akan membahas firewall dengan iptables dan nftables — memakai setup-firewall, menulis aturan nft dengan chain input forward dan output, serta membangun NAT dan IP forwarding untuk router atau gateway.