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 minimalis dan diperkuat. Ini bukan pengawasan atau setup yang tidak lengkap. Ini adalah filosofi desain yang disengaja 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 administrator sistem, insinyur DevOps, atau pengembang yang mengelola beban kerja produksi.
Panduan ini membedah fitur dan layanan paling umum yang dinonaktifkan atau tidak ada secara default pada server Linux, menjelaskan rasional keamanan dan operasional di balik setiap keputusan, dan menunjukkan kepada Anda dengan tepat cara memverifikasi setiap pengaturan di sistem Anda sendiri.
Mengapa "Disabled by Default" Adalah Strategi Keamanan, Bukan Keterbatasan
Prinsip yang bekerja di sini sering disebut "secure by default, extensible by choice." Daripada mengirimkan sistem yang fully featured 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 misconfiguration — salah satu penyebab utama pelanggaran server. Setiap service yang tidak berjalan adalah service yang tidak dapat dieksploitasi. Setiap protocol yang tidak diaktifkan adalah protocol yang tidak dapat disadap. Setiap open port yang tidak ada adalah entry point yang tidak dapat diselidiki oleh penyerang.
Dengan konteks itu sudah 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 dinonaktifkan secara universal dalam build server Linux kontemporer — dan untuk alasan yang sangat bagus. Mengizinkan akses root jarak jauh menciptakan satu titik kegagalan yang bencana: satu password yang dikompromikan memberikan penyerang kontrol lengkap dan tidak terbatas atas seluruh sistem.
Alur kerja yang benar adalah login sebagai pengguna non-privileged dan eskalasi privilege menggunakan sudo atau su hanya jika diperlukan. Ini menciptakan jejak audit, membatasi radius ledakan pencurian kredensial, dan memaksa tindakan yang disengaja sebelum menjalankan perintah privileged.
Cara memverifikasi:
grep PermitRootLogin /etc/ssh/sshd_configOutput yang diharapkan pada server yang dikeraskan dengan baik:
PermitRootLogin noJika Anda melihat PermitRootLogin yes atau PermitRootLogin prohibit-password, tinjau konfigurasi SSH Anda segera dan selaraskan dengan kebijakan keamanan organisasi Anda.
Best practice:
Buat pengguna administratif khusus, tambahkan ke grup sudo, dan pastikan PermitRootLogin no diatur sebelum menerapkan layanan apa pun 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 saat provisioning. 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 dictionary attacks. Kunci SSH — khususnya 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_configOutput yang diharapkan:
PasswordAuthentication noCara menonaktifkan autentikasi kata sandi:
Edit /etc/ssh/sshd_config dan atur:
PasswordAuthentication no
PubkeyAuthentication yesKemudian 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 terkunci dari server.
3. Protokol Jaringan Warisan dan Teks Jelas
Status: Tidak ada dalam build server modern
Layanan seperti Telnet, FTP, Rlogin, dan Rsh tidak diinstal pada image server Linux modern. Protokol ini dirancang di era sebelum enkripsi menjadi prioritas. Mereka mengirimkan kredensial, perintah, dan data dalam plaintext — membuatnya sangat mudah untuk disadap dengan packet sniffer di segmen jaringan apa pun antara klien dan server.
Protokol ini telah digantikan oleh alternatif yang aman:
| Protokol Warisan | Pengganti Aman |
|---|---|
| Telnet (port 23) | SSH (port 22) |
| FTP (port 21) | SFTP atau FTPS |
| Rlogin / Rsh | SSH |
Cara memverifikasi tidak ada layanan warisan yang berjalan:
ss -tulnpJika port 21 (FTP) atau 23 (Telnet) tidak muncul dalam output, layanan tersebut tidak aktif. Jika muncul, investigasi segera dan hapus atau nonaktifkan kecuali ada persyaratan khusus yang terjustifikasi.
4. Graphical User Interfaces (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 CPU dalam jumlah signifikan yang seharusnya 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 merasa ingin antarmuka grafis pada server produksi, itu umumnya merupakan sinyal bahwa proses atau alur kerja perlu dipertimbangkan kembali.
> Catatan: Alat seperti VPS Control Panels — seperti cPanel, Plesk, atau DirectAdmin — menyediakan antarmuka manajemen grafis berbasis web tanpa memerlukan lingkungan desktop lengkap untuk diinstal di server.
5. Development Toolchains and Compilers
Status: Not installed in minimal server images
Compilers such as gcc and build utilities such as make, cmake, and autoconf are intentionally absent from most minimal Linux server images. The rationale is twofold:
- Reduced image size: Minimal images are faster to deploy, easier to back up, and consume fewer resources.
- Security hardening: If an attacker gains access to a server, the absence of a compiler prevents them from compiling malicious binaries or exploit code directly on the system. This is a meaningful obstacle in many attack chains.
How to verify:
gcc --versionIf the toolchain is not installed, you will see:
-bash: gcc: command not foundHow to install if required:
# Ubuntu/Debian
sudo apt update && sudo apt install build-essential
# RHEL/AlmaLinux/Rocky Linux
sudo dnf groupinstall "Development Tools"Install development tools only on servers where compilation is a genuine operational requirement — such as build servers or development environments — and avoid installing them on production application or database servers.
6. ICMP (Ping Responses)
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 security group, membuat server tampak tidak dapat dijangkau oleh ping meskipun 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_ipCara memblokir ICMP di tingkat OS menggunakan iptables (jika diperlukan):
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROPKeputusan 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; mungkin dibatasi di tingkat penyedia
IPv6 diaktifkan secara default di distribusi Linux modern termasuk Ubuntu, Debian, Fedora, dan turunan RHEL. Namun, banyak penyedia hosting menonaktifkan IPv6 di tingkat jaringan jika infrastruktur mereka tidak mendukungnya, yang berarti OS mungkin dikonfigurasi untuk IPv6 tetapi server tidak akan memiliki alamat IPv6 yang dapat dirutekan.
Cara memeriksa alamat IPv6:
ip a | grep inet6Jika hanya ::1 (alamat loopback) yang muncul, IPv6 tidak dikonfigurasi di tingkat jaringan meskipun diaktifkan di OS.
Jika beban kerja Anda tidak memerlukan IPv6 dan penyedia Anda tidak menawarkannya, Anda dapat menonaktifkannya di tingkat kernel dengan menambahkan yang berikut ke /etc/sysctl.conf:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1Kemudian terapkan perubahan:
sudo sysctl -p8. Layanan Sistem dan Daemon 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 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 hardware server
- NetworkManager — sering diganti oleh
systemd-networkdatau konfigurasinetplanmanual di server
Cara mengaudit layanan yang berjalan:
systemctl list-units --type=service --state=runningTinjau daftar ini secara berkala dan nonaktifkan layanan apa pun yang tidak melayani tujuan terdokumentasi di server tertentu.
Daftar Periksa Keamanan Praktis untuk Server Linux yang Baru Disediakan
Setelah menyediakan server baru — baik itu shared web hosting yang ditingkatkan ke VPS atau dedicated server yang benar-benar baru — jalankan daftar periksa ini untuk mengkonfirmasi postur keamanan dasar Anda:
| Periksa | Perintah | Hasil yang Diharapkan | |
|---|---|---|---|
| Login SSH root | grep PermitRootLogin /etc/ssh/sshd_config | no | |
| Autentikasi kata sandi | grep PasswordAuthentication /etc/ssh/sshd_config | no | |
| Port terbuka | ss -tulnp | Hanya port yang diharapkan terlihat | |
| GCC terinstal | gcc --version | command not found (kecuali jika diperlukan) | |
| Layanan yang berjalan | systemctl list-units --type=service --state=running | Hanya layanan yang diperlukan | |
| Status IPv6 | `ip a | grep inet6` | Sesuai 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 berbasis web yang terkelola dan menyederhanakan administrasi sambil mempertahankan model keamanan Linux yang mendasar. Server dedicated bare-metal memberikan Anda kontrol penuh atas setiap lapisan stack, dari firmware hingga aplikasi.
Untuk tim yang menjalankan aplikasi web yang diamankan SSL, memasangkan server Anda dengan sertifikat SSL yang dikonfigurasi dengan benar adalah pelengkap penting untuk pengerasan tingkat server — mengenkripsi data dalam transit sama seperti autentikasi kunci SSH melindungi akses ke server itu sendiri.
Kesimpulan
Server Linux yang baru disediakan dikonfigurasi dalam keadaan yang sengaja aman dan minimal. Login SSH root dinonaktifkan. Autentikasi kata sandi dibatasi atau dihilangkan. Protokol cleartext warisan tidak ada. Tidak ada lingkungan grafis yang diinstal. Compiler dan build tools dikecualikan dari image dasar.
Sebaliknya, layanan seperti respons ICMP dan IPv6 tetap diaktifkan di tingkat OS secara default, tetapi sering dibatasi di tingkat jaringan atau firewall tergantung pada infrastruktur penyedia dan postur keamanan.
Filosofi "aman secara default, dapat diperluas sesuai pilihan" ini memastikan bahwa administrator mempertahankan kontrol penuh atas lingkungan mereka. Server hanya mengekspos apa yang secara eksplisit diperlukan untuk peran yang dimaksudkan — tidak lebih. Setiap layanan yang Anda aktifkan, setiap port yang Anda buka, dan setiap paket yang Anda instal adalah keputusan yang disengaja dengan justifikasi yang terdokumentasi.
Disiplin itu adalah fondasi keamanan operasional. Ini bukan keterbatasan server Linux. Ini adalah alasan yang tepat mengapa mereka menjadi platform pilihan untuk infrastruktur produksi di seluruh dunia.
untuk semua layanan hosting