LFCA: Giunsa Pagpauswag ang Seguridad sa Sistema sa Linux - Bahin 20


Sama sa nahibal-an natong tanan, ang gamut nga tiggamit mao ang hari ug adunay walay kinutuban nga mga pribilehiyo sa sistema sa Linux. Bisan pa, ang mga dili gamut nga tiggamit limitado sa mga batakang buluhaton. Dugang pa, ang mga tiggamit sa sudo gihatagan lamang sa usa ka piho nga lebel sa mga pribilehiyo sa gamut ingon nga giisip nga angay sa gamut nga tiggamit sa paghimo sa piho nga taas nga mga buluhaton.

Ang mga isyu motungha kung ang mga regular nga tiggamit adunay dili makontrol nga pag-access sa mga kahinguhaan o gipadako sa pag-root nga wala tuyoa. Kini usa ka seryoso nga peligro sa seguridad nga mahimong hinungdan sa mga paglapas, dili gusto nga mga pagbag-o, ug sa labing grabe nga senaryo, pagkahagsa sa sistema. Laing potensyal nga peligro mao ang kung ang mga file adunay dili kaayo luwas nga pagtugot sa file. Pananglitan, ang mga boot file nga adunay pagtugot sa pagsulat alang sa mga global nga tiggamit dali nga mabag-o o madaot nga moresulta sa usa ka guba nga sistema.

[ Tingali ganahan ka usab: Mapuslanon nga Mga Tip sa Pagsiguro sa Data ug Linux ]

Samtang mahimo natong ipatuman ang pisikal, network, ug seguridad sa datos, ang usa ka malisyoso nga tiggamit makalikay sa mga lakang sa seguridad ug makapahimulos sa maong mga lusot sa seguridad. Kini ang hinungdan nga ang seguridad sa file system kinahanglan nga seryosohon. Naghatag kini og dugang nga layer sa depensa atubangan sa mga pag-atake o mga hulga sa insider gikan sa mga malisyosong empleyado nga dili kinahanglan nga mobuhat sa bug-at nga pagbayaw sa paglikay sa mga lakang sa seguridad aron ma-access ang mga file.

Sa seguridad sa sistema, magkonsentrar kami sa mga mosunud nga hinungdanon nga punto:

  • Mga katungod sa pag-access – Mga pagtugot sa user ug grupo.
  • Ipatuman ang mga polisiya sa password gamit ang PAM module.

Mga Katungod sa Pag-access - Pagbulag sa Gumagamit ug Grupo

Tingali nakadungog ka nga ang tanan sa Linux giisip nga usa ka file. Ug kung dili, kini usa ka proseso. Ang matag file sa usa ka sistema sa Linux gipanag-iya sa usa ka user ug usa ka user sa grupo. Nagdala usab kini og mga permiso sa file alang sa 3 ka kategorya sa user: User (u), Group (g), ug Others (o). Ang mga permiso girepresentahan sa pagbasa, pagsulat ug pagpatuman ( rwx ) alang sa matag kategorya sa tiggamit.

rwx        rwx	     rwx
User       Group     Others

Sama sa nakita kaniadto, sa ls nga sugo sama sa gipakita.

$ ls -l

Sa pag-recap lang, ang mga permiso kasagarang girepresentahan sa siyam ka karakter. Ang unang tulo ka mga karakter nagrepresentar sa mga katungod sa pag-access sa aktuwal nga user nga nanag-iya sa file. Ang ikaduha nga hugpong sa mga karakter nagrepresentar sa mga pagtugot sa tag-iya sa grupo sa file. Sa katapusan, ang katapusan nga set alang sa uban o global nga tiggamit. Kini nga mga karakter kanunay nga naa sa pagbasa, pagsulat, pagpatuman (rwx) nga mando.

Human sa mga permiso, kita adunay mga tag-iya sa user ug grupo, gisundan sa file o gidak-on sa direktoryo, petsa sa pagbag-o, ug sa katapusan ang ngalan sa file.

Pag-usab sa File/Directory Permissions ug Ownerships

Ang mga permiso sa tiggamit sa mga file ug mga direktoryo mahimong usbon ingon nga giisip nga angay. Ang lagda sa thumb mao ang paggamit sa pinakagamay nga pribilihiyo nga prinsipyo sa seguridad. Sa yanong pagkasulti, siguruha nga makuha sa mga tiggamit ang minimum nga mga katungod sa pag-access o mga pagtugot nga gikinahanglan aron mahuman ang trabaho.

Ang prinsipyo sa labing gamay nga mga pribilehiyo nagpugong sa mga tiggamit sa pipila nga mga tahas lamang ug pinaagi sa pagbuhat niini, gipamubu ang peligro sa mga tig-atake nga maka-access ug magbag-o sa kritikal nga datos pinaagi sa paggamit sa usa ka ubos nga lever nga account sa gumagamit. Gipamenos usab niini ang nawong sa pag-atake ug gilimitahan ang pagkaylap sa malware kung kontrolado sa tig-atake ang imong sistema.

Busa, kung ang usa ka user kinahanglan lamang nga motan-aw sa mga sulod sa usa ka file o direktoryo, sila kinahanglan nga dili hatagag execute o pagsulat permiso. Sa pinakabaskog nga lebel, ihatag lang ang pinakagamay nga permiso ug pagpanag-iya nga gikinahanglan sa user aron matuman ang mga buluhaton. Gisulbad namo kung unsaon pag-usab ang mga permiso sa user ug mga pagpanag-iya sa mga file/direktoryo gamit ang chmod ug chown commands sa basic nga Linux commands topic.

Alang sa tagdumala sa sistema nga adunay dali nga oras sa pagdumala sa mga pagtugot, ang mga espesyal nga pagtugot o mga katungod sa pag-access mahimong ihatag sa tibuuk nga mga direktoryo. Usa sa mga espesyal nga permiso nga mahimong magamit sa pagpugong sa pagtangtang ug pagbag-o sa usa ka file o direktoryo mao ang sticky bit.

Sa usa ka senaryo diin ang usa ka gipaambit nga direktoryo mahimong ma-access sa tanan nga mga tiggamit sa sistema o network, adunay usa ka potensyal nga peligro nga ang pipila ka mga tiggamit mahimo’g matangtang o usbon ang mga file sa sulod sa direktoryo. Dili kini gusto kung gusto nimo nga mapadayon ang integridad sa mga sulud sa direktoryo. Ug kini mao ang dapit diin ang sticky bit moabut sa.

Ang usa ka sticky bit usa ka espesyal nga pagtugot sa file nga gibutang sa usa ka file o tibuuk nga direktoryo. Gihatagan lang niini ang tag-iya sa kana nga file/direktoryo sa pagtugot sa pagtangtang o paghimo og mga pagbag-o sa mga sulud sa file o direktoryo. Walay laing user nga makatangtang o makausab sa file/direktoryo. Kini adunay simbolikong bili sa t ug usa ka numeric value nga 1000.

Aron ma-on ang usa ka sticky bit sa usa ka direktoryo, gamita ang chmod nga sugo sama sa mosunod:

$ chmod +t directory_name

Sa pananglitan sa ubos, nag-apply kami usa ka sticky bit sa direktoryo nga gitawag pagsulay. Sa kaso sa usa ka direktoryo, ang tanan nga mga sulod makapanunod sa sticky bit permiso. Mahimo nimong pamatud-an ang mga permiso sa sticky bit gamit ang ls -ld command. Siguroha nga mamatikdan ang simbolo nga t sa katapusan sa mga permiso sa file.

$ ls -ld test

Kung ang lain nga tiggamit mosulay sa pagtangtang sa direktoryo o pag-usab sa file sa sulod sa direktoryo, sila gitimbaya sa usa ka Permission denied error.

Ug kana ang kinatibuk-an sa pagtugot sa stick bit file.

Ang SUID (Set User ID) maoy laing espesyal nga permiso sa file nga nagtugot sa laing regular nga user sa pagpadagan ug file nga adunay permiso sa file sa tag-iya sa file. Kasagaran kini gipunting sa usa ka simbolo nga kantidad s sa bahin sa tiggamit sa mga pagtugot sa file imbes sa usa ka x nga nagrepresentar sa pagpatuman sa mga pagtugot. Ang SUID adunay numeric value nga 4000.

Ang SGID, (Set Group ID) nagtugot sa usa ka regular nga user nga makapanunod sa mga permiso sa grupo sa tag-iya sa file group. Kay sa x para sa pagpatuman sa mga permiso, makakita ka og s sa grupo nga bahin sa mga permiso sa file. Ang SGID adunay numeric value nga 2000.

Bisan unsa pa ka kombenyente kini, ang mga pagtugot sa SUID ug SGID adunay kalabotan sa mga peligro sa seguridad ug kinahanglan likayan sa tanan nga gasto. Kini tungod kay naghatag sila ug espesyal nga mga pribilehiyo sa mga regular nga tiggamit. Kung ang usa ka intruder nga nagpanggap nga usa ka regular nga tiggamit makit-an ang usa ka executable file nga gipanag-iya sa root user nga adunay usa ka SUID bit nga gibutang niini, mahimo nilang gamiton ang lusot ug pahimuslan ang sistema.

Aron makit-an ang tanan nga mga file nga adunay SUID bit set sa Linux padagana ang find command isip root user.

$ find / -perm -4000 type -f

Alang sa pagdagan sa mga direktoryo:

$ find / -perm -4000 type -d

Aron makit-an ang tanan nga mga file nga adunay SGID bit set run:

$ find / -perm -2000 type -f

Alang sa mga direktoryo ipatuman:

$ find / -perm -2000 type -d

Aron makuha ang SUID bit sa usa ka file, padagana ang chmod command sama sa gipakita:

$ chmod u-s /path/to/file

Aron makuha ang SGID bit sa usa ka file ipatuman ang mando:

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

Sagad alang sa mga tiggamit nga magbutang ug huyang nga mga password. Ang usa ka maayo nga numero nagtakda og mubo, yano, ug dali nga matag-an nga mga password aron malikayan nga makalimtan kini sa panahon sa pag-login. Samtang sayon, ang huyang nga mga password daling malapas gamit ang brute-force attack scripts.

Ang PAM module ( Pluggable Authentication Module ) kay usa ka module nga nagtugot sa system administrators sa pagpatuman sa password policy sa Linux systems. Aron mahimo kini, kinahanglan nimo ang pam_pwquality module nga gihatag sa libpam_pwquality library. Ang pam_pwquality module nagsusi sa kalig-on sa usa ka password batok sa usa ka hugpong sa mga lagda ug usa ka diksyonaryo sa sistema ug nagpunting sa huyang nga mga pagpili sa password.

Aron ma-install ang pam_pwquality module sa Ubuntu 18.04 ug sa ulahi nga mga bersyon, pagdagan:

$ sudo apt install libpam_pwquality

Alang sa RHEL/CentOS 8, padagana ang sugo:

$ sudo dnf install libpwquality

Ang configuration file makita sa mosunod nga lokasyon:

  • Sa Debian-Systems – /etc/pam.d/common-password
  • Sa RedHat Systems – /etc/pam.d/system-auth

Sa dili pa kita magsugod sa pag-usab sa PAM configuration file, atong ikonsiderar una ang pagtigom og mga insight mahitungod sa password aging controls.

Makita kini sa /etc/login.defs file.

Ang file naglangkob sa mosunod nga yawe nga mga kontrol sa password:

  • PASS_MAX_DAYS: Pinakataas nga gidaghanon sa mga adlaw ang usa ka password mahimong magamit.
  • PASS_MIN_DAYS: Minimum nga numero. sa mga adlaw nga gitugotan tali sa mga pagbag-o sa password.
  • PASS_WARN_AGE: Gidaghanon sa mga adlaw nga pasidaan nga gihatag sa dili pa matapos ang password.

Ang default nga mga kantidad gipakita sa ubos.

Ang PASS_MAX_DAYS attribute naglimite sa gidaghanon sa mga adlaw nga ang usa ka user makagamit sa ilang password. Sa diha nga kini nga bili makab-ot o ang password mo-expire, ang user mapugos sa pag-ilis sa ilang password aron maka-log in sa sistema. Sa kasagaran, kini nga kantidad gitakda sa 99999, nga gihubad ngadto sa 273 ka tuig. Dili kini hinungdanon kung bahin sa seguridad tungod kay ang tiggamit makapadayon sa paggamit sa ilang password sa tibuok nilang kinabuhi.

Mahimo nimong ibutang kini sa usa ka makahuluganon nga kantidad, ingnon ta 30 ka adlaw sama sa gipakita.

PASS_MAX_DAYS  30

Human sa 30 ka adlaw nga paglabay, ang user mapugos sa pag-ilis sa ilang password ngadto sa lain.

Ang PASS_MIN_DAYS attribute naghulagway sa minimum nga gidugayon nga magamit sa mga user ang ilang password sa dili pa kini usbon. Unsay buot ipasabot niini? Kung, pananglitan, kini nga kantidad gitakda sa 15 ka adlaw, ang user dili na makausab sa ilang password sa dili pa molabay ang 15 ka adlaw.

PASS_MAX_DAYS  15

Ang PASS_WARN_AGE attribute nagtino sa gidaghanon sa mga adlaw nga ang usa ka user makadawat og pasidaan mahitungod sa umaabot nga expiry sa ilang password sa dili pa kini mo-expire. Pananglitan, mahimo nimong itakda kini sa 7 ka adlaw sama sa gipakita.

PASS_MAX_DAYS  7

PAHINUMDOM: Kini nga mga kontrol sa password dili molihok sa mga nag-una na nga mga account. Gipadapat lang kini sa mga bag-ong account nga gihimo pagkahuman sa pagtino sa mga lagda.

Sa dili pa nimo usbon ang /etc/pam.d/common-password file, paghimo og backup nga kopya. Niini nga pananglitan, among gibuhat ang common-password.bak backup copy file.

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

Unya ablihi ang file.

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

Pangitaa ang linya nga gipakita sa ubos.

password        requisite          pam_pwquality.so retry=3

Ang kapilian sa pagsulay usab nagtakda sa labing kadaghan nga mga higayon nga kinahanglan nimo nga mosulod sa husto nga password sa dili pa makakuha usa ka sayup. Sa kasagaran, kini gibutang sa 3. Kini usa lamang ka kapilian ug kita mag-apil sa daghang mga kapilian.

Idugang ang mosunod nga mga hiyas sa linya:

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

Atong pauswagon kini nga mga hiyas.

  • minlen=10: Nagtakda sa minimum nga madawat nga gidak-on alang sa password. Niini nga kaso, 10 ka karakter.
  • difok=3: Kini ang pinakataas nga gidaghanon sa mga karakter nga anaa sa miaging password.
  • lcredit=-1: Kini mao ang minimum nga gidaghanon sa mga lowercase nga karakter nga kinahanglang anaa sa password.
  • ucredit=-1: Ang pinakataas nga gidaghanon sa mga lowercase nga karakter nga kinahanglang anaa sa password.
  • dcredit=-1: Ang minimum nga gidaghanon sa mga numeric nga karakter nga kinahanglang ipasabot sa password.
  • ocredit=-1: Ang minimum nga gidaghanon sa mga espesyal nga karakter e.g @, #, & nga kinahanglang ipasabot sa password.
  • reject_username: Kini nga opsyon mag-trigger sa pagsalikway sa password kung ang password mao ang username sa tul-id o balik nga pormat.

Kung sulayan nimo ang paghimo og bag-ong user nga kulang sa mga polisiya sa password, makasugat ka sa mga sayop sama sa gipakita.

Gitapos niini ang hilisgutan sa seguridad sa sistema ug mga sukaranan sa seguridad sa kinatibuk-an. Sa tibuok nga kapitulo, among gihatag ang kahayag sa batakang mga lakang sa seguridad nga mahimo nimong ipatuman aron mapanalipdan ang imong sistema sa Linux gikan sa mga malisyosong tiggamit sama sa mga hacker o wala matagbaw nga mga empleyado.