Pengaturan Server Awal dengan Ubuntu 20.04/18.04 dan 16.04
- 4251
- 1273
- Miss Angelo Toy
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 aptPerbarui 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 -UpradableDaftar 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 upgradeTingkatkan 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 bersihPaket 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_userBuat 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 updateVerifikasi 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 /hostnameAtur 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 2048Mengatur 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] _serverSalin 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 $ exitVerifikasi 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.pubLihat 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 noAmankan 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 sshVerifikasi 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 OtomatisKonfigurasikan 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 statusPeriksa 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 UFWBuka 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 verbosePeriksa 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/WinaAtur 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.comKonfigurasi 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.melayaniMulai 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 -tulpnSebutkan 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.melayaniPeriksa 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-resolvedNonaktifkan 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 rebootVerifikasi 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 pstreeDaftar 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.
- « Cara menginstal lighttpd dengan php, mariadb dan phpMyadmin di ubuntu
- Cara mengkloning server centos dengan rsync »