10 Mapuslanon nga Sudoers Configurations alang sa Pag-set sudo sa Linux


Sa Linux ug uban pang mga operating system nga sama sa Unix, ang root user lang ang makadagan sa tanan nga mga command ug makahimo sa pipila ka kritikal nga mga operasyon sa sistema sama sa pag-install ug pag-update, pagtangtang sa mga package, paghimo og mga user ug grupo, pag-usab sa importante nga mga file sa configuration sa sistema ug uban pa.

Bisan pa, ang usa ka administrador sa sistema nga nag-angkon sa papel sa gamut nga tiggamit mahimong magtugot sa ubang mga normal nga tiggamit sa sistema sa tabang sa sudo nga mando ug pipila ka mga pag-configure aron magpadagan sa pipila nga mga mando ingon man sa paghimo sa daghang hinungdanon nga mga operasyon sa sistema lakip ang mga gihisgutan sa ibabaw.

Sa laing paagi, ang administrador sa sistema mahimong mopaambit sa root user password (nga dili girekomendar nga pamaagi) aron ang normal nga sistema nga tiggamit adunay access sa root user account pinaagi sa su command.

sudo nagtugot sa usa ka gitugutan nga tiggamit sa pagpatuman sa usa ka sugo ingon nga gamut (o laing user), ingon sa gitakda sa palisiya sa seguridad:

  1. Gibasa ug gi-parse niini ang /etc/sudoers, pangitaon ang nagsangpit nga user ug ang mga permiso niini,
  2. dayon mag-aghat sa nagsangpit nga user alang sa usa ka password (kasagaran ang password sa user, apan mahimo usab kini nga password sa target user. O mahimo kining laktawan gamit ang NOPASSWD tag),
  3. pagkahuman niana, ang sudo nagmugna ug proseso sa bata diin nagtawag kini og setuid() aron mobalhin sa target nga tiggamit
  4. sunod, nagpatuman kini og shell o ang command nga gihatag isip argumento sa proseso sa bata sa ibabaw.

Sa ubos mao ang napulo ka /etc/sudoers file configurations aron usbon ang kinaiya sa sudo command gamit ang Defaults entries.

$ sudo cat /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults	env_reset
Defaults	mail_badpass
Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Defaults	logfile="/var/log/sudo.log"
Defaults	lecture="always"
Defaults	badpass_message="Password is wrong, please try again"
Defaults	passwd_tries=5
Defaults	insults
Defaults	log_input,log_output
Defaults                parameter,   parameter_list     #affect all users on any host
[email _List      parameter,   parameter_list     #affects all users on a specific host
Defaults:User_List      parameter,   parameter_list     #affects a specific user
Defaults!Cmnd_List      parameter,   parameter_list     #affects  a specific command 
Defaults>Runas_List     parameter,   parameter_list     #affects commands being run as a specific user

Alang sa kasangkaran niini nga giya, mag-zero kita ngadto sa unang matang sa Default sa mga porma sa ubos. Ang mga parameter mahimong mga bandila, integer nga kantidad, mga kuwerdas, o mga lista.

Kinahanglan nimong timan-an nga ang mga bandera kay bug-os nga boolean ug mahimong mapalong gamit ang ! operator, ug ang mga listahan adunay duha ka dugang nga assignment operators, += (idugang sa listahan) ug -= (kuhaa sa lista).

Defaults     parameter
OR
Defaults     parameter=value
OR
Defaults     parameter -=value   
Defaults     parameter +=value  
OR
Defaults     !parameter       

1. Paghimo ug Luwas nga PATH

Kini ang dalan nga gigamit alang sa matag command run nga adunay sudo, kini adunay duha ka importansya:

  1. Gigamit kung ang usa ka tagdumala sa sistema wala magsalig sa mga tiggamit sa sudo nga adunay usa ka luwas nga variable sa palibot sa PATH
  2. Aron ibulag ang \root path ug \user path, ang mga user lang nga gipasabot sa exempt_group ang dili maapektuhan niini nga setting.

Aron itakda kini, idugang ang linya:

Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

2. I-enable ang sudo sa TTY User Login Session

Aron mahimo ang sudo nga matawag gikan sa usa ka tinuod nga tty apan dili pinaagi sa mga pamaagi sama sa cron o cgi-bin scripts, idugang ang linya:

Defaults  requiretty   

3. Pagdalagan ang Sudo Command Gamit ang pty

Sa pipila ka mga higayon, ang mga tig-atake mahimong magpadagan sa usa ka malisyosong programa (sama sa usa ka virus o malware) gamit ang sudo, nga mag-usab sa usa ka proseso sa background nga magpabilin sa terminal device sa user bisan kung ang main program nahuman na sa pagpatuman.

Aron malikayan ang ingon niini nga senaryo, mahimo nimong i-configure ang sudo aron magpadagan sa ubang mga sugo lamang gikan sa usa ka psuedo-pty gamit ang parameter nga use_pty, kung gi-on o wala ang pag-log sa I/O sama sa mosunod:

Defaults  use_pty

4. Paghimo og Sudo Log File

Sa kasagaran, sudo logs pinaagi sa syslog(3). Bisan pa, aron mahibal-an ang usa ka naandan nga log file, gamita ang parameter sa logfile sama sa:

Defaults  logfile="/var/log/sudo.log"

Aron ma-log ang hostname ug ang upat ka digit nga tuig sa custom log file, gamita ang log_host ug log_year nga mga parametro sama sa mosunod:

Defaults  log_host, log_year, logfile="/var/log/sudo.log"

Sa ubos usa ka pananglitan sa usa ka naandan nga sudo log file:

5. Log Sudo Command Input/Output

Ang log_input ug log_output nga mga parameter makapahimo sa sudo sa pagpadagan sa usa ka command sa pseudo-tty ug pag-log sa tanang input sa user ug tanang output nga gipadala sa screen nga madawaton.

Ang default nga direktoryo sa log sa I/O mao ang /var/log/sudo-io, ug kung adunay numero sa han-ay sa sesyon, kini gitipigan sa kini nga direktoryo. Mahimo nimong itakda ang usa ka naandan nga direktoryo pinaagi sa iolog_dir parameter.

Defaults   log_input, log_output

Adunay pipila ka mga escape sequence nga gisuportahan sama sa %{seq} nga nagpalapad ngadto sa monotonically increase nga base-36 sequence number, sama sa 000001, diin ang matag duha ka digit gigamit sa pagporma og bag-ong directory, eg. 00/00/01 sama sa pananglitan sa ubos:

$ cd /var/log/sudo-io/
$ ls
$ cd  00/00/01
$ ls
$ cat log

Mahimo nimong tan-awon ang nahabilin nga mga file sa kana nga direktoryo gamit ang cat command.

6. Lecture Sudo Users

Aron ma-lecture ang mga sudo user bahin sa paggamit sa password sa sistema, gamita ang lecture parameter sama sa ubos.

Kini adunay 3 nga posible nga kantidad:

  1. kanunay – kanunay mag-lecture sa usa ka user.
  2. Kas-a – mag-lecture lang sa usa ka user sa unang higayon nga ilang ipatuman ang sudo nga sugo (kini gamiton kung walay bili)
  3. dili gayud – ayaw pag-lecture sa user.

 
Defaults  lecture="always"

Dugang pa, mahimo nimong itakda ang usa ka naandan nga lecture file nga adunay parameter nga lecture_file, i-type ang angay nga mensahe sa file:

Defaults  lecture_file="/path/to/file"

7. Ipakita ang Custom nga Mensahe Kung Gisulod nimo ang Sayop nga sudo nga Password

Kung ang usa ka tiggamit mosulod sa usa ka sayup nga password, usa ka piho nga mensahe ang gipakita sa linya sa mando. Ang default nga mensahe mao ang \sorry, try again, mahimo nimong usbon ang mensahe gamit ang badpass_message parameter sama sa mosunod:

Defaults  badpass_message="Password is wrong, please try again"

8. Dugangi ang sudo Password Tries Limit

Ang parameter nga passwd_tries gigamit sa pagtino sa gidaghanon sa mga higayon nga ang usa ka user makasulay sa pagsulod sa usa ka password.

Ang default nga kantidad mao ang 3:

Defaults   passwd_tries=5 

Para magbutang ug password timeout (ang default 5 minutos) gamit ang passwd_timeout parameter, idugang ang linya sa ubos:

Defaults   passwd_timeout=2

9. Tugoti ang Sudo nga Insulto Ka Sa Dihang Nagsulod Ka Sa Sayop nga Password

Kung ang usa ka tiggamit nag-type sa usa ka sayup nga password, ang sudo magpakita sa mga insulto sa terminal nga adunay parameter sa mga insulto. Awtomatiko ni nga mapalong ang badpass_message parameter.

Defaults  insults 

Basaha ang Dugang: Pabay-i ang Sudo nga Insulto Ka Sa Dihang Nagsulod Ka Sa Sayop nga Password

10. Pagkat-on og Dugang nga Sudo Configuration

Dugang pa, makakat-on ka og dugang nga sudo command configurations pinaagi sa pagbasa: Kalainan Tali sa su ug sudo ug Unsaon Pag-configure ang sudo sa Linux.

Mao na! Mahimo nimong ipaambit ang uban pang mapuslanon nga mga pagsumpo sa mando sa sudo o mga trick ug tip sa mga tiggamit sa Linux didto pinaagi sa seksyon sa komento sa ubos.