Persediaan pelayan awal dengan Ubuntu 20.04/18.04 dan 16.04

Persediaan pelayan awal dengan Ubuntu 20.04/18.04 dan 16.04

Tutorial ini akan membimbing anda pada langkah -langkah asas pertama yang anda perlukan untuk mengkonfigurasi pada yang baru dipasang Ubuntu pelayan untuk meningkatkan keselamatan dan kebolehpercayaan pelayan anda.

Konfigurasi yang dijelaskan dalam topik ini hampir sama untuk semua sistem pelayan Ubuntu, mengenai platform OS yang mendasari, sama ada Ubuntu dipasang pada pelayan logam kosong, dalam mesin maya peribadi atau mesin maya berputar di awan awam VPS.

Keperluan

  • Ubuntu 20.04 Pemasangan Pelayan
  • Ubuntu 18.04 Pemasangan Pelayan
  • Ubuntu 16.04 Pemasangan Pelayan

Mengemas kini dan menaik taraf sistem ubuntu

Langkah pertama yang anda perlukan untuk menjaga sekiranya pemasangan segar Ubuntu pelayan atau yang baru digunakan Ubuntu VPS adalah untuk memastikan sistem dan semua komponen sistem, seperti kernel, Pengurus Pakej APT dan semua pakej dipasang yang lain terkini dengan versi terkini dan patch keselamatan.

Untuk mengemas kini pelayan Ubuntu, log masuk ke konsol pelayan dengan akaun dengan keistimewaan root atau secara langsung sebagai root dan jalankan arahan di bawah untuk melaksanakan proses kemas kini dan menaik taraf.

kemas kini $ sudo apt 
Kemas kini pelayan Ubuntu

Setelah menjalankan arahan kemas kini, anda akan melihat bilangan pakej yang tersedia untuk proses menaik taraf dan arahan yang digunakan untuk menyenaraikan peningkatan pakej.

$ sudo apt list --upgradable 
Senaraikan Pakej Ubuntu Meningkatkan

Setelah anda berunding dengan senarai pakej yang tersedia untuk menaik taraf, mengeluarkan arahan di bawah untuk memulakan proses peningkatan sistem.

$ sudo apt naik taraf 
Meningkatkan pakej pelayan Ubuntu

Untuk menghapuskan semua pakej DEB yang dimuat turun secara tempatan dan semua cache apt-get yang lain, laksanakan arahan di bawah.

$ sudo apt autoremove $ sudo apt clean 
Autoremove Pakej dan Cache

Buat Akaun Baru di Ubuntu

Secara lalai, sebagai langkah keselamatan, akaun root sepenuhnya dilumpuhkan di Ubuntu. Untuk membuat akaun baru di sistem, log masuk ke sistem dengan pengguna akaun dengan keistimewaan root dan buat akaun baru dengan arahan di bawah.

Akaun baru ini akan diberikan keistimewaan kuasa akar melalui arahan sudo dan akan digunakan untuk melaksanakan tugas pentadbiran dalam sistem. Pastikan anda menyediakan kata laluan yang kuat untuk melindungi akaun ini. Ikut Adduser meminta untuk menyediakan butiran pengguna dan kata laluan.

$ sudo adduser ubuntu_user 
Buat pengguna di ubuntu

Sekiranya akaun ini akan diberikan kepada pentadbir sistem lain, anda boleh memaksa pengguna untuk menukar kata laluannya pada percubaan log pertama dengan mengeluarkan arahan berikut.

$ sudo chage -d0 ubuntu_user 

Buat masa ini, pengguna tambahan baru tidak dapat melaksanakan tugas pentadbiran melalui utiliti sudo. Untuk memberikan akaun pengguna baru ini dengan keistimewaan pentadbiran, anda harus menambah pengguna untuk "sudo"Kumpulan sistem dengan mengeluarkan arahan di bawah.

$ sudo usermod -a -g sudo ubuntu_user 

Secara lalai, semua pengguna milik "sudo"Kumpulan dibenarkan melaksanakan arahan dengan keistimewaan akar melalui utiliti sudo. Perintah sudo mesti digunakan sebelum menulis arahan yang diperlukan untuk pelaksanaan, seperti yang ditunjukkan dalam contoh di bawah.

$ sudo apt pemasangan pakej_name 

Uji jika pengguna baru mempunyai keistimewaan root yang diberikan, dengan masuk ke sistem dan jalankan kemas kini apt Perintah yang diawali dengan sudo.

$ su - Ubuntu_user $ sudo apt update 
Sahkan pengguna baru

Konfigurasikan nama hos sistem di Ubuntu

Biasanya, nama hos mesin disediakan semasa proses pemasangan sistem atau ketika VPS dibuat di awan. Walau bagaimanapun, anda harus menukar nama mesin anda untuk lebih mencerminkan destinasi pelayan anda atau untuk menerangkan tujuan terakhirnya.

Di sebuah syarikat besar, mesin dinamakan sempena skim penamaan kompleks untuk mengenal pasti mesin di rak datacenter. Contohnya, jika mesin Ubuntu anda akan mengendalikan pelayan mel, nama mesin harus mencerminkan fakta ini dan anda boleh menyiapkan nama host mesin sebagai MX01.mydomain.lan, sebagai contoh.

Untuk menunjukkan butiran mengenai nama host mesin anda jalankan arahan berikut.

$ hostnamectl 

Untuk menukar nama mesin anda, masalah perintah hostnamectl Dengan nama baru anda akan mengkonfigurasi untuk mesin anda, seperti yang digambarkan dalam petikan di bawah.

$ sudo hostnamectl set-hostname tecmint 

Sahkan nama baru sistem anda dengan salah satu arahan di bawah.

$ hostname $ hostname -s $ Cat /etc /hostname 
Tetapkan nama host di pelayan ubuntu

Persediaan SSH dengan Pengesahan Utama Awam di Ubuntu

Untuk meningkatkan tahap keselamatan sistem pelayan Ubuntu, anda harus menubuhkan pengesahan kunci awam SSH untuk akaun tempatan. Untuk menjana pasangan kunci SSH, kunci awam dan swasta, dengan menentukan panjang kunci, seperti 2048 bit, laksanakan arahan berikut di konsol pelayan anda.

Pastikan anda log masuk ke sistem dengan pengguna yang anda tetapkan kunci SSH.

$ su -ubuntu_user $ ssh -keygen -t rsa -b 2048 
Persediaan SSH Keys di Ubuntu

Walaupun kunci dijana, anda akan diminta untuk menambah laluan belakang Untuk menjamin kunci. Anda boleh memasukkan frasa laluan yang kuat atau memilih untuk meninggalkan kosong laluan kosong jika anda ingin mengautomasikan tugas melalui SSH Server.

Selepas kunci SSH dihasilkan, anda boleh menyalin kunci awam ke pelayan jauh dengan melaksanakan arahan di bawah. Untuk memasang kunci awam ke pelayan SSH jauh, anda memerlukan akaun pengguna jauh dengan keizinan dan kelayakan yang betul untuk log masuk ke pelayan jauh.

$ ssh-copy-id [dilindungi e-mel] _server 
Salin kekunci SSH ke pelayan jauh

Anda sepatutnya dapat log masuk secara automatik melalui SSH ke pelayan jauh menggunakan kaedah pengesahan utama awam. Anda tidak perlu menambah kata laluan pengguna jauh semasa menggunakan pengesahan kunci awam SSH.

Setelah anda masuk ke pelayan jauh, anda boleh mula melaksanakan arahan, seperti perintah w Untuk menyenaraikan SSH jauh log masuk pengguna, seperti yang ditunjukkan dalam tangkapan skrin di bawah.

Taip keluar di konsol untuk menutup sesi SSH jauh.

$ ssh [dilindungi e -mel] _server $ w $ exit 
Sahkan log masuk tanpa kata laluan SSH

Untuk melihat kandungan kunci SSH awam anda untuk memasang secara manual kunci ke pelayan SSH jauh, mengeluarkan arahan berikut.

$ kucing ~/.SSH/ID_RSA.pub 
Lihat kekunci SSH

Pelayan SSH selamat di Ubuntu

Untuk menjamin daemon SSH, anda harus menukar nombor port SSH lalai dari 22 ke pelabuhan rawak, lebih tinggi daripada 1024, dan tidak membenarkan akses SSH jauh ke akaun root melalui kata laluan atau kekunci, dengan membuka fail konfigurasi utama pelayan SSH dan membuat perubahan berikut.

$ sudo vi/etc/ssh/sshd_config 

Pertama, cari baris yang dikomentari #Port22 Dan tambahkan garis baru di bawah (ganti nombor port mendengar dengan sewajarnya):

Port 2345 

Jangan tutup fail, tatal ke bawah dan cari garis #Permitrootlogin ya, Uncomment garis dengan mengeluarkan # tanda (hashtag) dari awal garis dan ubah suai garis untuk kelihatan seperti ditunjukkan dalam petikan di bawah.

Permitrootlogin no 
Perkhidmatan SSH selamat

Selepas itu, mulakan semula pelayan SSH untuk menggunakan tetapan baru dan uji konfigurasi dengan cuba log masuk dari mesin jauh ke pelayan ini dengan akaun root melalui nombor port baru. Akses ke akaun root melalui SSH harus dihadkan.

$ sudo Systemctl Restart SSHD 

Juga, jalankan netstat atau perintah ss dan menapis output melalui arahan grep untuk menunjukkan nombor port pendengaran baru untuk pelayan SSH.

$ sudo ss -tlpn | grep ssh $ sudo netstat -tlpn | Grep SSH 
Sahkan port SSH Artikel yang berkaitan: 7 Petua Keselamatan SSH Berguna untuk Mengasaskan Pelayan OpenSSH

Terdapat situasi di mana anda mungkin mahu melepaskan semua sambungan SSH jauh secara automatik yang ditetapkan ke pelayan anda selepas tempoh tidak aktif.

Untuk membolehkan ciri ini, laksanakan arahan di bawah, yang menambah Tmout pemboleh ubah bash ke akaun anda .Bashrc fail tersembunyi dan memaksa setiap sambungan SSH dibuat dengan nama pengguna untuk diputuskan atau jatuh selepas 5 minit tidak aktif.

$ echo 'tmout = 300' >> .Bashrc 

Jalankan perintah ekor untuk memeriksa sama ada pemboleh ubah telah ditambah dengan betul pada akhir .Bashrc fail. Semua sambungan SSH berikutnya akan ditutup secara automatik selepas 5 minit tidak aktif mulai sekarang.

$ ekor .Bashrc 

Dalam tangkapan skrin di bawah, sesi SSH jauh dari mesin Drupal ke pelayan Ubuntu melalui akaun Ubuntu_user telah ditetapkan dan auto-logout selepas 5 minit.

Sesi SSH Auto

Konfigurasikan UFW Firewall Ubuntu

Setiap pelayan memerlukan firewall yang dikonfigurasikan dengan baik untuk menjamin sistem di peringkat rangkaian. Menggunakan pelayan Ubuntu Ufw aplikasi untuk menguruskan peraturan iptables di pelayan.

Semak status permohonan firewall UFW di Ubuntu dengan mengeluarkan arahan di bawah.

$ sudo status status ufw $ sudo ufw status 
Semak status firewall UFW

Biasanya, daemon firewall UFW sudah habis dan berjalan di pelayan Ubuntu, tetapi peraturannya tidak digunakan secara lalai. Sebelum Membolehkan Dasar Firewall UFW dalam sistem anda, pertama anda harus menambah peraturan baru untuk membolehkan trafik SSH melalui firewall melalui port SSH yang diubah. Peraturan ini boleh ditambah dengan melaksanakan arahan di bawah.

$ sudo ufw membenarkan 2345/tcp 

Setelah anda membenarkan lalu lintas SSH, anda boleh mengaktifkan dan memeriksa permohonan firewall UFW dengan arahan berikut.

$ sudo ufw enable $ sudo ufw status 
Buka port SSH dan sahkan

Untuk menambah peraturan firewall baru untuk perkhidmatan rangkaian lain yang kemudian dipasang pada pelayan anda, seperti pelayan http, pelayan mel atau perkhidmatan rangkaian lain, gunakan contoh perintah firewall di bawah sebagai panduan.

$ sudo ufw membenarkan http #allow trafik http $ sudo ufw membenarkan proto tcp dari mana -mana port 25,443 # membenarkan trafik https dan smtp 

Untuk menyenaraikan semua peraturan firewall menjalankan arahan di bawah.

$ sudo ufw status verbose 
Periksa peraturan firewall UFW Artikel yang berkaitan: Cara menyiapkan firewall UFW di pelayan Ubuntu

Tetapkan masa pelayan Ubuntu

Untuk mengawal atau bertanya jam pelayan Ubuntu dan tetapan masa yang lain, laksanakan arahan timedatectl tanpa hujah.

Untuk menukar tetapan zon waktu pelayan anda, laksanakan terlebih dahulu perintah timedatectl dengan argumen senarai-timeZones untuk menyenaraikan semua zon waktu yang tersedia dan, kemudian, tetapkan zon waktu sistem anda seperti yang ditunjukkan dalam petikan di bawah.

$ sudo timedatectl $ sudo timedatectl list-timeezones $ sudo timedatectl set-timeezone europe/vienna 
Tetapkan zon waktu ubuntu

Baru Systemd-Timesyncd Sistem Daemon Systemd boleh digunakan di Ubuntu untuk memberikan masa yang tepat untuk pelayan anda merentasi rangkaian dan menyegerakkan masa dengan pelayan rakan sebaya atas.

Untuk menerapkan ciri baru SystemD ini, ubah suai Systemd-Timesyncd Fail Konfigurasi Daemon dan tambahkan pelayan NTP secara geografi yang paling dekat ke baris pernyataan NTP, seperti yang ditunjukkan dalam petikan fail di bawah:

$ sudo nano/etc/systemd/timesyncd.Conf 

Tambah konfigurasi berikut ke Timesyncd.Conf Fail:

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

Untuk menambahkan pelayan NTP geografi terdekat anda, rujuk senarai pelayan projek NTP Pool di alamat berikut: http: // www.kolam.NTP.org/en/

Selepas itu, mulakan semula daemon Timesync Systemd untuk mencerminkan perubahan dan periksa status daemon dengan menjalankan arahan di bawah. Selepas dimulakan semula, daemon akan mula menyegerakkan masa dengan rakan sebaya NTP yang baru.

$ sudo Systemctl Restart Systemd-Timesyncd.Perkhidmatan $ SUDO Systemctl Status Systemd-Timesyncd.perkhidmatan 
Mula Timesyncd Service

Lumpuhkan dan keluarkan perkhidmatan yang tidak diperlukan di Ubuntu

Untuk mendapatkan senarai semua perkhidmatan rangkaian TCP dan UDP secara lalai dalam lalai di pelayan Ubuntu anda, laksanakan ss atau perintah netstat.

$ sudo netstat -tulpn atau $ sudo ss -tulpn 
Senaraikan semua perkhidmatan yang berjalan

Merenung dengan Ubuntu 16.10 pelepasan, resolver DNS lalai kini dikawal oleh Sistem-diselesaikan perkhidmatan, seperti yang dinyatakan oleh output dari netstat atau Perintah SS.

Anda juga harus memeriksa Sistem-diselesaikan Status perkhidmatan dengan menjalankan arahan berikut.

$ sudo systemctl status systemd-diselesaikan.perkhidmatan 
Semak status sistemd yang diselesaikan

The Sistem-diselesaikan Perkhidmatan mengikat pada semua antara muka rangkaian yang diaktifkan dan mendengar di pelabuhan 53 dan 5355 TCP dan UDP.

Berjalan sistem yang diselesaikan Caching DNS Daemon pada pelayan pengeluaran boleh berbahaya kerana banyak serangan DDoS yang dilakukan oleh penggodam jahat terhadap pelayan DNS tidak bercagar.

Untuk menghentikan dan melumpuhkan perkhidmatan ini, laksanakan arahan berikut.

$ sudo Systemctl Stop SystemD-diselesaikan $ SUDO Systemctl Disable SystemD-Diselesaikan 
Lumpuhkan perkhidmatan yang diselesaikan Systemd

Sahkan jika perkhidmatan telah dihentikan dan dilumpuhkan dengan mengeluarkan ss atau perintah netstat. Pelabuhan Mendengarkan Sistem yang Diselesaikan Sistem, 53 dan 5355 TCP dan UDP, tidak boleh disenaraikan dalam output arahan Netstat atau SS, seperti yang digambarkan di bawah.

Anda juga harus reboot mesin untuk mematikan sepenuhnya semua perkhidmatan daemon yang diselesaikan dengan sistem dan memulihkan lalai /etc/resolv.Conf fail.

$ sudo ss -tulpn $ sudo netstat -tulpn $ sudo systemctl reboot 
Sahkan semua perkhidmatan berjalan

Walaupun, anda telah melumpuhkan beberapa perkhidmatan rangkaian yang tidak diingini untuk dijalankan di pelayan anda, terdapat juga perkhidmatan lain yang dipasang dan dijalankan dalam sistem anda, seperti LXC proses dan snapd perkhidmatan. Perkhidmatan ini dapat dikesan dengan mudah melalui PS, atas atau pstree Perintah.

$ sudo ps aux $ sudo top $ sudo pstree 
Senaraikan perkhidmatan yang dijalankan dalam format pokok

Sekiranya anda tidak akan menggunakan virtualisasi kontena LXC di pelayan anda atau mula memasang perisian yang dibungkus melalui Pengurus Pakej Snap, anda harus melumpuhkan dan mengeluarkan perkhidmatan ini sepenuhnya, dengan mengeluarkan arahan di bawah.

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

Itu sahaja! Sekarang, pelayan Ubuntu kini bersedia untuk memasang perisian tambahan yang diperlukan untuk perkhidmatan rangkaian atau aplikasi tersuai, seperti memasang dan mengkonfigurasi pelayan web, pelayan pangkalan data, perkhidmatan saham fail atau aplikasi khusus lain.