Cara Mengamankan Server Dari Hacker

Table of contents

No heading

No headings in the article.

Untuk menikmati kebebasan konfigurasi maksimum, solusi terbaik adalah meng-host server Anda sendiri. Alternatif bagus lainnya adalah menggunakan Server Root Khusus, yang dapat disewa oleh banyak host dan memberikan akses ke akun root.

Langkah-langkah administratif dasar seperti instalasi, penataan, dan pemeliharaan server tetap berada dalam lingkup tanggung jawab penyewa, seperti halnya dengan varian yang di-host-sendiri. Jenis paket server ini biasanya hanya menangani instalasi awal sistem operasi, jika diperlukan.

Terlepas dari solusi hosting yang dipilih, Anda harus berhati-hati dan bertanggung jawab saat merancang dan menggunakan akun root.

Tips Mengamankan Server Milik Sendiri

Secara khusus, masalah keamanan memainkan peran penting di sini: Di ​​satu sisi, prosedur yang salah di area root sangat sulit, di sisi lain, dasar konkret untuk server yang stabil, berkinerja tinggi, dan aman dapat dibuat jika prosedurnya benar.

Misalnya, untuk mengamankan server khusus dan melindunginya dari akses eksternal, perubahan kata sandi wajib hanyalah salah satu dari banyak tindakan yang diperlukan untuk meningkatkan keamanan server.

Instalasi minimal dan kata sandi yang aman

Bahkan sebelum mulai dengan tindakan pencegahan yang sebenarnya dan mengkonfigurasi server dengan aman, Anda dapat memengaruhi potensi keamanan proyek web Anda di masa mendatang.

Terlepas dari apakah memilih Windows atau Sistem Linux, prinsip berikut berlaku untuk penginstalan: Server hanya boleh berisi perangkat lunak yang diperlukan untuk menjalankan tugasnya. Alasannya adalah bahwa aplikasi apa pun yang diinstal berpotensi menimbulkan risiko keamanan dan dapat berdampak negatif pada kinerja.

Untuk menawarkan penyerang sesedikit mungkin, Anda hanya perlu menginstal atau mengaktifkan komponen sistem yang diperlukan, dan hanya mengakses yang diverifikasi perangkat lunak pihak ketiga.

Setelah instalasi, Anda harus terlebih dahulu menetapkan kata sandi root (sistem Linux). Sebagai standar, tidak ada nilai yang ditentukan dan akun administrator juga diblokir hingga Anda membuat entri yang sesuai.

Setelah instalasi, sistem operasi biasanya secara otomatis meminta untuk buat akun pengguna, termasuk kata sandi, yang merupakan titik akses root.

Jika Anda menyewa server dari penyedia dan menerima log-in root yang ada, Anda harus ubah kata sandi. Untuk melakukan ini, Anda harus masuk ke server Anda melalui SSH (dari sistem Linux) atau Putty (dari sistem Windows) dan masukkan perintah berikut di terminal yang tepat untuk login root untuk mengubah kata sandi:

passwd
Kemudian dapat menentukan kata sandi, yang kemudian memerlukan verifikasi. Pastikan untuk memilih kata sandi terpanjang, bukan hanya huruf tetapi juga karakter khusus serta angka.

Selain itu, disarankan untuk menggunakan pengelola kata sandi untuk menyimpan kata sandi, sehingga dapat mengaksesnya kapan saja. Kemudian, coba sambungkan ke log-in root baru. Jika dilakukan dengan benar, Anda dapat memutuskan sambungan koneksi SSH dibuat di awal.

Mode Recovery

Menurut jellydroid, Jika sistem sudah memiliki kata sandi root yang tidak Anda ketahui, Anda dapat mengubahnya dalam mode pemulihan. Mode Recovery dapat diakses dengan menahan tombol Shift selama proses boot. Pilih 'root' dari Menu Item, maka secara otomatis beroperasi sebagai administrator dan membuat perubahan kata sandi yang diinginkan.

Ubah port SSH

Untuk akses server melalui SSH, port 22 disediakan secara default. Itu secara otomatis dimasukkan ketika Anda menginstal ulang sistem. Hacker yang mencari celah dalam sistem terutama akan menjalankan upaya serangan mereka (kebanyakan upaya masuk otomatis) di port ini.

Dengan hanya memilih port yang berbeda untuk dienkripsi koneksi jarak jauh, Anda meminimalkan risiko akses yang tidak diinginkan.

Untuk melakukan ini, yang harus dilakukan adalah membuka file konfigurasi SSH sshd_config dengan editor teks pilihan Anda. Contoh kode berikut memanggil file dengan editor standar Linux nano:

nano /etc/ssh/sshd_config
Cari baris yang sesuai dan ganti nomor port 22 dengan nomor pilihan. Namun, perlu diingat bahwa ada beberapa port default lain untuk layanan lain (misalnya, port 80 untuk HTTP) yang sebaiknya tidak digunakan jika memungkinkan. Pertama, lihat daftar port standar yang dikelola oleh IANA (Internet Assigned Numbers Authority) dan dapat dilihat di situs resminya. Atau, Anda dapat melihat daftar di file /etc/ services.

Catatan

Sebelum perubahan di sshd_config menjadi aktif, layanan SSH perlu di-restart. Di Debian, ini dilakukan dengan perintah restart /etc/init.d/ssh. Untuk pengguna Ubuntu, restart layanan dengan menggunakan 'service ssh restart.'

Nonaktifkan login SSH untuk pengguna Root

Untuk mengamankan server, disarankan juga untuk menonaktifkan login SSH langsung untuk akun root. Jika tidak, penyerang yang memiliki kata sandi dapat menggunakan akun jarak jauh untuk mengakses server dari jarak jauh, dan memblokir masuk langsung SSH untuk akun root.

Sebelum Anda dapat melakukan tindakan ini, Anda harus memiliki setidaknya satu akun pengguna tambahan yang dapat terhubung ke server, selain pengguna root, dan yang tidak sepenuhnya dikecualikan dari sistem.

Jika belum membuat profil pengguna yang sesuai, gunakan perintah berikut untuk membuatnya:

useradd -g users -d /home/nutzer1 -m -s /bin/bash user1
Dengan ini, Anda dapat membuat akun pengguna user1, yang juga ditambahkan ke grup pengguna (-g). Selain itu, direktori home/home/pengguna1 ditugaskan ke profil pengguna ini (-d).

Perintah menentukan bash shell sebagai shell default (-s /bin/bash). Terakhir, tentukan kata sandi aman untuk akun masuk baru ini:

passwd user1
Sekarang, uji apakah login berfungsi dengan akun pengguna yang dibuat dan hanya lanjutkan dengan proyek yang sebenarnya (mengunci diri Anda dari akun root) jika berhasil.

Untuk ini, Anda memerlukan konfigurasi SSH sshd_config, yang dapat dibuka dengan editor pilihan Anda. Cari entri 'PermitRootLogin yes' dan ganti dengan 'PermitRootLogin no'. Setelah memulai ulang layanan SSH melalui baris perintah:

/etc/init.d/ssh restart (alternativ: service ssh restart)
Remote Access dari akun root tidak lagi memungkinkan. Anda cukup masuk dengan profil pengguna yang telah dibuat, dan ubah ke akun root kapan saja (setelah masuk), jika Anda membutuhkannya lagi.

su
Anda juga dapat menggunakan IzinkanGrup baris dalam file konfigurasi untuk menentukan pengguna mana yang diizinkan untuk terhubung ke server melalui SSH. Untuk melakukan ini, cukup buat kelompok (grup tambahan) dan tambahkan pengguna yang diinginkan (Tambahkan pengguna).

Kemudian tambahkan yang dipilih nama grup ke sshd_config (misalnya IzinkanGrupssh_user).

Catatan:

Alternatif yang mudah untuk memblokir login root adalah opsi untuk sepenuhnya melarang login pengguna dengan kata sandi dan sebagai gantinya menggunakan otentikasi kunci publik dengan SSH-Keys.

Pemberitahuan email untuk login SSH

Namun, jika SSH mengakses server, Anda harus mengawasi semua aktivitas jarak jauh. Ini memungkinkan untuk menentukan apakah Anda telah mengamankan layanan SSH di server dengan benar.

Selain itu, memantau aktivitas ini berarti Anda diperingatkan pada tahap awal oleh pemantauan yang baik dari koneksi yang dibuat dalam kasus akses yang tidak sah dan dapat mengambil tindakan pencegahan yang tepat.

Skrip shell sederhana sudah cukup untuk ini, yang secara otomatis mengirimkan email pemberitahuan ke alamat Anda pada setiap login jarak jauh yang berhasil di server Anda.

Skrip yang sesuai (di sini: /opt/shell-login.sh), yang dapat kita buat sendiri dengan mudah, harus berisi kode berikut untuk tujuan ini:

#!/bin/bash

echo "Log in to $(hostname) on $(date +%Y-%m-%d) at $(date +%H:%M)" echo "User: $USER" echo finger

Kemudian tambahkan baris berikut ke / etc / profile berkas profil:

/opt/shell-login.sh | mailx -s "SSH-Log-in to YOUR-HOSTNAME" mailadresse@example.com
Entri ini dapat memastikan bahwa skrip dijalankan dan, jika log-in berhasil, ia akan mengirimkan surat pemberitahuan ke alamat yang diinginkan. Prasyaratnya adalah skrip diberikan 755 yang benar, yang dapat dilakukan dengan perintah berikut:

chmod 755 /opt/shell-login.sh
Catatan

Jika pengguna membuat koneksi SSH menggunakan program seperti WinSCP yang tidak melakukan login lengkap, skrip shell yang dijelaskan di sini tidak mengirim email!

Menonaktifkan port yang tidak digunakan

Port terbuka umumnya bukan merupakan risiko keamanan yang serius. Karena mereka diperlukan untuk berkomunikasi dengan layanan dan aplikasi individu, itu penting bahwa port tertentu diaktifkan secara default, seperti port 80 dan 443 untuk koneksi HTTP atau HTTPS, atau port SSH pilihan Anda.

Jika sudah menerapkan instalasi sistem minimal dan mengakses sejumlah kecil aplikasi pihak ketiga, jumlah port lain yang diperlukan dapat dikelola. Risikonya adalah antarmuka terbuka ini hanya akan digunakan jika program yang merespons memiliki celah keamanan dan penjahat mengambil keuntungan dari fakta ini. Bahaya dari potensi serangan semacam ini semakin meningkat karena semakin banyaknya aplikasi yang digunakan.

Untuk itu, akan berguna untuk mengamankan server dari serangan semacam ini dengan memblokir semua port terbuka yang tidak digunakan.

Hampir semua sistem operasi umum telah menginstal alat yang sesuai secara default dengan perangkat lunak filter paket iptables. Anda dapat menggunakan alat ini untuk membuat aturan tetap untuk pengaturan lalu lintas, termasuk definisi port yang diinginkan atau tidak diinginkan. Pengantar kecil untuk program filter, termasuk instruksi untuk menyiapkan firewall dasar untuk sistem Anda, dapat ditemukan di Tutorial kami tentang topik ini.

Pembaruan perangkat lunak

Secara umum, tidak ada perangkat lunak yang sepenuhnya bebas dari kerentanan yang disebutkan di bagian sebelumnya. Namun, penjahat dunia maya pertama-tama harus menemukan kesalahan pemrograman yang dapat dieksploitasi sebelum mereka dapat melakukan serangan. Sebagai peraturan, kerentanan yang diketahui dengan cepat ditutup kembali oleh pembaruan yang diterbitkan.

Jika secara rutin memperbarui sistem operasi dan program yang diinstal, dan memperbarui sesegera mungkin, Anda memastikan perlindungan terbaik untuk server Anda. Hampir semua sistem server juga memungkinkan Anda download dan menginstal pembaruan keamanan penting secara otomatis di latar belakang.

Misalnya, Jika ingin mengamankan server Windows yang menerima pembaruan otomatis, Anda dapat mengatur instruksi khusus untuk proses pembaruan di: Windows Update daerah.

Dengan cara ini, Anda dapat mengonfigurasi kapan dan seberapa sering untuk memeriksa pembaruan, apakah Anda mau pembaruan yang akan diinstal, dan kapan sistem harus reboot.

Ada skrip khusus seperti apt-listchanges atau apticron untuk sistem Linux, yang memberi tahu Anda setiap hari tentang paket perangkat lunak baru yang tersedia dan memungkinkan untuk downloadnya. Skrip lain, seperti pemutakhiran tanpa pengawasan, kemudian akan download penginstalan otomatis.

Catatan:

Pastikan Anda memiliki proses pembaruan yang diubah yang membuat selalu up-to-date dengan pembaruan. Ini memungkinkan untuk lebih memahami dan memperbaiki kesalahan yang terjadi sebagai akibat dari proses pembaruan.

Mengamankan server Windows dan Linux dari serangan brute force

Peretas, yang ingin mengakses server atau aplikasi yang berjalan di dalamnya, memiliki opsi berbeda untuk melakukan ini. Salah satu jenis serangan yang paling sederhana dan paling sering digunakan adalah yang disebut metode brute force.

Biasanya penyusup mencoba untuk akses kata sandi menggunakan alat yang mencoba masuk satu per satu. Namun, lebih perhatian yang Anda berikan untuk menetapkan kata sandi Anda, semakin kecil kemungkinan metode ini berhasil. Ingatlah bahwa, terutama jika Anda menawarkan layanan dengan opsi pendaftaran, Anda harus berasumsi bahwa tidak setiap pengguna akan berhati-hati dan berhati-hati seperti yang diperlukan.

Tentu saja, tidak perlu perangkat lunak yang rumit dan mahal untuk melindungi dari serangan semacam itu. Karena setiap upaya masuk didaftarkan, dijawab, dan dicatat dalam file log, sederhana alat analisis dapat membantu. Fail2ban (Linux-/POSIX-Systems) atau RdpGuard (Windows) memeriksa file log yang relevan, mendeteksi perilaku yang tidak biasa, dan memblokir alamat IP pengguna yang mencurigakan.

Catatan

Anda juga dapat melangkah lebih jauh dan mengatur autentikasi dua faktor untuk membuat koneksi ke server Anda untuk mengamankan login tambahan. Metode ini membutuhkan kepemilikan pribadi pengguna (misalnya smartphone, SmartCard, daftar TAN) sebagai komponen tambahan untuk proses masuk, serta input kata sandi.

Mengonfigurasi server dengan aman

Jika ingin mengamankan server, langkah-langkah yang tercantum sebelumnya terhadap kesulitan eksternal sangat penting. Namun, sama pentingnya untuk memastikan bahwa interaksi antara hardware dan software berjalan sesuai keinginan. Ini bukan pemeriksaan satu kali, diselesaikan setelah berhasil membuat lingkungan server Anda; ini adalah tugas jangka panjang yang tidak boleh dilupakan.

Dengan banyaknya proses yang berbeda, ini lebih mudah diucapkan daripada dilakukan, itulah sebabnya Anda harus memiliki akses ke alat bantu sejak awal. Ini membantu memantau semua operasi di server Anda dan memperingatkan setiap insiden.

Program mudah semacam ini yang cepat dikonfigurasi adalah Monit, yang dapat diinstal dengan mudah di banyak distribusi Linux melalui administrator paket. Aplikasi open source (lisensi GNU-AGPL) memonitor secara selektif proses, file, cloud, host, program, atau script setelah memulai. Itu sumber daya sistem – CPU, memori, dan pemanfaatan sistem absolut – juga dapat dipantau.

Dalam file konfigurasi Monit, Anda dapat memilih nilai atau peristiwa mana yang menghasilkan pemberitahuan melalui email. Jika Anda memerlukan informasi lebih lanjut, perangkat lunak pemantauan Nagios direkomendasikan.

Ini agak lebih kompleks, tetapi versi intinya adalah open source, dan dapat diperluas menggunakan beragam plugin. Sebuah mesin virtual juga dapat memungkinkan untuk dijalankan pada platform Windows.

Kepercayaan itu baik, tetapi cadangan lebih baik

Dengan saran konfigurasi yang disarankan, keamanan server meningkat secara signifikan. Berbagai pengaturan untuk proses login dan pembatasan akun root memberikan server Anda standar keamanan yang sangat tinggi, bersama dengan pembaruan berkelanjutan, alat pemantauan, dan perangkat lunak keamanan wajib.

Namun, bahkan konfigurasi terbaik dan perawatan khusus tidak dapat memberikan perlindungan seratus persen untuk server. Kesalahan program, kegagalan perangkat keras, atau kelalaian pribadi dapat menyebabkan hilangnya data dalam kasus terburuk. Pilar pendukung lebih lanjut dari sistem keamanan Anda adalah strategi cadangan yang tepat yang memungkinkan untuk memulihkan file yang sesuai dalam kasus seperti itu.

Tidak ada sedikitpun tool canggih yang dapat mendukung Anda tidak hanya saat membuat, tetapi juga saat mengimpor salinan cadangan. Aplikasi gratis yang harus disebutkan di sini adalah program sinkronisasi rsync, yang mengambil namanya dari protokol yang sama dan tersedia dalam berbagai bentuk untuk hampir semua platform umum (macOS, Windows, Linux).

Alat ini membuat salinan data server Anda tetap mutakhir dengan mencatat semua perubahan ke aslinya secara real time. Selain cadangan umum server, program ini juga secara otomatis melindungi database.

Catatan:

Untuk perlindungan pencadangan yang paling aman, disarankan agar direktori pencadangan terletak di media penyimpanan eksternal (hard disk portabel, server lain, dll.) dan bukan di server yang ingin dibuat cadangannya.