LFCA: Otu esi emeziwanye nchekwa sistemụ Linux - Nkebi 20


Dị ka anyị niile maara, onye ọrụ mgbọrọgwụ bụ eze ma jiri ohere na-akparaghị ókè na sistemụ Linux. Agbanyeghị, ndị ọrụ na-abụghị mgbọrọgwụ nwere oke na ọrụ ndị bụ isi. Na mgbakwunye, a na-enye ndị ọrụ sudo naanị ụfọdụ ogo mgbọrọgwụ dị ka onye ọrụ mgbọrọgwụ chere na ọ dabara adaba iji rụọ ọrụ dị elu.

Okwu na-ebilite mgbe ndị ọrụ oge niile na-enweta akụrụngwa na-achịkwaghị achịkwa ma ọ bụ na-abawanye ka mgbọrọgwụ na-amaghị ama. Nke a bụ nnukwu ihe ize ndụ nchekwa nke nwere ike ibute mmebi, mgbanwe ndị na-achọghị, na n'ọnọdụ kachasị njọ, ọdịda nke usoro ahụ. Ihe egwu ọzọ nwere ike ime bụ mgbe faịlụ nwere ikike faịlụ echedoro obere. Dịka ọmụmaatụ, faịlụ buut nwere ikike ide maka ndị ọrụ ụwa niile nwere ike gbanwee ma ọ bụ mebie ngwa ngwa na-ebute sistemu agbajiri.

[Ị nwekwara ike ịmasị: Ndụmọdụ bara uru maka ịchekwa data na Linux]

Ọ bụ ezie na anyị nwere ike mejuputa nchekwa anụ ahụ, netwọkụ na data, onye ọrụ obi ọjọọ nwere ike ịgafe usoro nchekwa wee jiri ohere nchekwa dị otú ahụ mee ihe. Ọ bụ n'ihi nke a ka ekwesịrị iji nchekwa sistemu faịlụ were kpọrọ ihe. Ọ na-enye ihe nchebe ọzọ n'ihu ọgụ ma ọ bụ iyi egwu sitere n'aka ndị ọrụ obi ọjọọ bụ ndị na-ekwesịghị ime ihe dị arọ na-agafe usoro nchebe iji nweta faịlụ.

Na nchekwa sistemụ, anyị ga-etinye uche na isi ihe ndị a:

  • Ikike nweta - ikike onye ọrụ na otu.
  • Manye iwu okwuntughe site na iji modul PAM.

Ikike nnweta – Onye ọrụ na nkewa otu

Ọ ga-abụrịrị na ị nụla na a na-ewere ihe niile dị na Linux ka faịlụ. Ma ọ bụrụ na ọ bụghị, ọ bụ usoro. Faịlụ ọ bụla dị na sistemụ Linux bụ nke onye ọrụ na onye ọrụ otu. Ọ na-ebukwa ikikere faịlụ maka ụdị ọrụ atọ: Onye ọrụ (u), Otu (g), na ndị ọzọ (o). A na-anọchi anya ikike na ịgụ, dee na mebie ( rwx ) maka otu onye ọrụ ọ bụla.

rwx        rwx	     rwx
User       Group     Others

Dị ka a hụrụ na mbụ, na iwu ls dị ka egosiri.

$ ls -l

Naanị iji tụgharịa, ikike a na-ejikarị mkpụrụedemede itoolu na-anọchi anya ya. Ederede atọ mbụ na-anọchi anya ikike ịnweta onye ọrụ nwere faịlụ ahụ n'ezie. Ụdị mkpụrụedemede nke abụọ na-anọchi anya ikike nke onye nwe otu faịlụ ahụ. N'ikpeazụ, ikpeazụ set maka ndị ọzọ ma ọ bụ zuru ụwa ọnụ ọrụ. Edemede ndị a na-adị mgbe niile n'usoro ịgụ, dee, mebie (rwx).

Mgbe ikike ahụ gasịrị, anyị nwere nwe onye ọrụ na otu, na-esote faịlụ ma ọ bụ nha ndekọ aha, ụbọchị mgbanwe, na n'ikpeazụ aha faịlụ ahụ.

Ịgbanwe ikikere faịlụ/akwụkwọ ndekọ aha na nwe

Enwere ike gbanwee ikike onye ọrụ nke faịlụ na akwụkwọ ndekọ aha dị ka echere na ọ dabara. Iwu isi mkpịsị aka bụ iji ụkpụrụ nchekwa kacha nta. N'ikwu ya n'ụzọ dị mfe, hụ na ndị ọrụ nwetara ikike ịnweta kacha nta ma ọ bụ ikike achọrọ iji rụọ ọrụ ahụ.

Ụkpụrụ nke obere ihe ùgwù na-egbochi ndị ọrụ naanị ụfọdụ ọrụ na site n'ime nke a, na-ebelata ihe ize ndụ nke ndị na-awakpo ịnweta na gbanwee data dị oke mkpa site n'ịkwalite akaụntụ onye ọrụ dị ala. Ọ na-ebelata elu ọgụ & kpachie mgbasa malware ma ọ bụrụ na onye mwakpo ahụ na-achịkwa sistemụ gị.

Ya mere, ọ bụrụ naanị onye ọrụ kwesịrị ilele ọdịnaya nke faịlụ ma ọ bụ ndekọ aha, ekwesighi inye ha ikike igbu ma ọ bụ dee ikike. N'ọkwa dị oke mkpa, nye naanị ikike na ikike nke onye ọrụ chọrọ iji rụzuo ọrụ. Anyị agbaala otu esi agbanwe ikike onye ọrụ na nwe ya na faịlụ/akwụkwọ ndekọ aha site na iji chmod na chown iwu na isi okwu iwu Linux.

Maka onye na-ahụ maka sistemụ ahụ ka ọ nweta oge ijikwa ikike dị mfe, enwere ike ịnye ikike pụrụ iche ma ọ bụ ikike ịnweta akwụkwọ ndekọ aha niile. Otu n'ime ikike pụrụ iche enwere ike itinye n'ọrụ machibido ihichapụ na mgbanwe nke faịlụ ma ọ bụ ndekọ bụ ntakịrị nnyapade.

N'ọnọdụ ebe ndị ọrụ niile nọ na sistemụ ma ọ bụ netwọk nwere ike ịnweta ndekọ nkekọrịta, enwere ike ịnwe ihe egwu na ụfọdụ ndị ọrụ nwere ike ihichapụ ma ọ bụ gbanwee faịlụ dị n'ime ndekọ ahụ. Nke a abụghị ihe a na-achọghị ma ọ bụrụ na ịchọrọ idobe iguzosi ike n'ezi ihe nke ọdịnaya ndekọ ahụ. Na nke a bụ ebe nnyapade bit na-abata.

Ihe nnyapade bụ ikike faịlụ pụrụ iche edobere na faịlụ ma ọ bụ ndekọ dum. Ọ na-enye naanị onye nwe faịlụ/akwụkwọ ndekọ aha ikike ihichapụ ma ọ bụ mee mgbanwe na faịlụ ma ọ bụ ọdịnaya ndekọ. Ọ nweghị onye ọrụ ọzọ nwere ike ihichapụ ma ọ bụ gbanwee faịlụ/akwụkwọ ndekọ aha. Ọ nwere uru ihe atụ nke t yana uru ọnụọgụgụ nke 1000.

Ka ịgbanwuo ntakịrị nnyapade na ndekọ, jiri chmod iwu dị ka ndị a:

$ chmod +t directory_name

N'ihe atụ dị n'okpuru, anyị etinyela ntakịrị nnyapade na ndekọ aha a na-akpọ ule. N'ihe banyere ndekọ aha, ọdịnaya niile ga-eketa ikikere nke nnyapade. Ị nwere ike nyochaa ikikere nke nnyapade site na iji iwu ls -ld. Jide n'aka na ị ga-ahụ akara t na njedebe nke ikike faịlụ.

$ ls -ld test

Ọ bụrụ na onye ọrụ ọzọ nwaa ihichapụ ndekọ ma ọ bụ gbanwee faịlụ dị n'ime ndekọ aha ahụ, a na-ekele ha na njehie anabataghị ikike.

Ma nke ahụ bụ isi okwu ikike faịlụ nke stick bit.

SUID (Set User ID) bụ ikike faịlụ ọzọ pụrụ iche nke na-enye ohere ka onye ọrụ ọzọ na-eme oge niile iji ikike faịlụ nke onye nwe faịlụ mee faịlụ. A na-egosipụtakarị ya site na uru ihe atụ s n'akụkụ ikike faịlụ nke onye ọrụ kama ịbụ x nke na-anọchi anya mmebe ikike. SUID nwere uru ọnụọgụ nke 4000.

SGID, (Set Group ID) na-enye onye ọrụ oge niile iketa ikike otu nke onye nwe otu faịlụ ahụ. Kama x maka ime ikike, ị ga-ahụ s n'akụkụ otu nke ikike faịlụ. SGID nwere uru ọnụọgụgụ nke 2000.

Agbanyeghị na ha dabara adaba, ikike SUID na SGID jikọtara ya na ihe egwu nchekwa ma ekwesịrị ịzere ya na ụgwọ niile. Nke a bụ n'ihi na ha na-enye ndị ọrụ oge niile ohere pụrụ iche. Ọ bụrụ na onye omempụ na-egosi dị ka onye ọrụ oge niile na-ahụ faịlụ nwere ike ime nke onye ọrụ mgbọrọgwụ nwere obere SUID etinyere na ya, ha nwere ike iji loophole ahụ wee jiri usoro ahụ.

Iji chọta faịlụ niile nwere SUID bit atọrọ na Linux na-eme iwu chọta dị ka onye ọrụ mgbọrọgwụ.

$ find / -perm -4000 type -f

Maka akwụkwọ ndekọ aha na-agba ọsọ:

$ find / -perm -4000 type -d

Ka ịchọta faịlụ niile nwere SGID bit set gba ọsọ:

$ find / -perm -2000 type -f

Mee akwụkwọ ndekọ aha:

$ find / -perm -2000 type -d

Iji wepu ntakịrị SUID na faịlụ, mee iwu chmod ka egosiri:

$ chmod u-s /path/to/file

Iji wepu ntakịrị SGID na faịlụ mebie iwu:

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

Ọ bụghị ihe ọhụrụ maka ndị ọrụ ịtọ okwuntughe adịghị ike. Ọnụ ọgụgụ dị mma na-edobe okwuntughe dị mkpụmkpụ, dị larịị na nke dị mfe nghọta iji zere ichefu ha n'oge nbanye. Ọ bụ ezie na ọ dị mma, enwere ike imebi okwuntughe ndị na-adịghị ike site na iji script mwakpo ike ọjọọ.

Modul PAM (Pluggable Authentication Module) bụ modul na-enye ndị na-ahụ maka sistemu ohere ịmanye atumatu okwuntughe na sistemụ Linux. Iji mezuo nke a, ịchọrọ modul pam_pwquality nke ọbá akwụkwọ libpam_pwquality nyere. Modul pam_pwquality na-enyocha ike okwuntughe megide usoro iwu & akwụkwọ ọkọwa okwu sistemụ wee gosipụta nhọrọ okwuntughe adịghị ike.

Iji tinye modul pam_pwquality na Ubuntu 18.04 na ụdị ndị ọzọ, gbaa ọsọ:

$ sudo apt install libpam_pwquality

Maka RHEL/CentOS 8, mee iwu a:

$ sudo dnf install libpwquality

A na-ahụ faịlụ nhazi ahụ n'ebe a:

  • Na Debian-Systems – /etc/pam.d/common-password
  • Na Sistemụ RedHat – /etc/pam.d/system-auth

Tupu anyị amalite ịgbanwe faịlụ nhazi PAM, ka anyị buru ụzọ tụlee ikpokọta nghọta gbasara njikwa ịka nká paswọọdụ.

Enwere ike ịchọta ndị a na faịlụ /etc/login.defs.

Faịlụ ahụ nwere njikwa okwuntughe ndị a:

  • PASS_MAX_DAYS: Oke ụbọchị enwere ike iji paswọọdụ.
  • PASS_MIN_DAYS: Nọmba kacha nta. nke ụbọchị ekwe n'etiti mgbanwe paswọọdụ.
  • PASS_WARN_AGE: Ọnụọgụ ụbọchị ịdọ aka ná ntị enyere tupu okwuntughe agwụ.

Egosiri ụkpụrụ ndabara n'okpuru.

Njirimara PASS_MAX_DAYS na-amachi ọnụọgụ ụbọchị onye ọrụ nwere ike iji paswọọdụ ha. Mgbe uru a nwetara ma ọ bụ paswọọdụ kubie ume, a na-amanye onye ọrụ ịgbanwe paswọọdụ ha iji banye na sistemụ. Na ndabara, atọrọ uru a ka ọ bụrụ 99999, nke tụgharịrị gaa na afọ 273. Nke a enweghị ezi uche dị ka nchekwa dị ka onye ọrụ nwere ike ịga n'ihu na-eji paswọọdụ ha n'oge ndụ ha niile.

Ị nwere ike ịtọ nke a ka ọ bụrụ uru bara uru, kwuo ụbọchị 30 dịka egosiri.

PASS_MAX_DAYS  30

Mgbe ụbọchị 30 gachara, a ga-amanye onye ọrụ ịgbanwe paswọọdụ ha ka ọ bụrụ nke ọzọ.

Njirimara PASS_MIN_DAYS na-akọwapụta oge kacha nta nke ndị ọrụ nwere ike iji paswọọdụ ha tupu ha agbanwe ya. Kedu ihe nke a pụtara? Ọ bụrụ na, dịka ọmụmaatụ, atọrọ uru a ka ọ bụrụ ụbọchị 15, onye ọrụ agaghị enwe ike ịgbanwe paswọọdụ ha ọzọ tupu ụbọchị iri na ise agafe.

PASS_MAX_DAYS  15

Njirimara PASS_WARN_AGE na-akọwapụta ọnụọgụ ụbọchị onye ọrụ ga-enweta ịdọ aka ná ntị gbasara njedebe okwuntughe ha na-abịa tupu ọ kubie ume. Dịka ọmụmaatụ, ịnwere ike ịtọ nke a ka ọ bụrụ ụbọchị 7 dịka egosiri.

PASS_MAX_DAYS  7

IHE: Njikwa okwuntughe ndị a anaghị arụ ọrụ na akaụntụ ndị dịbu adị. A na-etinye ha na akaụntụ ọhụrụ emepụtara ka akọwapụtachara iwu.

Tupu ị dezie faịlụ /etc/pam.d/common-password, mepụta ndabere ndabere. N'ọmụmaatụ a, anyị ekepụtala common-password.bak ndabere oyiri faịlụ.

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

Wee mepee faịlụ ahụ.

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

Chọta ahịrị egosiri n'okpuru.

password        requisite          pam_pwquality.so retry=3

Nhọrọ nnwagharị ahụ na-esetịpụ ọnụ ọgụgụ kachasị oge achọrọ ka itinye paswọọdụ ziri ezi tupu ịnweta mperi. Site na ndabara, nke a ka atọrọ 3. Nke a bụ naanị otu nhọrọ na anyị ga-etinye ọtụtụ nhọrọ.

Tinye njirimara ndị a na ahịrị:

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

Ka anyị tụlee ụfọdụ àgwà ndị a.

  • minlen=10: Na-edobe ogo kacha nta anabatara maka paswọọdụ. N'okwu a, mkpụrụedemede iri.
  • difok=3: Nke a bụ ọnụọgụ mkpụrụedemede kachasị dị na paswọọdụ gara aga.
  • lcredit=-1: Nke a bụ ọnụọgụ obere mkpụrụedemede kwesịrị ịdị na paswọọdụ.
  • ucredit=-1: Nke a bụ ọnụọgụ mkpụrụedemede obere kwesịrị ịdị na paswọọdụ.
  • dcredit=-1: Opekempe ọnụọgụ mkpụrụedemede ekwesịrị ịkọwa na paswọọdụ.
  • credit=-1: Opekempe ọnụọgụ mkpụrụedemede pụrụ iche dịka @, #, & nke ekwesịrị ịkọwa na paswọọdụ.
  • reject_username: Nhọrọ a na-ebute njụta okwuntughe ma ọ bụrụ na paswọọdụ bụ aha njirimara ma ọ bụ n'usoro kwụ ọtọ ma ọ bụ tụgharịa.

Ọ bụrụ na ị nwaa imepụta onye ọrụ ọhụrụ nke dabara na atumatu okwuntughe, ị ga-abanye na mperi dị ka egosiri.

Nke a mechiri isiokwu gbasara nchekwa sistemu na ntọala nchekwa n'ozuzu ya. N'isiakwụkwọ ahụ dum, anyị amụnyela ọkụ n'usoro nchekwa bụ isi nke ị nwere ike mejuputa iji chebe sistemụ Linux gị n'aka ndị ọrụ ọjọọ dị ka ndị na-agba ọsọ ma ọ bụ ndị ọrụ iwe iwe.