15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai
18.08.2025

Apa yang Dinonaktifkan Secara Default pada Kebanyakan Server Linux (Dan Mengapa Hal Ini Penting)

Ketika Anda menyediakan server Linux baru — baik itu VPS, dedicated server, atau mesin virtual yang dihosting di cloud — sistem boot ke dalam lingkungan yang sengaja diminimalkan dan dikeras. Ini bukan kebetulan atau setup yang tidak lengkap. Ini adalah filosofi desain yang disengaja yang tertanam dalam setiap distribusi Linux utama.

Build server Linux modern menghilangkan layanan, protokol, dan antarmuka yang tidak perlu untuk meminimalkan permukaan serangan, menghemat sumber daya sistem, dan memberikan administrator kontrol presisi atas apa yang berjalan di infrastruktur mereka. Memahami apa yang dinonaktifkan secara default — dan mengapa — adalah pengetahuan dasar bagi setiap administrator sistem, insinyur DevOps, atau pengembang yang mengelola beban kerja produksi.

Panduan ini menganalisis fitur dan layanan paling umum yang dinonaktifkan atau tidak ada secara default pada server Linux, menjelaskan alasan keamanan dan operasional di balik setiap keputusan, dan menunjukkan kepada Anda dengan tepat cara memverifikasi setiap pengaturan di sistem Anda sendiri.

Mengapa “Dinonaktifkan Secara Default” Adalah Strategi Keamanan, Bukan Keterbatasan

Prinsip yang bekerja di sini sering disebut “aman secara default, dapat diperluas sesuai pilihan.” Daripada mengirimkan sistem yang sepenuhnya berfitur dan mempercayai administrator untuk menguncinya, distribusi Linux modern mengirimkan sistem yang terkunci dan mempercayai administrator untuk hanya mengaktifkan apa yang mereka butuhkan.

Pendekatan ini secara langsung mengurangi risiko kesalahan konfigurasi — salah satu penyebab utama pelanggaran server. Setiap layanan yang tidak berjalan adalah layanan yang tidak dapat dieksploitasi. Setiap protokol yang tidak diaktifkan adalah protokol yang tidak dapat disadap. Setiap port terbuka yang tidak ada adalah titik masuk yang tidak dapat diselidiki penyerang.

Dengan konteks itu ditetapkan, mari kita periksa setiap pembatasan default secara detail.

1. Root SSH Login

Status: Dinonaktifkan secara default pada hampir semua distribusi server Linux modern

Login root langsung melalui SSH secara universal dinonaktifkan dalam build server Linux kontemporer — dan untuk alasan yang sangat bagus. Memungkinkan akses root jarak jauh menciptakan satu titik kegagalan yang bencana: satu kata sandi yang dikompromikan memberikan penyerang kontrol lengkap dan tanpa batas atas seluruh sistem.

Alur kerja yang benar adalah login sebagai pengguna non-istimewa dan meningkatkan hak istimewa menggunakan sudo atau su hanya jika diperlukan. Ini menciptakan jejak audit, membatasi radius ledakan pencurian kredensial, dan memaksa tindakan yang disengaja sebelum menjalankan perintah istimewa.

Cara memverifikasi:

grep PermitRootLogin /etc/ssh/sshd_config

Output yang diharapkan pada server yang dikeras dengan benar:

PermitRootLogin no

Jika Anda melihat PermitRootLogin yes atau PermitRootLogin prohibit-password, tinjau konfigurasi SSH Anda segera dan selaraskan dengan kebijakan keamanan organisasi Anda.

Praktik terbaik:

Buat pengguna administratif khusus, tambahkan ke grup sudo, dan pastikan PermitRootLogin no diatur sebelum menerapkan layanan yang menghadap publik.

2. Autentikasi Kata Sandi di SSH

Status: Dinonaktifkan secara default pada sebagian besar server yang disediakan cloud

Pada banyak platform cloud dan lingkungan hosting terkelola, autentikasi kata sandi SSH dinonaktifkan sepenuhnya pada waktu penyediaan. Pasangan kunci SSH adalah satu-satunya mekanisme autentikasi yang diterima.

Ini adalah peningkatan keamanan yang signifikan. Autentikasi kata sandi rentan terhadap serangan brute-force, credential stuffing, dan serangan kamus. Kunci SSH — terutama ketika dilindungi oleh passphrase — secara komputasi tidak mungkin untuk brute-force dengan teknologi saat ini.

Instalasi berbasis ISO tradisional mungkin masih mengizinkan login kata sandi secara default, tetapi praktik terbaik adalah menonaktifkannya segera setelah menyiapkan autentikasi berbasis kunci.

Cara memverifikasi:

grep PasswordAuthentication /etc/ssh/sshd_config

Output yang diharapkan:

PasswordAuthentication no

Cara menonaktifkan autentikasi kata sandi:

Edit /etc/ssh/sshd_config dan atur:

PasswordAuthentication no
PubkeyAuthentication yes

Kemudian muat ulang daemon SSH:

# Ubuntu/Debian
sudo systemctl reload ssh

# RHEL/AlmaLinux/Rocky Linux
sudo systemctl reload sshd

> Peringatan: Selalu konfirmasi bahwa kunci SSH Anda berfungsi sebelum menonaktifkan autentikasi kata sandi, atau Anda berisiko mengunci diri sendiri dari server.

3. Protokol Jaringan Warisan dan Teks Biasa

Status: Tidak ada dalam build server modern

Layanan seperti Telnet, FTP, Rlogin, dan Rsh tidak diinstal pada citra server Linux modern. Protokol ini dirancang di era sebelum enkripsi menjadi prioritas. Mereka mengirimkan kredensial, perintah, dan data dalam teks biasa — membuatnya sangat mudah untuk disadap dengan packet sniffer pada segmen jaringan apa pun antara klien dan server.

Protokol ini telah digantikan oleh alternatif yang aman:

Protokol WarisanPengganti Aman
Telnet (port 23)SSH (port 22)
FTP (port 21)SFTP atau FTPS
Rlogin / RshSSH

Cara memverifikasi tidak ada layanan warisan yang berjalan:

ss -tulnp

Jika port 21 (FTP) atau 23 (Telnet) tidak muncul dalam output, layanan tersebut tidak aktif. Jika muncul, selidiki segera dan hapus atau nonaktifkan kecuali ada persyaratan tertentu yang dibenarkan.

4. Antarmuka Pengguna Grafis (GUI)

Status: Tidak diinstal pada edisi server

Distribusi server — termasuk Ubuntu Server, Debian, AlmaLinux, Rocky Linux, dan CentOS Stream — tidak dilengkapi dengan lingkungan desktop grafis seperti GNOME, KDE Plasma, atau XFCE. Ini adalah pilihan yang disengaja dan beralasan dengan baik.

Lingkungan GUI:

  • Mengonsumsi RAM dan sumber daya CPU yang signifikan yang harus didedikasikan untuk beban kerja
  • Memperkenalkan sejumlah besar paket perangkat lunak tambahan, masing-masing mewakili potensi kerentanan
  • Sepenuhnya tidak perlu untuk administrasi server, yang dilakukan melalui baris perintah melalui SSH

Harapannya jelas: server dikelola melalui CLI. Jika Anda menemukan diri Anda menginginkan antarmuka grafis pada server produksi, itu umumnya merupakan sinyal bahwa proses atau alur kerja perlu dipertimbangkan kembali.

> Catatan: Alat seperti Panel Kontrol VPS — seperti cPanel, Plesk, atau DirectAdmin — menyediakan antarmuka manajemen grafis berbasis web tanpa memerlukan lingkungan desktop lengkap untuk diinstal di server.

5. Rantai Alat Pengembangan dan Kompiler

Status: Tidak diinstal dalam citra server minimal

Kompiler seperti gcc dan utilitas build seperti make, cmake, dan autoconf sengaja tidak ada dalam sebagian besar citra server Linux minimal. Alasannya dua kali lipat:

  1. Ukuran citra berkurang: Citra minimal lebih cepat untuk diterapkan, lebih mudah untuk dicadangkan, dan mengonsumsi lebih sedikit sumber daya.
  2. Pengerasan keamanan: Jika penyerang mendapatkan akses ke server, ketiadaan kompiler mencegah mereka mengompilasi biner berbahaya atau kode exploit langsung di sistem. Ini adalah hambatan yang bermakna dalam banyak rantai serangan.

Cara memverifikasi:

gcc --version

Jika rantai alat tidak diinstal, Anda akan melihat:

-bash: gcc: command not found

Cara menginstal jika diperlukan:

# Ubuntu/Debian
sudo apt update && sudo apt install build-essential

# RHEL/AlmaLinux/Rocky Linux
sudo dnf groupinstall "Development Tools"

Instal alat pengembangan hanya pada server di mana kompilasi adalah persyaratan operasional yang asli — seperti server build atau lingkungan pengembangan — dan hindari menginstalnya pada server aplikasi atau database produksi.

6. ICMP (Respons Ping)

Status: Diaktifkan secara default di tingkat OS; sering dibatasi di tingkat jaringan/firewall

Server Linux merespons permintaan echo ICMP (ping) secara default di tingkat sistem operasi. Namun, banyak penyedia hosting dan platform cloud memblokir ICMP di tingkat firewall jaringan atau grup keamanan, membuat server tampak tidak dapat dijangkau untuk ping bahkan ketika mereka sepenuhnya operasional.

Menekan respons ICMP membuat server kurang dapat ditemukan selama pemindaian pengintaian jaringan. Namun, ini juga memperumit pemantauan dan diagnostik yang sah — alat seperti ping dan traceroute bergantung pada ICMP untuk berfungsi dengan benar.

Cara menguji:

ping your_server_ip

Cara memblokir ICMP di tingkat OS menggunakan iptables (jika diperlukan):

sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

Keputusan untuk memblokir ICMP harus dibuat dengan sengaja, menimbang manfaat keamanan marginal terhadap biaya operasional untuk alur kerja pemantauan dan pemecahan masalah.

7. IPv6

Status: Diaktifkan secara default di sebagian besar distribusi; dapat dibatasi di tingkat penyedia

IPv6 diaktifkan secara default dalam distribusi Linux modern termasuk Ubuntu, Debian, Fedora, dan turunan RHEL. Namun, banyak penyedia hosting menonaktifkan IPv6 di tingkat jaringan jika infrastruktur mereka tidak mendukungnya, berarti OS mungkin dikonfigurasi untuk IPv6 tetapi server tidak akan memiliki alamat IPv6 yang dapat dirutekan.

Cara memeriksa alamat IPv6:

ip a | grep inet6

Jika hanya ::1 (alamat loopback) muncul, IPv6 tidak dikonfigurasi di tingkat jaringan bahkan jika diaktifkan di OS.

Jika beban kerja Anda tidak memerlukan IPv6 dan penyedia Anda tidak menawarkannya, Anda dapat menonaktifkannya di tingkat kernel dengan menambahkan berikut ke /etc/sysctl.conf:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Kemudian terapkan perubahan:

sudo sysctl -p

8. Layanan dan Daemon Sistem yang Tidak Perlu

Status: Bervariasi menurut distribusi; instalasi minimal menonaktifkan sebagian besar layanan non-esensial

Selain item yang tercantum di atas, instalasi server Linux minimal biasanya menonaktifkan atau menghilangkan berbagai layanan yang ada pada build desktop atau berfitur lengkap:

  • Bluetooth — tidak relevan di server; tidak diinstal
  • Avahi/mDNS — penemuan jaringan lokal; tidak perlu dan berpotensi menjadi masalah keamanan di server
  • Cups (pencetakan) — tidak ada kasus penggunaan di server
  • ModemManager — tidak relevan pada perangkat keras server
  • NetworkManager — sering diganti oleh systemd-networkd atau konfigurasi netplan manual di server

Cara mengaudit layanan yang berjalan:

systemctl list-units --type=service --state=running

Tinjau daftar ini secara berkala dan nonaktifkan layanan apa pun yang tidak melayani tujuan yang terdokumentasi di server tertentu itu.

Daftar Periksa Keamanan Praktis untuk Server Linux yang Baru Disediakan

Setelah menyediakan server baru — baik itu hosting web bersama yang ditingkatkan ke VPS atau dedicated server yang benar-benar baru — jalankan daftar periksa ini untuk mengonfirmasi postur keamanan dasar Anda:

PeriksaPerintahHasil yang Diharapkan
Root SSH logingrep PermitRootLogin /etc/ssh/sshd_configno
Autentikasi kata sandigrep PasswordAuthentication /etc/ssh/sshd_configno
Port terbukass -tulnpHanya port yang diharapkan terlihat
GCC diinstalgcc --versioncommand not found (kecuali diperlukan)
Layanan yang berjalansystemctl list-units --type=service --state=runningHanya layanan yang diperlukan
Status IPv6`ip agrep inet6`Seperti yang diharapkan untuk lingkungan Anda

Memilih Lingkungan Hosting yang Tepat untuk Persyaratan Keamanan Anda

Postur keamanan default server Anda juga dipengaruhi oleh lingkungan hosting yang Anda pilih. VPS dengan cPanel menyediakan antarmuka terkelola berbasis web yang menyederhanakan administrasi sambil mempertahankan model keamanan Linux yang mendasar. Dedicated server bare-metal memberikan Anda kontrol penuh atas setiap lapisan tumpukan, dari firmware hingga aplikasi.

Untuk tim yang menja

15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai