Pengaturan Server Awal dengan Ubuntu 20.04/18.04 dan 16.04

Pengaturan Server Awal dengan Ubuntu 20.04/18.04 dan 16.04

Tutorial ini akan memandu Anda pada langkah -langkah dasar pertama yang perlu Anda konfigurasi pada yang baru diinstal Ubuntu Server untuk meningkatkan keamanan dan keandalan untuk server Anda.

Konfigurasi yang dijelaskan dalam topik ini hampir sama untuk semua sistem server Ubuntu, mengenai platform OS yang mendasarinya, apakah Ubuntu diinstal pada server telanjang-logam, di mesin virtual pribadi atau mesin virtual yang diputar di cloud publik VPS.

Persyaratan

  • Ubuntu 20.04 Instalasi Server
  • Ubuntu 18.04 Instalasi Server
  • Ubuntu 16.04 Instalasi Server

Perbarui dan Tingkatkan Sistem Ubuntu

Langkah pertama yang perlu Anda selesaikan jika ada pemasangan baru Ubuntu server atau yang baru digunakan Ubuntu VPS adalah untuk memastikan sistem dan semua komponen sistem, seperti kernel, manajer paket yang tepat dan semua paket terinstal lainnya terkini dengan versi terbaru yang dirilis dan tambalan keamanan.

Untuk memperbarui server ubuntu, untuk masuk ke konsol server dengan akun dengan hak istimewa root atau secara langsung sebagai root dan menjalankan perintah di bawah ini untuk melakukan proses pembaruan dan peningkatan.

$ sudo pembaruan apt 
Perbarui Ubuntu Server

Setelah menjalankan perintah pembaruan, Anda akan melihat jumlah paket yang tersedia untuk proses peningkatan dan perintah yang digunakan untuk mendaftar Paket Peningkatan.

$ Sudo APT List -Upradable 
Daftar Peningkatan Paket Ubuntu

Setelah Anda berkonsultasi dengan daftar paket yang tersedia untuk ditingkatkan, keluarkan perintah di bawah ini untuk memulai proses peningkatan sistem.

$ sudo apt upgrade 
Tingkatkan Paket Server Ubuntu

Untuk menghapus semua paket Deb yang diunduh secara lokal dan semua cache apt-get lainnya, jalankan perintah di bawah ini.

$ sudo apt autoremove $ sudo apt bersih 
Paket dan cache Autoremove Autoremove

Buat akun baru di Ubuntu

Secara default, sebagai tindakan keamanan, akun root sepenuhnya dinonaktifkan di Ubuntu. Untuk membuat akun baru di sistem, masuk ke sistem dengan pengguna akun dengan hak istimewa root dan buat akun baru dengan perintah di bawah ini.

Akun baru ini akan diberikan dengan hak istimewa kekuatan root melalui perintah sudo dan akan digunakan untuk melakukan tugas administratif dalam sistem. Pastikan Anda mengatur kata sandi yang kuat untuk melindungi akun ini. Ikuti Tambahkan pengguna Prompt untuk mengatur detail pengguna dan kata sandi.

$ sudo adduser ubuntu_user 
Buat Pengguna di Ubuntu

Jika akun ini akan ditugaskan ke admin sistem lain, Anda dapat memaksa pengguna untuk mengubah kata sandi pada upaya log in pertama dengan mengeluarkan perintah berikut.

$ sudo chage -d0 ubuntu_user 

Untuk saat ini, pengguna tambahan yang baru tidak dapat melakukan tugas administratif melalui utilitas sudo. Untuk memberikan akun pengguna baru ini dengan hak administratif, Anda harus menambahkan pengguna ke “sudo”Grup sistem dengan mengeluarkan perintah di bawah ini.

$ sudo usermod -a -g sudo ubuntu_user 

Secara default, semua pengguna milik “sudo”Grup diizinkan untuk menjalankan perintah dengan hak istimewa root melalui utilitas sudo. Perintah sudo harus digunakan sebelum menulis perintah yang diperlukan untuk eksekusi, seperti yang ditunjukkan pada contoh di bawah ini.

$ sudo apt install package_name 

Uji jika pengguna baru memiliki hak istimewa root yang diberikan, dengan masuk ke sistem dan jalankan Pembaruan yang tepat Perintah diawali dengan sudo.

$ su - ubuntu_user $ sudo apt update 
Verifikasi pengguna baru

Konfigurasikan nama host sistem di ubuntu

Biasanya, nama host mesin diatur selama proses instalasi sistem atau ketika VPS dibuat di cloud. Namun, Anda harus mengubah nama mesin Anda agar lebih mencerminkan tujuan server Anda atau untuk lebih menggambarkan tujuan akhirnya.

Di sebuah perusahaan besar, mesin dinamai skema penamaan yang kompleks untuk dengan mudah mengidentifikasi mesin di rak pusat data. Misalnya, jika mesin Ubuntu Anda akan mengoperasikan server email, nama mesin harus mencerminkan fakta ini dan Anda dapat mengatur nama host mesin sebagai MX01.mydomain.lan, Misalnya.

Untuk menampilkan detail tentang nama host mesin Anda, jalankan perintah berikut.

$ hostnamectl 

Untuk mengubah nama mesin Anda, masalah Perintah hostnamectl Dengan nama baru yang akan Anda konfigurasi untuk mesin Anda, seperti yang diilustrasikan dalam kutipan di bawah ini.

$ sudo hostnamectl set-hostname tecmint 

Verifikasi nama baru sistem Anda dengan salah satu perintah di bawah ini.

$ hostname $ hostname -s $ cat /etc /hostname 
Atur nama host di server Ubuntu

Pengaturan SSH dengan otentikasi kunci publik di Ubuntu

Untuk meningkatkan tingkat keamanan sistem server Ubuntu, Anda harus mengatur otentikasi kunci publik SSH untuk akun lokal. Untuk menghasilkan pasangan kunci SSH, kunci publik dan pribadi, dengan menentukan panjang kunci, seperti 2048 bit, jalankan perintah berikut di konsol server Anda.

Pastikan Anda masuk ke sistem dengan pengguna Anda mengatur kunci SSH.

$ su -ubuntu_user $ ssh -keygen -t rsa -b 2048 
Mengatur tombol SSH di Ubuntu

Saat kunci dihasilkan, Anda akan diminta untuk ditambahkan frasa sandi Untuk mengamankan kunci. Anda dapat memasukkan frasa sandi yang kuat atau memilih untuk meninggalkan frasa sandi jika Anda ingin mengotomatiskan tugas melalui SSH Server.

Setelah kunci SSH dihasilkan, Anda dapat menyalin kunci publik ke server jarak jauh dengan menjalankan perintah di bawah ini. Untuk menginstal kunci publik ke server SSH jarak jauh, Anda akan memerlukan akun pengguna jarak jauh dengan izin dan kredensial yang tepat untuk masuk ke server jarak jauh.

$ ssh-copy-id [email dilindungi] _server 
Salin kunci SSH ke server jarak jauh

Anda harus dapat secara otomatis masuk melalui SSH ke server jarak jauh menggunakan metode otentikasi kunci publik. Anda tidak perlu menambahkan kata sandi pengguna jarak jauh saat menggunakan otentikasi kunci publik SSH.

Setelah Anda masuk ke server jarak jauh, Anda dapat mulai menjalankan perintah, seperti perintah w Untuk mendaftar SSH Remote yang masuk pengguna, seperti yang ditunjukkan pada tangkapan layar di bawah ini.

Ketik Exit di konsol untuk menutup sesi SSH jarak jauh.

$ ssh [email dilindungi] _server $ w $ exit 
Verifikasi login tanpa kata sandi SSH

Untuk melihat konten kunci SSH publik Anda untuk secara manual menginstal kunci ke server SSH jarak jauh, mengeluarkan perintah berikut.

$ kucing ~/.ssh/id_rsa.pub 
Lihat Kunci SSH

Aman SSH Server di Ubuntu

Untuk mengamankan daemon ssh Anda harus mengubah nomor port SSH default dari 22 ke port acak, lebih tinggi dari 1024, dan melarang akses SSH jarak jauh ke akun root melalui kata sandi atau kunci, dengan membuka file konfigurasi utama server ssh dan membuat perubahan berikut.

$ sudo vi/etc/ssh/sshd_config 

Pertama, cari baris yang dikomentari #Port22 dan tambahkan baris baru di bawahnya (ganti nomor port mendengarkan yang sesuai):

Port 2345 

Jangan tutup file, gulir ke bawah dan cari baris #Permitrootlogin ya, Unkomment saluran dengan menghapus # tanda (tagar) dari awal garis dan memodifikasi garis agar terlihat seperti ditampilkan dalam kutipan di bawah ini.

Imbinrootlogin no 
Amankan layanan SSH

Setelah itu, restart server SSH untuk menerapkan pengaturan baru dan uji konfigurasi dengan mencoba masuk dari mesin jarak jauh ke server ini dengan akun root melalui nomor port baru. Akses ke Akun Root melalui SSH harus dibatasi.

$ sudo systemctl restart sshd 

Juga, jalankan netstat atau Perintah SS dan filter output melalui perintah grep untuk menampilkan nomor port mendengarkan baru untuk server ssh.

$ sudo ss -tlpn | grep ssh $ sudo netstat -tlpn | grep ssh 
Verifikasi port ssh Artikel terkait: 7 tips keamanan SSH yang berguna untuk mengeras server openssh

Ada situasi di mana Anda mungkin ingin secara otomatis memutuskan semua koneksi SSH jarak jauh yang ditetapkan ke server Anda setelah periode tidak aktif.

Untuk mengaktifkan fitur ini, jalankan perintah di bawah ini, yang menambahkan Tmout variabel bash ke akun Anda .Bashrc File dan memaksa tersembunyi setiap koneksi SSH yang dibuat dengan nama pengguna untuk terputus atau putus sekolah setelah 5 menit tidak aktif.

$ echo 'tmout = 300' >> .Bashrc 

Jalankan perintah ekor untuk memeriksa apakah variabel telah ditambahkan dengan benar di akhir .Bashrc mengajukan. Semua koneksi SSH berikutnya akan ditutup secara otomatis setelah 5 menit tidak aktif mulai sekarang.

$ ekor .Bashrc 

Di tangkapan layar di bawah ini, sesi SSH jarak jauh dari mesin drupal ke server ubuntu melalui akun ubuntu_user telah diatur waktunya dan pengaruh otomatis setelah 5 menit.

Sesi SSH Disconnect Otomatis

Konfigurasikan Ubuntu Firewall UFW

Setiap server membutuhkan firewall yang dikonfigurasi dengan baik untuk mengamankan sistem di tingkat jaringan. Ubuntu Server menggunakan UFW Aplikasi untuk mengelola aturan iptables di server.

Periksa status aplikasi firewall UFW di Ubuntu dengan mengeluarkan perintah di bawah ini.

$ sudo systemctl status ufw $ sudo ufw status 
Periksa status firewall UFW

Biasanya, daemon firewall ufw sudah habis dan berjalan di server ubuntu, tetapi aturannya tidak diterapkan secara default. Sebelum mengaktifkan kebijakan firewall UFW dalam sistem Anda, pertama -tama Anda harus menambahkan aturan baru untuk memungkinkan lalu lintas SSH melewati firewall melalui port SSH yang diubah. Aturan dapat ditambahkan dengan mengeksekusi perintah di bawah ini.

$ sudo UFW Izinkan 2345/TCP 

Setelah Anda mengizinkan lalu lintas SSH, Anda dapat mengaktifkan dan memeriksa aplikasi firewall UFW dengan perintah berikut.

$ sudo ufw mengaktifkan $ sudo status UFW 
Buka port ssh dan verifikasi

Untuk menambahkan aturan firewall baru untuk layanan jaringan lain selanjutnya diinstal di server Anda, seperti server HTTP, server email atau layanan jaringan lainnya, gunakan contoh perintah firewall di bawah ini sebagai panduan.

$ sudo ufw memungkinkan http #allow http traffic $ sudo ufw izinkan proto tcp dari semua ke port apa pun 25.443 # Izinkan lalu lintas https dan smtp 

Untuk mencantumkan semua aturan firewall, jalankan perintah di bawah ini.

$ sudo ufw status verbose 
Periksa aturan firewall UFW Artikel terkait: Cara Mengatur Firewall UFW di Ubuntu Server

Atur waktu server Ubuntu

Untuk mengontrol atau meminta jam server ubuntu dan pengaturan waktu terkait lainnya, jalankan perintah timedatectl tanpa argumen.

Untuk mengubah pengaturan zona waktu server Anda, terlebih dahulu jalankan Perintah TimeDatectl Dengan argumen daftar waktu untuk mendaftar semua zona waktu yang tersedia dan, kemudian, atur zona waktu sistem Anda seperti yang ditunjukkan pada kutipan di bawah ini.

$ sudo timedatectl $ sudo timeDateTectl Daftar-timeZones $ sudo timeDatectl Set-timeZone Europe/Wina 
Atur Ubuntu Timezone

Yang baru Systemd-Timesyncd SystemD Daemon Client dapat digunakan di Ubuntu untuk memberikan waktu yang akurat untuk server Anda di seluruh jaringan dan menyinkronkan waktu dengan server rekan waktu atas.

Untuk menerapkan fitur baru SystemD, ubah Systemd-Timesyncd File konfigurasi daemon dan tambahkan server NTP secara geografis terdekat ke baris pernyataan NTP, seperti yang ditunjukkan pada kutipan file di bawah ini:

$ sudo nano/etc/systemd/timesyncd.conf 

Tambahkan konfigurasi berikut ke Timesyncd.conf mengajukan:

[Waktu] ntp = 0.kolam.NTP.org 1.kolam.NTP.org fallbackntp = ntp.Ubuntu.com 
Konfigurasi Waktu NTP

Untuk menambahkan server NTP geografis terdekat, konsultasikan dengan daftar server proyek NTP Pool di alamat berikut: http: // www.kolam.NTP.org/en/

Setelah itu, restart daemon systemd timesync untuk mencerminkan perubahan dan periksa status daemon dengan menjalankan perintah di bawah ini. Setelah restart, daemon akan mulai menyinkronkan waktu dengan peer server NTP baru.

$ sudo systemctl restart systemd-timesyncd.Layanan $ sudo Systemctl Systemd-timesyncd.melayani 
Mulai Layanan Timesyncd

Nonaktifkan dan hapus layanan yang tidak dibutuhkan di Ubuntu

Untuk mendapatkan daftar semua layanan TCP dan UDP Network naik dan berjalan secara default di server Ubuntu Anda, jalankan SS atau perintah netstat.

$ sudo netstat -tulpn atau $ sudo ss -tulpn 
Sebutkan semua layanan yang berjalan

Menatap dengan Ubuntu 16.10 rilis, resolver DNS default sekarang dikendalikan oleh Systemd-resolved layanan, sebagaimana diungkapkan oleh output dari netstat atau Perintah SS.

Anda juga harus memeriksa Systemd-resolved Status layanan dengan menjalankan perintah berikut.

$ sudo Systemctl Status SystemD-Resolved.melayani 
Periksa status SystemD Resolved

Itu Systemd-resolved Layanan mengikat semua antarmuka jaringan yang diaktifkan dan mendengarkan port 53 Dan 5355 TCP Dan UDP.

Berlari diselesaikan dengan sistem Caching DNS Daemon di server produksi bisa berbahaya karena banyaknya jumlah serangan DDOS yang dilakukan oleh peretas jahat terhadap server DNS tanpa jaminan.

Untuk menghentikan dan menonaktifkan layanan ini, jalankan perintah berikut.

$ sudo systemctl stop systemd-resolved $ sudo systemctl nonaktifkan systemd-resolved 
Nonaktifkan SystemD Resolved Service

Verifikasi jika layanan telah dihentikan dan dinonaktifkan dengan menerbitkan SS atau Perintah Netstat. Port mendengarkan yang diselesaikan dengan systemd, 53 dan 5355 TCP dan UDP, tidak boleh terdaftar dalam output perintah NetStat atau SS, seperti yang diilustrasikan dalam hal di bawah ini.

Anda juga harus mem-boot ulang mesin untuk sepenuhnya menonaktifkan semua layanan daemon yang diselesaikan dengan sistem dan mengembalikan default /etc/resolv.conf mengajukan.

$ sudo ss -tulpn $ sudo netstat -tulpn $ sudo systemctl reboot 
Verifikasi semua layanan berjalan

Meskipun, Anda telah menonaktifkan beberapa layanan jaringan yang tidak diinginkan untuk dijalankan di server Anda, ada juga layanan lain yang diinstal dan dijalankan di sistem Anda, seperti lxc proses dan Snapd melayani. Layanan ini dapat dengan mudah dideteksi melalui PS, atas atau pstree perintah.

$ sudo ps aux $ sudo top $ sudo pstree 
Daftar layanan berjalan dalam format pohon

Jika Anda tidak akan menggunakan virtualisasi kontainer LXC di server Anda atau mulai menginstal perangkat lunak yang dikemas melalui Snap Package Manager, Anda harus benar -benar menonaktifkan dan menghapus layanan ini, dengan mengeluarkan perintah di bawah ini.

$ sudo apt autoremove ---burge lxc-common lxcfs $ sudo apt autoremove ---burge snapd 

Itu saja! Sekarang, Ubuntu Server sekarang disiapkan untuk menginstal perangkat lunak tambahan yang diperlukan untuk layanan atau aplikasi jaringan khusus, seperti menginstal dan mengkonfigurasi server web, server database, layanan berbagi file atau aplikasi spesifik lainnya.