Persediaan pelayan awal dengan Ubuntu 20.04/18.04 dan 16.04
- 3035
- 257
- Ronnie Hermann
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 aptKemas 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 --upgradableSenaraikan 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 tarafMeningkatkan 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 cleanAutoremove 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_userBuat 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 updateSahkan 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 /hostnameTetapkan 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 2048Persediaan 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] _serverSalin 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 $ exitSahkan 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.pubLihat 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 noPerkhidmatan 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 SSHSahkan 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 AutoKonfigurasikan 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 statusSemak 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 statusBuka 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 verbosePeriksa 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/viennaTetapkan 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.comKonfigurasi 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.perkhidmatanMula 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 -tulpnSenaraikan 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.perkhidmatanSemak 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-DiselesaikanLumpuhkan 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 rebootSahkan 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 pstreeSenaraikan 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.
- « Cara Memasang LightTPD dengan PHP, MariaDB dan Phpmyadmin di Ubuntu
- Cara mengklon pelayan CentOS dengan rsync »