LFCA: Bii o ṣe le Mu Aabo Eto Linux dara - Apá 20


Bi gbogbo wa ṣe mọ, olumulo ti o ni gbongbo jẹ ọba ati awọn anfani ti ko ni ailopin lori eto Linux. Sibẹsibẹ awọn olumulo ti kii ṣe gbongbo ni opin si awọn iṣẹ ṣiṣe ipilẹ. Ni afikun, awọn olumulo sudo nikan ni a fun ni oye kan ti awọn anfaani gbongbo bi ẹni pe o yẹ nipasẹ olumulo gbongbo lati ṣe awọn iṣẹ ṣiṣe giga ni pato.

Awọn oran dide nigbati awọn olumulo deede ni iraye si iṣakoso si awọn orisun tabi ti pọ si gbongbo aimọ. Eyi jẹ eewu aabo to lagbara ti o le fa awọn irufin, awọn iyipada ti a ko fẹ, ati ninu ipo-ọran ti o buru julọ, fifọ eto naa. Ewu miiran ti o pọju ni nigbati awọn faili ko ni awọn igbanilaaye faili to ni aabo. Fun apẹẹrẹ, awọn faili bata pẹlu awọn igbanilaaye kikọ fun awọn olumulo agbaye le ṣe atunṣe ni rọọrun tabi ibajẹ abajade ninu eto fifọ.

[O tun le fẹran: Awọn imọran Wulo fun Data Ipamo ati Lainos]

Lakoko ti a le ṣe iṣe ti ara, nẹtiwọọki, ati aabo data, olumulo irira kan le yi awọn igbese aabo kọja ati lo iru awọn ọna aabo bẹ. O jẹ fun idi eyi pe aabo eto faili yẹ ki o mu ni isẹ. O pese Layer afikun ti aabo ni oju awọn ikọlu tabi awọn irokeke inu lati ọdọ awọn oṣiṣẹ irira ti ko ni lati ṣe igbega gbigbe ni titako awọn igbese aabo lati wọle si awọn faili.

Ninu aabo eto, a yoo ṣojumọ lori awọn aaye bọtini atẹle:

  • Awọn ẹtọ iraye si - Olumulo ati awọn igbanilaaye ẹgbẹ.
  • Fọwọsi awọn ilana igbaniwọle pẹlu modulu PAM.

Awọn ẹtọ Iwọle - Olumulo ati Iyapa Ẹgbẹ

O gbọdọ jasi ti gbọ pe ohun gbogbo ni Linux ni a ṣe akiyesi faili kan. Ati pe ti ko ba ṣe bẹ, o jẹ ilana kan. Gbogbo faili lori ẹrọ Linux jẹ ohun-ini nipasẹ olumulo ati olumulo ẹgbẹ kan. O tun mu awọn igbanilaaye faili fun awọn ẹka olumulo 3: Olumulo (u), Ẹgbẹ (g), ati Awọn miiran (o). Awọn igbanilaaye ni aṣoju ni kika, kọ ati ṣiṣẹ (rwx) fun ẹka olumulo kọọkan.

rwx        rwx	     rwx
User       Group     Others

Gẹgẹbi a ti rii tẹlẹ, ninu aṣẹ ls bi o ti han.

$ ls -l

Kan lati ṣe atunkọ, awọn igbanilaaye nigbagbogbo ni aṣoju nipasẹ awọn ohun kikọ mẹsan. Awọn ohun kikọ mẹta akọkọ jẹ aṣoju awọn ẹtọ wiwọle ti olumulo gangan ti o ni faili naa. Eto awọn ohun kikọ keji jẹ aṣoju awọn igbanilaaye ti oluwa ẹgbẹ ti faili naa. Lakotan, ṣeto ti o kẹhin fun awọn miiran tabi awọn olumulo agbaye. Awọn ohun kikọ wọnyi wa ni igbagbogbo ninu kika, kọ, ṣiṣẹ aṣẹ (rwx).

Lẹhin awọn igbanilaaye, a ni olumulo ati awọn ohun-ini ẹgbẹ, atẹle pẹlu faili tabi iwọn itọsọna, ọjọ iyipada, ati nikẹhin orukọ faili naa.

Yiyipada Awọn igbanilaaye Faili/Itọsọna ati Awọn ohun-ini

Awọn igbanilaaye olumulo ti awọn faili ati awọn ilana le ṣe atunṣe bi o ti yẹ ni ibamu. Ofin ti atanpako ni lati lo opo aabo aabo ti o kere julọ. Ni kukuru, rii daju pe awọn olumulo gba awọn ẹtọ iraye to kere tabi awọn igbanilaaye ti o nilo lati ṣe iṣẹ naa.

Ilana ti awọn anfani ti o kere ju ni ihamọ awọn olumulo si awọn ipa kan nikan ati nipa ṣiṣe bẹ, dinku eewu ti awọn olukọ wọle si ati yiyipada data to ṣe pataki nipa fifin akọọlẹ olumulo kekere kekere kan. O tun dinku oju ikọlu & ṣe idinwo ikede ete malware ninu iṣẹlẹ ti oluṣe ikọlu gba iṣakoso ti eto rẹ.

Nitorinaa, ti olumulo kan ba nilo lati wo awọn akoonu ti faili tabi itọsọna nikan, ko yẹ ki wọn fun wọn ni ṣiṣe tabi kọ awọn igbanilaaye. Ni ipele ipilẹ gan, nikan fun awọn igbanilaaye ti o kere ju ati awọn ohun-ini ti olumulo nilo lati ṣe awọn iṣẹ ṣiṣe. A ti koju bi o ṣe le ṣe atunṣe awọn igbanilaaye olumulo ati awọn ohun-ini lori awọn faili/ilana ilana nipa lilo chmod ati awọn aṣẹ gige ni ipilẹ awọn ofin Linux akọkọ.

Fun olutọju eto lati ni akoko rọrun lati ṣakoso awọn igbanilaaye, awọn igbanilaaye pataki tabi awọn ẹtọ iraye si ni a le fun ni gbogbo awọn ilana. Ọkan ninu awọn igbanilaaye pataki ti o le lo lati ni ihamọ piparẹ ati iyipada ti faili kan tabi itọsọna ni bit alalepo.

Ninu oju iṣẹlẹ nibiti itọsọna gbogbogbo le ti wọle nipasẹ gbogbo awọn olumulo ninu eto tabi nẹtiwọọki, eewu ti o ni agbara wa ti diẹ ninu awọn olumulo le paarẹ tabi yipada awọn faili inu itọsọna naa. Eyi ko fẹran ti o ba fẹ ṣetọju iduroṣinṣin ti awọn akoonu itọsọna naa. Ati pe eyi ni ibiti nkan alalepo ti nwọle.

Bọtini alalepo jẹ igbanilaaye faili pataki ti o ṣeto lori faili kan tabi gbogbo itọsọna. O funni ni oluwa ti faili/itọsọna yẹn nikan ni igbanilaaye lati paarẹ tabi ṣe awọn ayipada si faili naa tabi awọn akoonu itọsọna naa. Ko si olumulo miiran ti o le paarẹ tabi yipada faili/itọsọna. O ni iye aami ti t ati iye nọmba kan ti 1000.

Lati tan-an bit alalepo lori itọsọna kan, lo aṣẹ chmod gẹgẹbi atẹle:

$ chmod +t directory_name

Ninu apẹẹrẹ ni isalẹ, a ti lo bit alalepo si itọsọna ti a pe ni idanwo. Ninu ọran itọsọna kan, gbogbo awọn akoonu yoo jogun awọn igbanilaaye bit dile. O le rii daju awọn igbanilaaye bit ti alalepo nipa lilo pipaṣẹ ls -ld. Rii daju lati ṣe akiyesi aami t ni ipari awọn igbanilaaye faili naa.

$ ls -ld test

Ti olumulo miiran ba gbiyanju lati pa itọsọna naa tabi yipada faili inu itọsọna naa, wọn ki wọn pẹlu aṣiṣe Ti a gba Gbigbanilaaye.

Ati pe eyi ni ori ti igbanilaaye faili bit.

SUID (Ṣeto ID olumulo) jẹ igbanilaaye faili pataki miiran ti o fun laaye olumulo deede miiran lati ṣiṣe faili pẹlu awọn igbanilaaye faili ti oluwa faili. Nigbagbogbo a tọka nipasẹ iye aami aami s ni ipin olumulo ti awọn igbanilaaye faili dipo x eyiti o duro fun awọn igbanilaaye ṣiṣe. SUID ni iye nomba ti 4000.

SGID, (Ṣeto ID ẹgbẹ) ngbanilaaye olumulo deede lati jogun awọn igbanilaaye ẹgbẹ ti oluwa ẹgbẹ faili naa. Dipo x fun ṣiṣe awọn igbanilaaye, iwọ yoo wo s ni apakan ẹgbẹ ti awọn igbanilaaye faili naa. SGID ni iye nomba kan ti 2000.

Sibẹsibẹ irọrun ti wọn tan lati jẹ, awọn igbanilaaye SUID ati SGID ni nkan ṣe pẹlu awọn eewu aabo ati pe o yẹ ki a yee ni gbogbo awọn idiyele. Eyi jẹ nitori wọn funni awọn anfani pataki si awọn olumulo deede. Ti apanirun ti o ba han bi olumulo deede wa kọja faili ipaniyan ti o jẹ ti olumulo gbongbo pẹlu ohun elo SUID ti a ṣeto lori rẹ, wọn le lo loophole naa ki o lo eto naa.

Lati wa gbogbo awọn faili pẹlu bit bit SUID ti a ṣeto ni Linux ṣiṣe aṣẹ wiwa bi olumulo gbongbo.

$ find / -perm -4000 type -f

Fun awọn ilana ṣiṣe:

$ find / -perm -4000 type -d

Lati wa gbogbo awọn faili pẹlu ṣiṣeto bit bit SGID:

$ find / -perm -2000 type -f

Fun awọn ilana ṣiṣe:

$ find / -perm -2000 type -d

Lati yọ SUID bit lori faili kan, ṣiṣe aṣẹ chmod bi o ti han:

$ chmod u-s /path/to/file

Lati yọkuro SGID bit lori faili kan ṣe pipaṣẹ naa:

$ chmod g-s filename /path/to/file

Kii ṣe loorekoore fun awọn olumulo lati ṣeto awọn ọrọ igbaniwọle alailagbara. Nọmba ti o dara ṣeto kukuru, pẹtẹlẹ, ati irọrun awọn ọrọigbaniwọle ti o gboju lati yago fun gbagbe wọn lakoko iwọle. Lakoko ti o rọrun, awọn ọrọ igbaniwọle alailagbara le ni rọọrun fọ nipa lilo awọn iwe afọwọkọ ikọlu agbara.

Modulu PAM (Module Ijeri Pipọsi) jẹ module ti o fun laaye awọn alabojuto eto lati mu lagabara awọn ilana igbaniwọle lori awọn ọna ṣiṣe Linux. Lati ṣe eyi, o nilo modulu pam_pwquality ti a pese nipasẹ ile-ikawe libpam_pwquality. Modulu pam_pwquality n ṣayẹwo agbara ti ọrọ igbaniwọle kan lodi si ṣeto awọn ofin & iwe itumọ eto kan ati awọn ifọkasi awọn aṣayan ọrọigbaniwọle alailagbara.

Lati fi sori ẹrọ modulu pam_pwquality lori Ubuntu 18.04 ati awọn ẹya nigbamii, ṣiṣe:

$ sudo apt install libpam_pwquality

Fun RHEL/CentOS 8, ṣiṣe aṣẹ naa:

$ sudo dnf install libpwquality

Faili iṣeto ni a rii ni ipo atẹle:

  • Lori Awọn ọna ẹrọ Debian - /etc/pam.d/common-password
  • Lori Awọn ọna RedHat - /etc/pam.d/system-auth

Ṣaaju ki a to bẹrẹ ṣiṣatunṣe faili iṣeto PAM, jẹ ki a kọkọ gbero awọn oye ikojọpọ nipa awọn idari ti ogbo ọrọ igbaniwọle.

Awọn wọnyi ni a le rii ni faili /etc/login.defs.

Faili naa ni awọn idari ọrọ igbaniwọle bọtini atẹle:

  • PASS_MAX_DAYS: Nọmba ti o pọ julọ ti awọn ọjọ ọrọ igbaniwọle le ṣee lo.
  • PASS_MIN_DAYS: Nọmba to kere julọ. ti awọn ọjọ ti a gba laaye laarin awọn ayipada ọrọ igbaniwọle.
  • PASS_WARN_AGE: Nọmba ti ìkìlọ ọjọ ti a fun ṣaaju ki ọrọ igbaniwọle kan to pari.

Awọn iye aiyipada ti wa ni itọkasi ni isalẹ.

Ẹya PASS_MAX_DAYS ṣe idiwọn nọmba awọn ọjọ ti olumulo le lo ọrọ igbaniwọle wọn. Nigbati a ba de iye yii tabi ọrọ igbaniwọle dopin, o fi agbara mu olumulo lati yi ọrọ igbaniwọle wọn pada lati wọle si eto naa. Nipa aiyipada, a ṣeto iye yii si 99999, eyiti o tumọ si ọdun 273. Eyi ko ni oye pupọ bi aabo ṣe jẹ pe olumulo le tẹsiwaju lilo ọrọ igbaniwọle wọn fun gbogbo igbesi aye wọn.

O le ṣeto eyi si iye ti o nilari, sọ awọn ọjọ 30 bi a ti han.

PASS_MAX_DAYS  30

Lẹhin ọjọ 30 ti pari, olumulo yoo fi agbara mu lati yi ọrọ igbaniwọle wọn pada si oriṣiriṣi.

Ẹya PASS_MIN_DAYS ṣalaye iye akoko to kere julọ ti awọn olumulo le lo ọrọ igbaniwọle wọn ṣaaju yiyipada. Kini eyi tumọ si? Ti, fun apẹẹrẹ, a ṣeto iye yii si awọn ọjọ 15, olumulo ko ni ni anfani lati yi ọrọ igbaniwọle wọn pada lẹẹkansi ṣaaju ọjọ 15 ti pari.

PASS_MAX_DAYS  15

Ẹya PASS_WARN_AGE ṣe afihan nọmba awọn ọjọ ti olumulo kan yoo gba ikilọ nipa ipari ipari ọrọ igbaniwọle wọn ṣaaju ki o to pari. Fun apẹẹrẹ, o le ṣeto eyi si awọn ọjọ 7 bi o ti han.

PASS_MAX_DAYS  7

AKIYESI: Awọn idari ọrọ igbaniwọle wọnyi ko ṣiṣẹ pẹlu awọn iroyin ti o wa tẹlẹ. Wọn lo si awọn iroyin tuntun ti o ṣẹda lẹhin ti o ṣalaye awọn ofin.

Ṣaaju ki o to satunkọ faili /etc/pam.d/common-password, ṣẹda ẹda afẹyinti. Ni apẹẹrẹ yii, a ti ṣẹda faili ẹda daakọ-password.bak ti o wọpọ.

$ sudo cp /etc/pam.d/common-password /etc/pam.d/common-password.bak

Lẹhinna ṣii faili naa.

$ sudo vim /etc/pam.d/common-password 

Wa oun ila ti o han ni isalẹ.

password        requisite          pam_pwquality.so retry=3

Aṣayan igbidanwo tun ṣeto nọmba ti o pọ julọ ti awọn igba ti o nilo lati tẹ ọrọ igbaniwọle ọtun ṣaaju ki o to ni aṣiṣe kan. Nipa aiyipada, eyi ti ṣeto si 3. Eyi jẹ aṣayan kan kan ati pe a yoo ṣafikun awọn aṣayan pupọ.

Ṣafikun awọn abuda wọnyi si laini:

minlen=10 difok=3 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 reject_username 

Jẹ ki a ṣe ẹran jade awọn abuda wọnyi.

    min = = 10: Ṣeto iwọn itẹwọgba to kere julọ fun ọrọ igbaniwọle. Ni idi eyi, awọn ohun kikọ 10.
  • difok = 3: Eyi ni nọmba to pọ julọ ti awọn kikọ ti o wa ninu ọrọ igbaniwọle iṣaaju.
  • lcredit = -1: Eyi ni nọmba to kere julọ ti awọn ohun kikọ kekere ti o yẹ ki o wa ninu ọrọ igbaniwọle naa.
  • ucredit = -1: Eyi ni nọmba ti o pọ julọ ti awọn ohun kikọ kekere ti o yẹ ki o wa ninu ọrọ igbaniwọle.
  • dcredit = -1: Nọmba to kere julọ ti awọn ohun kikọ nọmba ti o yẹ ki o ṣalaye ninu ọrọ igbaniwọle.
  • ocredit = -1: Nọmba to kere julọ ti awọn ohun kikọ pataki fun apẹẹrẹ @, #, & pe o yẹ ki o ṣalaye ninu ọrọ igbaniwọle.
  • reject_username: Aṣayan yii nfa ijusile ti ọrọigbaniwọle ti o ba jẹ pe ọrọ igbaniwọle ni orukọ olumulo boya ni ọna kika tabi yiyipada.

Ti o ba gbiyanju ṣiṣẹda olumulo tuntun kan ti o kuna fun awọn ilana igbaniwọle ọrọigbaniwọle, iwọ yoo ṣafọ sinu iru awọn aṣiṣe bi a ti han.

Eyi pari ọrọ lori aabo eto ati awọn ipilẹ aabo ni apapọ. Ninu gbogbo ipin, a ti tan imọlẹ si awọn igbese aabo ipilẹ ti o le ṣe lati daabo bo eto Linux rẹ lati ọdọ awọn olumulo irira bii awọn olosa tabi awọn oṣiṣẹ ti o ni ibinu.