Ubuntu 20.04/18.04 we 16.04 bilen başlangyç serwer gurnama


Bu gollanma, serweriňiziň howpsuzlygyny we ygtybarlylygyny ýokarlandyrmak üçin täze gurlan Ubuntu serwerinde sazlamaly ilkinji esasy ädimleriňizde size ýol görkezer.

Bu mowzukda düşündirilen konfigurasiýalar, esasy OS platformasy, Ubuntu ýalaňaç metal serwerde, hususy wirtual maşynda ýa-da VPS köpçüliginde aýlanan wirtual maşyn bilen baglanyşykly bolsa, Ubuntu serwer ulgamlarynyň hemmesi üçin birmeňzeşdir. bulut.

  • Ubuntu 20.04 Serwer gurmak
  • Ubuntu 18.04 Serwer gurmak
  • Ubuntu 16.04 Serwer gurmak

Ubuntu ulgamyny täzeläň we täzeläň

Ubuntu serweriniň täze gurnalan ýa-da täze ýerleşdirilen Ubuntu VPS ýagdaýynda alada etmeli ilkinji ädim ulgamyň we ýadro, howpsuzlyk ýamalary ýaly ähli ulgam bölekleriniň bardygyna göz ýetirmekdir.

Ubuntu serwerini täzelemek üçin, kök aýratynlyklary bolan ýa-da gönüden-göni kök hökmünde hasap bilen serweriň konsolyna girmek we täzelenme we täzeleniş amalyny ýerine ýetirmek üçin aşakdaky buýruklary işletmek.

$ sudo apt update 

Täzelenme buýrugyny işledeniňizden soň, kämilleşdiriş prosesi üçin elýeterli paketleriň sanyny we paketleriň täzelenmelerini sanawlamak üçin ulanylýan buýrugy görersiňiz.

$ sudo apt list --upgradable

Döwrebaplaşdyrmak üçin elýeterli paketleriň sanawy bilen maslahatlaşanyňyzdan soň, ulgamy täzelemek işine başlamak üçin aşakdaky buýrugy beriň.

$ sudo apt upgrade

Locallyerli göçürilen deb paketlerini we beýleki apt-get keşlerini aýyrmak üçin aşakdaky buýrugy ýerine ýetiriň.

$ sudo apt autoremove
$ sudo apt clean

Ubuntu-da täze hasap açyň

Düzgüne görä, howpsuzlyk çäresi hökmünde kök hasaby Ubuntu-da doly ýapylýar. Ulgamda täze hasap açmak üçin kök aýratynlyklary bolan hasap ulanyjysy bilen ulgama giriň we aşakdaky buýruk bilen täze hasap dörediň.

Bu täze hasaby sudo buýrugy arkaly kök ygtyýarlyklary bilen üpjün ediler we ulgamda administratiw meseleleri ýerine ýetirmek üçin ulanylar. Bu hasaby goramak üçin güýçli parol gurandygyňyza göz ýetiriň. Ulanyjynyň jikme-jikliklerini we parolyny sazlamak üçin goşmaçanyň islegine eýeriň.

$ sudo adduser ubuntu_user

Bu hasap başga bir ulgam administratoryna berilse, ulanyjyny aşakdaky buýrugy bermek bilen ilkinji girişde parolyny üýtgetmäge mejbur edip bilersiňiz.

$ sudo chage -d0 ubuntu_user

Häzirlikçe, täze goşulan ulanyjy sudo utiliti arkaly administratiw meseleleri ýerine ýetirip bilmeýär. Administratiw aýratynlyklar bilen bu täze ulanyjy hasaby bermek üçin aşakdaky buýrugy bermek bilen ulanyjyny\sudo ulgam toparyna goşmaly.

$ sudo usermod -a -G sudo ubuntu_user

Düzgüne görä, “sudo” toparyna degişli ähli ulanyjylara sudo utilitasy arkaly kök aýratynlyklary bolan buýruklary ýerine ýetirmäge rugsat berilýär. Aşakdaky mysalda görkezilişi ýaly ýerine ýetirmek üçin zerur buýrugy ýazmazdan ozal Sudo buýrugy ulanylmaly.

$ sudo apt install package_name

Täze ulanyjynyň, sistema girip, sudo bilen prefiks edilen apt täzelenme buýrugyny işledip, kök artykmaçlyklarynyň bardygyny barlaň.

$ su - ubuntu_user
$ sudo apt update

Ubuntu-da ulgam host adyny sazlaň

Adatça, enjamyň ady ulgam gurmak prosesinde ýa-da bulutda VPS döredilende gurulýar. Şeýle-de bolsa, serweriňiziň barjak ýerini has gowy görkezmek ýa-da soňky maksadyny has gowy suratlandyrmak üçin enjamyňyzyň adyny üýtgetmeli.

Uly kompaniýada, enjamy maglumat merkeziniň tekerlerinde aňsatlyk bilen tanamak üçin çylşyrymly atlandyryş shemalary bilen atlandyrylýar. Mysal üçin, Ubuntu enjamyňyz poçta serwerini işledýän bolsa, enjamyň ady bu hakykaty görkezmelidir we maşyn host adyny mx01.mydomain.lan hökmünde gurup bilersiňiz.

Enjamyňyzyň ady barada jikme-jiklikleri görkezmek üçin aşakdaky buýrugy işlediň.

$ hostnamectl

Enjamyňyzyň adyny üýtgetmek üçin, aşakdaky bölekde görkezilişi ýaly, enjamyňyz üçin düzjek täze adyňyz bilen hostnamectl buýrugyny beriň.

$ sudo hostnamectl set-hostname tecmint

Aşakdaky buýruklaryň biri bilen ulgamyňyzyň täze adyny barlaň.

$ hostname
$ hostname -s
$ cat /etc/hostname 

Ubuntu-da köpçülikleýin açar tanamak bilen SSH-i guruň

Ubuntu serweriniň ulgam howpsuzlyk derejesini ýokarlandyrmak üçin ýerli hasap üçin SSH açar tassyklamasyny gurmaly. SSH açar jübütini döretmek üçin, 2048 bit ýaly açar uzynlygyny kesgitleýän açyk we açyk açar, serwer konsolyňyzda aşakdaky buýrugy ýerine ýetiriň.

SSH açaryny gurýan ulanyjy bilen sistema girendigiňize göz ýetiriň.

$ su - ubuntu_user
$ ssh-keygen -t RSA -b 2048

Düwme döredilende, açary goramak üçin parol sözüni goşmak soralar. SSH serweri arkaly meseleleri awtomatlaşdyrmak isleseňiz, güýçli parol girizip bilersiňiz ýa-da parol sözüni boş goýup bilersiňiz.

SSH açary döredilenden soň, aşakdaky buýrugy ýerine ýetirip, açary uzakdaky serwere göçürip bilersiňiz. Uzakdaky SSH serwerine açyk açary gurmak üçin uzakdaky serwere girmek üçin degişli rugsatlar we şahsyýetnamalary bolan uzakdaky ulanyjy hasaby gerek bolar.

$ ssh-copy-id [email _server

Köpçüligiň açary tanamak usulyny ulanyp, SSH arkaly uzakdaky serwere awtomatiki girip bilmeli. SSH açar tassyklamasyny ulananyňyzda uzakdaky ulanyjy parolyny goşmak hökman däl.

Uzakdaky serwere gireniňizden soň, aşakdaky skrinshotda görkezilişi ýaly ssh uzakdan giren ulanyjylary sanawlamak üçin w buýrugy ýaly buýruklary ýerine ýetirip bilersiňiz.

Uzakdaky SSH sessiýasyny ýapmak üçin konsolda çykyş ýazyň.

$ ssh [email _server
$ w
$ exit

Uzakdaky SSH serwerine açary el bilen gurmak üçin köpçülige açyk SSH açaryňyzyň mazmunyny görmek üçin aşakdaky buýrugy beriň.

$ cat ~/.ssh/id_rsa.pub

Ubuntu-da ygtybarly SSH serweri

SSH daemonyny goramak üçin deslapky SSH port belgisini 22-den 1024-den ýokary tötänleýin porta üýtgetmeli we SSH serweriniň esasy konfigurasiýa faýlyny açyp, parol ýa-da açar arkaly uzakdaky SSH kök hasabyna girmegini gadagan etmeli we aşakdaky üýtgeşmeler.

$ sudo vi /etc/ssh/sshd_config

Ilki bilen düşündiriş berlen # Port22 setirini gözläň we aşagyna täze setir goşuň (diňleýiş portunyň belgisini şoňa görä çalşyň):

Port 2345

Faýly ýapmaň, aşak aýlaň we #PermitRootLogin setirini gözläň, hawa, setiriň başyndan # belgisini (hastag) aýyryp, setiri aşakdaky bölekde görkezilişi ýaly üýtgediň.

PermitRootLogin no

Ondan soň, täze sazlamalary ulanmak we uzakdaky enjamdan täze port belgisi arkaly kök hasaby bilen bu serwere girmäge synanyşyp, konfigurasiýany barlamak üçin SSH serwerini täzeden açyň. SSH arkaly kök hasaby açmak çäklendirilen bolmaly.

$ sudo systemctl restart sshd

Şeýle hem, SSH serweri üçin täze diňleýiş port belgisini görkezmek üçin grep buýrugyny işlediň.

$ sudo ss -tlpn| grep ssh
$ sudo netstat -tlpn| grep ssh

Birnäçe wagt hereketsizlikden soň serweriňize gurlan uzakdaky SSH birikmelerini awtomatiki usulda aýyrmak isleýän ýagdaýlaryňyz bar.

Bu aýratynlygy işletmek üçin, hasabyňyza TMOUT baş üýtgeýjisini goşýan aşakdaky buýrugy ýerine ýetiriň .Bashrc gizlin faýly we ulanyjynyň ady bilen edilen her SSH birikmesini 5 minut hereketsizlikden soň kesilmäge ýa-da taşlanmaga mejbur edýär.

$ echo 'TMOUT=300' >> .bashrc

Üýtgeýjiniň .bashrc faýlynyň soňunda dogry goşulandygyny ýa-da ýokdugyny barlamak üçin guýruk buýrugyny işlediň. Soňky ähli SSH birikmeleri mundan beýläk 5 minut hereketsizlikden soň awtomatiki usulda ýapylar.

$ tail .bashrc

Aşakdaky skrinshotda, drupal maşyndan Ubuntu_user hasaby arkaly Ubuntu serwerine çenli uzakdaky SSH sessiýasy gutardy we 5 minutdan soň awtomatiki usulda çykdy.

Ubuntu Firewall UFW-i sazlaň

Ulgam derejesinde ulgamy goramak üçin her bir serwere gowy düzülen gorag diwary gerek. Ubuntu serweri serwerdäki iptables düzgünlerini dolandyrmak üçin UFW programmasyny ulanýar.

Aşakdaky buýruklary çykaryp, Ubuntu-da UFW firewall programmasynyň ýagdaýyny barlaň.

$ sudo systemctl status ufw
$ sudo ufw status

Adatça, UFW firewall daemon Ubuntu serwerinde işleýär we işleýär, ýöne düzgünler adaty ýagdaýda ulanylmaýar. Ulgamda UFW firewall syýasatyny açmazdan ozal, üýtgedilen SSH portunyň üsti bilen SSH traffiginiň gorag diwaryndan geçmegine täze düzgün goşmaly. Düzgüne aşakdaky buýrugy ýerine ýetirmek arkaly goşup bolýar.

$ sudo ufw allow 2345/tcp

SSH traffigine rugsat bereniňizden soň, UFW firewall programmasyny aşakdaky buýruklar bilen işledip we barlap bilersiňiz.

$ sudo ufw enable
$ sudo ufw status

Soňra HTTP serweri, poçta serweri ýa-da beýleki ulgam hyzmatlary ýaly serweriňizde gurnalan beýleki ulgam hyzmatlary üçin täze diwar gorag düzgünlerini goşmak üçin aşakdaky firewall buýruklaryny mysal hökmünde ulanyň.

$ sudo ufw allow http  #allow http traffic
$ sudo ufw allow proto tcp from any to any port 25,443  # allow https and smtp traffic

Gorag diwarynyň ähli düzgünlerini sanamak üçin aşakdaky buýrugy işlediň.

$ sudo ufw status verbose

Ubuntu serwer wagtyny düzüň

Ubuntu serwer sagadyny we beýleki baglanyşykly wagt sazlamalaryny dolandyrmak ýa-da soramak üçin timedatectl buýrugyny hiç hili argumentsiz ýerine ýetiriň.

Serweriňiziň wagt guşaklygynyň sazlamalaryny üýtgetmek üçin ilki bilen ähli wagt zolaklaryny sanawlamak üçin sanaw-wagt sebiti argumenti bilen timedatectl buýrugyny ýerine ýetiriň we aşakdaky bölekde görkezilişi ýaly ulgamyňyzyň wagt guşagyny düzüň.

$ sudo timedatectl 
$ sudo timedatectl list-timezones 
$ sudo timedatectl set-timezone Europe/Vienna

Täze systemd-timesyncd systemd daemon müşderisi, serweriňize torda takyk wagt bermek we ýokary derejeli deň-duş serweri bilen sinhronlamak üçin Ubuntu-da ulanylyp bilner.

Systemd-iň bu täze aýratynlygyny ulanmak üçin systemd-timesyncd daemon konfigurasiýa faýlyny üýtgediň we aşakdaky faýl parçasynda görkezilişi ýaly iň ýakyn geografiki NTP serwerlerini NTP beýannama setirine goşuň:

$ sudo nano /etc/systemd/timesyncd.conf

Timesyncd.conf faýlyna aşakdaky konfigurasiýany goşuň:

[Time]
NTP=0.pool.ntp.org 1.pool.ntp.org
FallbackNTP=ntp.ubuntu.com

Geografiki taýdan iň ýakyn NTP serwerlerini goşmak üçin aşakdaky adrese NTP howuz taslamasynyň serwer sanawyna serediň: http://www.pool.ntp.org/en/

Ondan soň, üýtgeşmeleri görkezmek we aşakdaky buýruklary işledip, daemon ýagdaýyny barlamak üçin Systemd timesync daemonyny täzeden açyň. Täzeden başlandan soň, daemon täze ntp serwer deň-duşlary bilen wagt sinhronlap başlar.

$ sudo systemctl restart systemd-timesyncd.service 
$ sudo systemctl status systemd-timesyncd.service

Ubuntu-da gerekmejek hyzmatlary öçüriň we aýyryň

Ubuntu serweriňizde adaty ýagdaýda işleýän we işleýän TCP we UDP ulgam hyzmatlarynyň sanawyny almak üçin ss ýa-da netstat buýrugyny ýerine ýetiriň.

$ sudo netstat -tulpn
OR
$ sudo ss -tulpn

Ubuntu 16.10 goýberilişine seredip, deslapky DNS çözüjisi, netstat ýa-da ss buýruklarynyň çykyşyndan görnüşi ýaly systemd çözülen hyzmat tarapyndan dolandyrylýar.

Şeýle hem aşakdaky buýrugy işledip systemd çözülen hyzmat ýagdaýyny barlamaly.

$ sudo systemctl status systemd-resolved.service

Systemd bilen çözülen hyzmat ähli mümkinçilikli ulgam interfeýslerine baglydyr we 53 we 5355 TCP we UDP portlaryny diňleýär.

Önümçilik serwerinde ulgam çözülen keş keş DNS daemonyny işletmek, zyýanly hakerleriň goragsyz DNS serwerlerine garşy eden köp sanly DDOS hüjümleri sebäpli howply bolup biler.

Bu hyzmaty duruzmak we öçürmek üçin aşakdaky buýruklary ýerine ýetiriň.

$ sudo systemctl stop systemd-resolved
$ sudo systemctl disable systemd-resolved

Ss ýa-da netstat buýrugy bermek bilen hyzmatyň togtadylandygyny we ýapylandygyny barlaň. Ulgam çözülen diňleýiş portlary, 53 we 5355 TCP we UDP, aşakda görkezilişi ýaly netstat ýa-da ss buýruk çykyşynda görkezilmeli däldir.

Şeýle hem, systemd çözülen daemon hyzmatlarynyň hemmesini doly öçürmek we deslapky /etc/resolv.conf faýlyny dikeltmek üçin enjamy täzeden açmaly.

$ sudo ss -tulpn
$ sudo netstat -tulpn
$ sudo systemctl reboot

Serweriňizde işlemek üçin käbir islenmeýän ulgam hyzmatlaryny öçüren bolsaňyz, ulgamyňyzda lxc prosesi we snapd hyzmaty ýaly gurlan we işleýän beýleki hyzmatlar hem bar. Bu hyzmatlary ýokarky ýa-da pstree buýruklary arkaly aňsatlyk bilen tapyp bolýar.

$ sudo ps aux
$ sudo top
$ sudo pstree

Serweriňizde LXC konteýner wirtuallaşdyrmasyny ulanmak ýa-da Snap paket dolandyryjysynyň üsti bilen gaplanan programma üpjünçiligini gurnamak islemeýän bolsaňyz, aşakdaky buýruklary bermek bilen bu hyzmatlary düýbünden öçürmeli we aýyrmaly.

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

Bu hemmesi! Indi Ubuntu serweri, web serwerini, maglumat bazasynyň serwerini, faýl paýlaşma hyzmatyny ýa-da başga belli programmalary gurmak we düzmek ýaly ýörite ulgam hyzmatlary ýa-da amaly programmalar üçin zerur goşmaça programma üpjünçiligini gurmak üçin taýýar.