Eto Olupin Ibẹrẹ pẹlu Ubuntu 20.04/18.04 ati 16.04


Ilana yii yoo ṣe itọsọna fun ọ lori awọn igbesẹ ipilẹ akọkọ ti o nilo lati tunto lori olupin Ubuntu tuntun ti a fi sii lati mu aabo ati igbẹkẹle wa fun olupin rẹ.

Awọn atunto ti a ṣalaye ninu akọle yii fẹrẹ jẹ bakanna fun gbogbo awọn ọna ṣiṣe olupin Ubuntu, nipa ti pẹpẹ OS pẹpẹ, boya a ti fi Ubuntu sori olupin irin-igboro kan, ninu ẹrọ iṣoogun ikọkọ tabi ẹrọ foju kan ti a jade ni gbangba ni gbangba VPS awọsanma.

  • Fifi sori ẹrọ olupin Ubuntu 20.04
  • Fifi sori ẹrọ olupin Ubuntu 18.04
  • Fifi sori ẹrọ olupin Ubuntu 16.04

Ṣe imudojuiwọn ati Igbesoke Ubuntu System

Igbesẹ akọkọ ti o nilo lati ṣe abojuto ni ọran ti fifi sori tuntun ti olupin Ubuntu tabi ṣiṣiṣẹ Ubuntu VPS tuntun ni lati rii daju pe eto ati gbogbo awọn paati eto, gẹgẹbi ekuro, awọn abulẹ aabo.

Lati ṣe imudojuiwọn olupin Ubuntu, lati wọle si console olupin pẹlu akọọlẹ kan pẹlu awọn anfani root tabi taara bi gbongbo ati ṣiṣe awọn ofin isalẹ lati le ṣe imudojuiwọn ati ilana igbesoke.

$ sudo apt update 

Lẹhin ṣiṣe aṣẹ imudojuiwọn, iwọ yoo wo nọmba awọn idii ti o wa fun ilana igbesoke ati aṣẹ ti a lo fun atokọ awọn iṣagbega awọn iṣagbega.

$ sudo apt list --upgradable

Lẹhin ti o ti gbimọran akojọ awọn idii ti o wa fun igbesoke, gbekalẹ aṣẹ ni isalẹ lati bẹrẹ ilana igbesoke eto.

$ sudo apt upgrade

Lati le yọ gbogbo awọn idii debii ti agbegbe ti a gbasilẹ kuro ati gbogbo awọn ibi ipamọ-apt-gba miiran, ṣiṣẹ pipaṣẹ isalẹ.

$ sudo apt autoremove
$ sudo apt clean

Ṣẹda Iwe apamọ tuntun ni Ubuntu

Nipa aiyipada, bi iwọn aabo, akọọlẹ gbongbo ti ni alaabo patapata ni Ubuntu. Lati ṣẹda iroyin tuntun lori eto naa, wọle si eto pẹlu olumulo akọọlẹ pẹlu awọn anfani root ati ṣẹda iroyin tuntun pẹlu aṣẹ isalẹ.

A yoo fun ni akọọlẹ tuntun yii pẹlu awọn anfani agbara root nipasẹ aṣẹ sudo ati pe yoo lo lati ṣe awọn iṣẹ ṣiṣe iṣakoso ninu eto naa. Rii daju pe o ṣeto ọrọ igbaniwọle to lagbara lati daabobo akọọlẹ yii. Tẹle itọsọna adduser lati ṣeto awọn alaye olumulo ati ọrọ igbaniwọle.

$ sudo adduser ubuntu_user

Ti ao ba pin akọọlẹ yii si abojuto eto miiran, o le fi ipa mu olumulo lati yi ọrọ igbaniwọle rẹ pada ni akọọlẹ akọkọ ninu igbiyanju nipa ipinfunni aṣẹ atẹle.

$ sudo chage -d0 ubuntu_user

Fun bayi, olumulo ti a ṣafikun titun ko le ṣe awọn iṣẹ ṣiṣe iṣakoso nipasẹ ohun elo sudo. Lati fun iroyin olumulo tuntun yii pẹlu awọn anfaani iṣakoso o yẹ ki o ṣafikun olumulo si ẹgbẹ eto\"sudo" nipa gbigbejade aṣẹ isalẹ.

$ sudo usermod -a -G sudo ubuntu_user

Nipa aiyipada, gbogbo awọn olumulo ti o jẹ ti ẹgbẹ “sudo” ni a gba laaye lati ṣe awọn ofin pẹlu awọn anfani root nipasẹ iwulo sudo. A gbọdọ lo aṣẹ Sudo ṣaaju kikọ aṣẹ ti o nilo fun ipaniyan, bi a ṣe han ninu apẹẹrẹ isalẹ.

$ sudo apt install package_name

Idanwo ti olumulo tuntun ba ni awọn anfaani ti a fun ni gbongbo, nipa titẹle si eto naa ati ṣiṣe aṣẹ imudojuiwọn ti o ṣaju tẹlẹ pẹlu sudo.

$ su - ubuntu_user
$ sudo apt update

Ṣe atunto Orukọ Ile-iṣẹ ni Ubuntu

Nigbagbogbo, orukọ olupin ẹrọ ni a ṣeto-lakoko ilana fifi sori ẹrọ eto tabi nigbati a ṣẹda VPS ninu awọsanma. Sibẹsibẹ, o yẹ ki o yi orukọ ẹrọ rẹ pada lati ṣe afihan ibi ti olupin rẹ dara julọ tabi lati ṣapejuwe idi idi rẹ daradara.

Ni ile-iṣẹ nla kan, a darukọ awọn ẹrọ lẹhin awọn ilana sisọ orukọ idiju lati le ṣe idanimọ ẹrọ naa ni rọọrun ninu awọn agbeko datacenter. Fun apeere, ti ẹrọ Ubuntu rẹ yoo ṣiṣẹ olupin meeli kan, orukọ ẹrọ naa yẹ ki o ṣe afihan otitọ yii ati pe o le ṣeto orukọ olupin ẹrọ bi mx01.mydomain.lan, fun apẹẹrẹ.

Lati fihan awọn alaye nipa orukọ olupin ẹrọ rẹ ṣiṣe aṣẹ wọnyi.

$ hostnamectl

Lati le yi orukọ ẹrọ rẹ pada, gbejade aṣẹ hostnamectl aṣẹ pẹlu orukọ tuntun ti iwọ yoo tunto fun ẹrọ rẹ, bi a ti ṣe apejuwe ninu abala isalẹ.

$ sudo hostnamectl set-hostname tecmint

Daju orukọ titun ti eto rẹ pẹlu ọkan ninu awọn ofin isalẹ.

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

Ṣeto SSH pẹlu Ijeri Bọtini Gbangba ni Ubuntu

Lati mu alefa aabo eto ti olupin Ubuntu pọ si, o yẹ ki o ṣeto idanimọ bọtini gbogbogbo SSH fun akọọlẹ agbegbe kan. Lati ṣe agbekalẹ Bata Bọtini SSH, bọtini ilu ati ti ikọkọ, pẹlu sisọ ipari bọtini kan, bii awọn idinku 2048, ṣe pipaṣẹ wọnyi ni console olupin rẹ.

Rii daju pe o wọle si eto pẹlu olumulo ti o n ṣeto bọtini SSH.

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

Lakoko ti o ti ṣẹda bọtini, iwọ yoo ti ṣetan lati ṣafikun ọrọ igbaniwọle lati le ni aabo bọtini naa. O le tẹ ọrọ igbaniwọle to lagbara tabi yan lati lọ kuro ni òfo ti o ba fẹ ṣe adaṣe awọn iṣẹ-ṣiṣe nipasẹ olupin SSH.

Lẹhin ti o ti ṣẹda bọtini SSH, o le daakọ kọkọrọ ti gbogbo eniyan si olupin latọna jijin nipasẹ ṣiṣe pipaṣẹ isalẹ. Lati fi bọtini ti gbogbo eniyan sori olupin SSH latọna jijin iwọ yoo nilo akọọlẹ olumulo latọna jijin pẹlu awọn igbanilaaye to dara ati awọn iwe eri lati wọle si olupin latọna jijin.

$ ssh-copy-id [email _server

O yẹ ki o ni anfani lati buwolu wọle laifọwọyi nipasẹ SSH si olupin latọna jijin nipa lilo ọna idanimọ bọtini gbangba. Iwọ kii yoo nilo lati ṣafikun ọrọ igbaniwọle olumulo latọna jijin lakoko lilo idanimọ bọtini gbangba ti SSH.

Lẹhin ti o ti wọle si olupin latọna jijin, o le bẹrẹ lati ṣe awọn ofin, gẹgẹ bi aṣẹ w lati ṣe atokọ ssh latọna jijin awọn olumulo, bi a ṣe han ninu sikirinifoto ni isalẹ.

Iru ijade ni itunu lati pa igba SSH latọna jijin.

$ ssh [email _server
$ w
$ exit

Lati wo akoonu ti bọtini SSH ti gbogbo eniyan rẹ lati fi ọwọ fi bọtini sii si olupin SSH latọna jijin, fun ni aṣẹ atẹle.

$ cat ~/.ssh/id_rsa.pub

Ni aabo olupin SSH ni Ubuntu

Lati le ni aabo daemon SSH o yẹ ki o yi nọmba ibudo SSH aiyipada pada lati 22 si ibudo ID, ti o ga ju 1024 lọ, ati kọ wiwọle SSH latọna jijin si akọọlẹ gbongbo nipasẹ ọrọigbaniwọle tabi bọtini, nipa ṣiṣi faili iṣeto akọkọ olupin SSH ki o ṣe atẹle awọn ayipada.

$ sudo vi /etc/ssh/sshd_config

Ni akọkọ, wa laini asọye # Port22 ki o ṣafikun laini tuntun kan labẹ (rọpo nọmba ibudo gbigbọ gẹgẹbi):

Port 2345

Maṣe pa faili naa, yi lọ si isalẹ ki o wa laini #PermitRootLogin bẹẹni, ṣoki laini naa nipa yiyọ ami # (hashtag) kuro ni ibẹrẹ ila naa ki o ṣe atunṣe laini naa lati dabi ẹni ti o han ni yiyan ni isalẹ.

PermitRootLogin no

Lẹhinna, tun bẹrẹ olupin SSH lati lo awọn eto tuntun ati idanwo iṣeto nipasẹ igbiyanju lati wọle lati ẹrọ latọna jijin si olupin yii pẹlu akọọlẹ gbongbo nipasẹ nọmba ibudo tuntun. Wiwọle si akọọlẹ gbongbo nipasẹ SSH yẹ ki o ni ihamọ.

$ sudo systemctl restart sshd

Pẹlupẹlu, ṣiṣe aṣẹ grep lati le fihan nọmba ibudo tẹtisi tuntun fun olupin SSH.

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

Awọn ipo wa nibiti o le fẹ lati ge asopọ aifọwọyi gbogbo awọn isopọ SSH latọna jijin ti a ṣeto sinu olupin rẹ lẹhin akoko aiṣiṣẹ.

Lati le mu ẹya yii ṣiṣẹ, ṣiṣẹ pipaṣẹ ti o wa ni isalẹ, eyiti o ṣe afikun oniyipada fifọ TMOUT si akọọlẹ rẹ .bashrc faili ifipamọ ati ipa gbogbo asopọ SSH ti a ṣe pẹlu orukọ olumulo lati ge asopọ tabi fi silẹ lẹhin iṣẹju 5 ti aiṣiṣẹ.

$ echo 'TMOUT=300' >> .bashrc

Ṣiṣe aṣẹ iru lati ṣayẹwo boya a ti fi kun oniyipada ni deede ni ipari faili .bashrc. Gbogbo awọn isopọ SSH ti o tẹle yoo wa ni pipade laifọwọyi lẹhin iṣẹju 5 ti aiṣe lati isinsinyi lọ.

$ tail .bashrc

Ninu sikirinifoto ti o wa ni isalẹ, igba SSH latọna jijin lati ẹrọ drupal si olupin Ubuntu nipasẹ akọọlẹ ubuntu_user ti wa ni akoko ati aami-aifọwọyi lẹhin iṣẹju 5.

Ṣe atunto Firewall Ubuntu UFW

Gbogbo olupin nilo ogiri ogiri ti a tunto daradara lati le ni aabo eto ni ipele nẹtiwọọki. Olupin Ubuntu nlo ohun elo UFW lati ṣakoso awọn ofin iptables lori olupin naa.

Ṣayẹwo ipo ohun elo ogiriina UFW ni Ubuntu nipa fifun awọn ofin isalẹ.

$ sudo systemctl status ufw
$ sudo ufw status

Nigbagbogbo, daemon ogiriina UFW wa ni oke ati ṣiṣe ni olupin Ubuntu, ṣugbọn a ko lo awọn ofin nipasẹ aiyipada. Ṣaaju ki o to mu ilana ogiriina UFW ṣiṣẹ ninu eto rẹ, akọkọ o yẹ ki o ṣafikun ofin tuntun lati gba laaye ijabọ SSH lati kọja nipasẹ ogiriina nipasẹ ibudo SSH ti o yipada. Ofin le ṣafikun nipasẹ ṣiṣe pipaṣẹ isalẹ.

$ sudo ufw allow 2345/tcp

Lẹhin ti o ti gba laaye ijabọ SSH, o le muu ṣiṣẹ ati ṣayẹwo ohun elo ogiriina UFW pẹlu awọn ofin wọnyi.

$ sudo ufw enable
$ sudo ufw status

Lati ṣafikun awọn ofin ogiriina titun fun awọn iṣẹ nẹtiwọọki miiran ti a fi sori ẹrọ ni atẹle lori olupin rẹ, gẹgẹ bi olupin HTTP, olupin meeli tabi awọn iṣẹ nẹtiwọọki miiran, lo awọn apẹẹrẹ ogiriina isalẹ ni apẹẹrẹ.

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

Lati ṣe atokọ gbogbo awọn ofin ogiriina ṣiṣe aṣẹ isalẹ.

$ sudo ufw status verbose

Ṣeto Akoko Server Ubuntu

Lati ṣakoso tabi beere aago olupin Ubuntu ati awọn eto akoko miiran ti o ni ibatan, ṣe pipaṣẹ timedatectl laisi ariyanjiyan.

Lati le yi awọn eto agbegbe aago olupin rẹ pada, kọkọ ṣiṣẹ pipaṣẹ timedatectl pẹlu ariyanjiyan akoko-akoko lati ṣe atokọ gbogbo awọn agbegbe agbegbe ti o wa ati, lẹhinna, ṣeto agbegbe aago ti eto rẹ bi o ṣe han ninu iyasọtọ ni isalẹ.

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

A le lo alabara tuntun systemd-timesyncd systemd daemon ni Ubuntu lati pese akoko deede fun olupin rẹ kọja nẹtiwọọki ati muuṣiṣẹpọ akoko pẹlu olupin ẹgbẹ ẹlẹgbẹ akoko.

Lati lo ẹya tuntun yii ti Systemd, ṣe atunṣe faili iṣeto-systemd-timesyncd daemon ati ṣafikun awọn olupin NTP ala-ilẹ ti o sunmọ julọ si laini alaye NTP, bi o ṣe han ninu iyọkuro faili isalẹ:

$ sudo nano /etc/systemd/timesyncd.conf

Ṣafikun iṣeto ni atẹle si faili timesyncd.conf:

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

Lati ṣafikun awọn olupin NTP ti agbegbe rẹ nitosi, kan si atokọ olupin NTP adagun-iṣẹ olupin ni adirẹsi atẹle: http://www.pool.ntp.org/en/

Lẹhinna, tun bẹrẹ daemon Systemd timesync lati ṣe afihan awọn ayipada ati ṣayẹwo ipo daemon nipasẹ ṣiṣe awọn ofin isalẹ. Lẹhin ti tun bẹrẹ, daemon yoo bẹrẹ lati muu akoko ṣiṣẹpọ pẹlu ẹlẹgbẹ olupin ntp tuntun.

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

Mu ati Yọ Awọn iṣẹ Ti a ko Ni Ni Ubuntu

Lati le gba atokọ ti gbogbo awọn iṣẹ nẹtiwọọki TCP ati UDP ti o n ṣiṣẹ ni aiyipada ninu olupin Ubuntu rẹ, ṣe pipaṣẹ ss tabi netstat.

$ sudo netstat -tulpn
OR
$ sudo ss -tulpn

Ti nwoju pẹlu itusilẹ Ubuntu 16.10, ipinnu DNS aiyipada ti wa ni iṣakoso bayi nipasẹ iṣẹ ti a yanju eto, bi a ti fi han nipasẹ iṣẹjade ti netstat tabi awọn ofin ss.

O yẹ ki o tun ṣayẹwo ipo iṣẹ ti o yanju eto nipa ṣiṣe pipaṣẹ atẹle.

$ sudo systemctl status systemd-resolved.service

Iṣẹ ṣiṣe ipinnu eto sopọ mọ gbogbo awọn atọkun nẹtiwọọki ti o ṣiṣẹ ati tẹtisi lori awọn ibudo 53 ati 5355 TCP ati UDP.

Ṣiṣẹ cemina eto-ipinnu caching DNS daemon lori olupin iṣelọpọ le jẹ eewu nitori nọmba lọpọlọpọ ti awọn ikọlu DDOS ti a ṣe nipasẹ awọn olosa irira lodi si awọn olupin DNS ti ko ni aabo.

Lati le da duro ati mu iṣẹ yii ṣiṣẹ, ṣiṣẹ awọn ofin wọnyi.

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

Daju ti iṣẹ naa ba ti duro ati alaabo nipasẹ ipinfunni s tabi aṣẹ netstat. Awọn ibudo tẹtisi ti o yanju ti eto, 53 ati 5355 TCP ati UDP, ko yẹ ki o ṣe atokọ ni netstat tabi ṣiṣe pipaṣẹ ss, bi a ṣe ṣalaye ninu isalẹ.

O yẹ ki o tun atunbere ẹrọ naa lati mu gbogbo awọn iṣẹ daemon ti o yanju eto pada patapata ati mu faili aiyipada /etc/resolv.conf pada.

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

Botilẹjẹpe, o ti pa diẹ ninu awọn iṣẹ netiwọki ti aifẹ lati ṣiṣẹ ninu olupin rẹ, awọn iṣẹ miiran tun wa ti o fi sii ati ṣiṣe ni eto rẹ, gẹgẹbi ilana lxc ati iṣẹ snapd. Awọn iṣẹ wọnyi le ṣee wa-ri ni rọọrun nipasẹ oke tabi awọn ofin pstree.

$ sudo ps aux
$ sudo top
$ sudo pstree

Ni ọran ti iwọ kii yoo lo ipa agbara eiyan LXC ninu olupin rẹ tabi bẹrẹ fifi sori ẹrọ sọfitiwia nipasẹ oluṣakoso package Snap, o yẹ ki o mu patapata ki o yọ awọn iṣẹ wọnyi kuro, nipa fifun awọn ofin isalẹ.

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

Gbogbo ẹ niyẹn! Nisisiyi, olupin Ubuntu ti ṣetan fun fifi sori ẹrọ sọfitiwia afikun ti o nilo fun awọn iṣẹ nẹtiwọọki aṣa tabi awọn ohun elo, gẹgẹbi fifi sori ẹrọ ati tunto olupin ayelujara kan, olupin data data, iṣẹ ipin faili kan tabi awọn ohun elo miiran pato.