Menjaga & Meningkatkan Pengamanan Server Linux Berbasis OS Debian di AWS Cloud (EC2)
Tags: aws, debian, linux, security
Published: 2023-07-24 07:38:16

Meningkatkan keamanan sistem server (server hardening) pada Linux Debian di AWS EC2 melibatkan langkah-langkah tambahan untuk mengamankan lingkungan cloud Anda di AWS. Berikut adalah beberapa langkah dan cara untuk melakukan server hardening pada Linux Debian di AWS EC2:

**1. Rutin melakukan Update dan Upgrade Sistem:**
Sebelum memulai proses hardening, pastikan sistem Anda sudah diperbarui dengan versi terbaru dari paket dan perangkat lunak.
```
sudo apt update
sudo apt upgrade
sudo apt autoclean
sudo apt autoremove
```

**2. Nonaktifkan Akun Root dan Batasi Akses SSH:**
Batasi akses SSH hanya untuk IP yang diperlukan agar hanya komputer atau jaringan tertentu yang dapat mengakses server. Anda dapat mengedit file konfigurasi SSH di: /etc/ssh/sshd_config:

`PermitRootLogin no
AllowUsers user1 user2`

Setelah mengubah konfigurasi SSH, restart service SSH:

```
sudo systemctl restart sshd
```

**3. Nonaktifkan Layanan (Service) yang Tidak Diperlukan:**
Setiap layanan yang berjalan di server merupakan potensi risiko. Nonaktifkan atau matikan layanan yang tidak diperlukan untuk mengurangi kemungkinan serangan. Tinjau daftar layanan yang berjalan dengan perintah `systemctl list-units --type=service` dan matikan layanan yang tidak dibutuhkan.

**4. Gunakan SSH Key Pair untuk Akses SSH:**
Alihkan dari otentikasi berbasis password /kata sandi menjadi otentikasi berbasis kunci SSH (SSH Key). Anda harus menggunakan key pair saat membuat instance EC2 di AWS. Simpan kunci pribadi (SSH Private Key) dengan aman di komputer lokal Anda dan berikan izin yang benar (chmod 400) pada private key tersebut.

**5. Konfigurasi AWS Security Groups:**
Pengaturan security groups di AWS memungkinkan Anda mengontrol lalu lintas jaringan yang masuk dan keluar dari instance EC2. Batasi akses ke port-port kritis seperti SSH, HTTP, dan HTTPS. Pastikan hanya port yang diperlukan untuk berkomunikasi dengan server yang dibuka dan batasi akses ke port yang tidak digunakan.

**6. Gunakan VPC dan Subnet yang Terisolasi:**
Gunakan Virtual Private Cloud (VPC) untuk mengisolasi instance EC2 Anda dari internet publik. Buat subnet pribadi untuk instance yang tidak perlu diakses dari luar.

**7. Gunakan IAM Role untuk Instance:**
Gunakan IAM (Identity and Access Management) Role untuk instance EC2 Anda. Dengan ini, Anda dapat memberikan izin dan akses hanya ke sumber daya yang diperlukan untuk instance, tanpa perlu menggunakan kredensial khusus di dalam instance.

**8. Encryption at Rest:**
Lindungi data Anda dengan menggunakan fitur enkripsi at rest yang disediakan oleh AWS, seperti Amazon EBS (Elastic Block Store) Encryption untuk volume EBS dan Amazon S3 (Simple Storage Service) Server-Side Encryption untuk data yang disimpan di S3.

**9. Gunakan Bastion Host:**
Pertimbangkan untuk menggunakan host bastion (jump host) sebagai titik masuk ke jaringan pribadi Anda. Bastion host berfungsi sebagai gerbang untuk mengakses instance pribadi, mengurangi risiko serangan langsung pada instance yang berjalan di VPC pribadi.

**10. Monitoring dan Logging:**
Konfigurasikan sistem monitoring dan logging menggunakan layanan seperti Amazon CloudWatch atau ELK (Elasticsearch, Logstash, dan Kibana). Pemantauan yang tepat dan log yang terperinci dapat membantu mendeteksi dan merespons ancaman dengan cepat.

**11. Gunakan AppArmor atau SELinux:**
AppArmor (pada Debian) atau SELinux (Security-Enhanced Linux) dapat membantu membatasi akses program ke sumber daya sistem yang tidak diperlukan, mengurangi dampak potensial dari eksploitasi.

**12. Aktifkan Multi-Factor Authentication (MFA):**
Aktifkan MFA untuk akun root dan akun pengguna penting lainnya. Ini menambahkan lapisan keamanan tambahan yang kuat.

**13. Terus Mengupdate Keamanan AWS:**
Pastikan Anda terus mengikuti pembaruan keamanan AWS dan mengoptimalkan konfigurasi keamanan Anda sesuai dengan rekomendasi terbaru. Anda bisa menggunakan layanan AWS Config dan AWS Guard Duty yang berfungsi sebagai Intrusion Detection System sebagai fitur tambahan.

**14. Backup Data secara Berkala:**
Lakukan backup data secara berkala dan simpan di tempat yang aman. Backup yang teratur dapat membantu Anda mengatasi potensi kehilangan data akibat serangan atau kejadian tak terduga lainnya.

**15. Terapkan System Keamanan Berlapis-lapis:**
Gunakan prinsip keamanan yang berlapis-lapis (defense-in-depth) dengan menerapkan kombinasi teknik keamanan dan mekanisme perlindungan. Dengan memanfaatkan fitur disisi AWS dan juga praktik terbaik (Best Practices) keamanan sistem yang bisa dilakukan dari Debian OS sendiri.

Penting untuk diingat bahwa server hardening adalah proses berkelanjutan. Pastikan Anda selalu mengikuti praktik keamanan terbaik dan terus memantau, memeriksa, dan memperbarui sistem Anda untuk menjaga keamanan server Linux Debian di AWS EC2 Anda.