Setelah instalasi server Debian / Ubuntu Anda berhasil, beberapa langkah konfigurasi penting untuk meningkatkan keamanan dan fungsionalitas server. Dalam panduan ini, kami akan membawa Anda melalui langkah-langkah dasar dalam pengaturan server awal server Debian 9 / Ubuntu 18.04. Langkah-langkah dasar ini akan memperkuat server Anda dan memungkinkan pelaksanaan operasi selanjutnya dengan lancar.
Masuk sebagai pengguna root
Langkah awal dalam menyiapkan server Anda adalah masuk sebagai pengguna root. Tetapi pertama-tama, Anda harus memiliki alamat IP server Anda dan Kata Sandi atau kunci pribadi untuk otentikasi. Untuk masuk, buka terminal Linux Anda dan jalankan perintah di bawah ini. Pastikan untuk mengganti alamat IP server dengan alamat IP Anda.
ssh user@ip-address
Dalam panduan ini, kami menggunakan server Ubuntu 18.04 dengan alamat IP Publik 38.76.11.180
.
Untuk login menggunakan ssh melalui terminal, perintahnya adalah
ssh [email protected]
Jika Anda masuk untuk pertama kali, Anda akan diminta untuk memverifikasi keaslian server.
Ketik 'Ya' dan tekan Enter. Anda kemudian akan dimintai kata sandi server. Berikan Kata Sandi yang benar dan tekan Enter.
Ini akan menjatuhkan Anda ke prompt shell server seperti yang ditunjukkan di bawah ini
Besar! Sekarang kita telah berhasil masuk ke server kita, mari kita beralih ke langkah kedua
Buat pengguna baru
Untuk praktik keamanan terbaik, penggunaan akun root untuk tugas administratif sangat tidak disarankan. Mengapa demikian? Menjalankan server Anda sebagai root membuat Anda cenderung membuat kesalahan yang tidak disengaja dan mahal yang dapat merusak server Anda. Anda dapat dengan mudah melakukan sesuatu yang berbahaya pada sistem Anda yang dapat menyebabkan kerusakan permanen pada sistem Anda.
Untuk alasan ini, kami akan membuat pengguna non-root baru dan kemudian memberikannya hak administratif. Dengan cara ini, setiap kali Anda mencoba menjalankan tugas tingkat root, Anda akan dimintai kata sandi. Ini akan memberi Anda waktu untuk berhenti sejenak dan memikirkan konsekuensi dari menjalankan perintah dan berhenti di jalur Anda jika Anda melihat kesalahan yang merugikan dalam eksekusi perintah.
Untuk membuat pengguna baru, jalankan
adduser user_name
Kami akan menambahkan pengguna baru 'james'
adduser james
Anda akan dimintai kata sandi pengguna dan beberapa pertanyaan tambahan. berikan informasi yang diperlukan
Sempurna! untuk memverifikasi pembuatan tampilan pengguna /etc/passwd
dan konfirmasikan keberadaan pengguna.
cat /etc/passwd
Contoh Keluaran
Baris terakhir di atas menampilkan informasi pengguna yang baru dibuat.
Berikan hak Administratif kepada pengguna Baru
Sejauh ini pengguna baru memiliki hak akun reguler. Kita perlu mengatur hak akses root untuk pengguna yang baru kita buat sehingga mereka dapat melakukan tugas administratif dengan menambahkan sudo
sebelum operasi apa pun.
Untuk mencapai ini, kita perlu menambahkan pengguna ke sudo group untuk menghindari log out dan log in sebagai root setiap kali melakukan tugas administratif.
Sintaks untuk mencapai ini adalah
usermod -aG sudo user_name
Dalam hal ini, perintah untuk memberikan hak istimewa sudo kepada pengguna 'james' adalah
usermod -aG sudo james
Anda sekarang dapat keluar dan masuk dengan pengguna baru menggunakan perintah seperti yang ditunjukkan sebelumnya
ssh [email protected]
Setelah berhasil login dengan memverifikasi keaslian server dan memberikan kata sandi yang benar, sekarang Anda dapat menjalankan tugas superuser apa pun dengan mendahului perintah dengan sudo
Misalnya, untuk memperbarui sistem menggunakan akun, jalankan perintah di bawah ini
sudo apt update
Anda akan dimintai kata sandi dan setelah memberikannya, operasi akan dimulai.
Konfigurasikan Firewall dasar
Server Debian dan Ubuntu menggunakan firewall UFW untuk mengizinkan atau menolak lalu lintas masuk atau keluar dari server.
Untuk melihat koneksi yang ada di firewall, jalankan
sudo ufw app list
Seperti yang diharapkan, OpenSSH akan ditampilkan karena saat ini kita menggunakan ssh untuk terhubung ke server
Keluaran
Untuk mengizinkan koneksi melalui firewall, jalankan perintah berikut.
ufw allow service_name
Misalnya, untuk mengizinkan koneksi SSH untuk menjalankan server baru:
sudo ufw allow OpenSSH
Keluaran
Untuk membuka port tertentu pada firewall, gunakan sintaks
sudo ufw allow port/protocol
Misalnya
sudo ufw allow 80/tcp
Keluaran
Untuk memeriksa status firewall, jalankan
sudo ufw status
Keluaran
Untuk mengaktifkan firewall, jalankan perintah berikut.
sudo ufw enable
Saat diminta ketik yes
dan tekan 'ENTER' untuk mengaktifkan firewall dan melakukan perubahan
Untuk melihat kembali status firewall dan koneksi/port terbuka yang ada, jalankan perintah
Aktifkan otentikasi tanpa kata sandi untuk pengguna baru
Saat ini, kami terhubung ke server kami menggunakan protokol SSH dengan otentikasi kata sandi. Untuk praktik keamanan terbaik, pengaturan kunci SSH tanpa otentikasi kata sandi sangat disarankan. Kunci SSH datang berpasangan:kunci publik dan kunci pribadi.
Kunci pribadi berada di mesin klien sementara kunci publik berada di server yang kita hubungkan. Setelah otentikasi kunci SSH diatur, otentikasi kata sandi harus dinonaktifkan. Ini memastikan bahwa hanya pengguna dengan kunci pribadi yang dapat terhubung ke server tempat kunci publik berada.
Langkah 1. Buat kunci publik
Untuk menghasilkan pasangan kunci, jalankan perintah di bawah ini pada mesin klien
ssh-keygen
Anda akan mendapatkan output seperti yang ditunjukkan
Tekan ENTER untuk menyimpan pasangan kuncinya adalah .ssh/
subdirektori di direktori home Anda. Atau, Anda dapat menentukan jalur Anda sendiri.
Selanjutnya, Anda akan dimintai kata sandi aman yang sangat disarankan untuk menambahkan lapisan pelindung ekstra. Jika Anda ingin melakukannya tanpa frasa sandi, tekan ENTER.
Akhirnya, Anda akan mendapatkan output berikut
Pada titik ini, Anda memiliki kunci privat dan publik. Mereka telah disimpan di .ssh
direktori di direktori home Anda. Dalam hal ini, jalurnya adalah /root.ssh
cat /root/.ssh
Keluaran
id_rsa
adalah kunci pribadi
id_rsa_pub
adalah kunci publik
Langkah 2. Salin Kunci Publik
Untuk menyalin kunci publik ke server, kita akan menggunakan ssh-copy-id
perintah.
Sintaksnya adalah
ssh-copy-id user@remote-server
Dalam hal ini, kami akan mengeksekusi
ssh-copy-id [email protected]
Anda akan mendapatkan output seperti di bawah ini
id_rsa.pub
kunci yang merupakan kunci publik telah disalin ke server.
Sekarang jika Anda mencoba masuk menggunakan sintaks ssh user@server-ip
, Anda tidak akan dimintai kata sandi!
Nonaktifkan otentikasi Kata Sandi
Seseorang masih dapat masuk ke server kami jika mereka mendapatkan kata sandinya. Untuk menghilangkan risiko ini, kita perlu menonaktifkan otentikasi kata sandi SSH.
Untuk mencapai ini, kita akan membuka file konfigurasi SSH
sudo vim /etc/ssh/sshd_config
Cari bagian yang ditunjukkan sebagai PasswordAuthentication
.
Beri komentar pada baris dan atur nilainya menjadi tidak
Simpan dan Keluar.
Untuk menerapkan perubahan, mulai ulang daemon SSH
sudo systemctl restart ssh
Sekarang Anda dapat meluncurkan terminal baru dan mencoba masuk menggunakan kata sandi dan melihat apakah Otentikasi kata sandi telah dinonaktifkan.
Kata terakhir
Pada titik ini, Anda seharusnya memiliki akses ke server menggunakan otentikasi berbasis kunci SSH yang dikonfigurasi di server jauh Anda dan tidak menggunakan kata sandi SSH.
Server Anda sekarang telah sepenuhnya disiapkan dan memiliki dasar keamanan yang kokoh. Pastikan untuk menjaga kunci publik Anda tetap aman. Jauh dari mata-mata