GNU/Linux >> Belajar Linux >  >> Linux

Pengaturan Server Ubuntu – Praktik Terbaik Keamanan

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


Linux
  1. Praktik Terbaik Keamanan OpenSSH

  2. Praktik terbaik keamanan server Windows

  3. Praktik terbaik keamanan Wordpress di Linux

  1. Siapkan server Urbackup di Ubuntu 20.04

  2. Cara menginstal server PostgreSQL di Ubuntu 18.04

  3. Praktik terbaik server Nagios?

  1. Praktik Terbaik DNS untuk Keamanan dan Kinerja

  2. 10 Praktik Terbaik Keamanan Basis Data

  3. Praktik terbaik keamanan server Linux