用PAM来增强Linux服务器的安全(3)

  users/groups(用户或组)字段可以是一个或几个登录名、组名及ALL(表示任何人)的一个清单。要区分哪个是用户名,哪个是组名,可以将组名加入到一个括号中,例如(groups)。

  origins(来源)字段可以是非网络登录时的tty名称、主机名、域名(以“.”开始)、主机地址、网络号(以“.”结束)、带有子网掩码的公网IP地址,以及ALL(表示任何主机)和LOCAL只要不包含“.”的所有字符)。还可��使用EXCEPT操作符来表示除…之外。

(2)、pam_cracklib验证模块

pam_cracklib验证模块通常只与password验证类型一起使用。这个验证模块可以通过插入password堆栈,为特殊的应用提供可插入式密码强度性检测。它的工作方式就是先提示用户输入密码,然后使用一个系统字典和一套规则来检测输入的密码是否不能满足强壮性要求。密码的强度检测分二次进行,第一次只是检测密码是否是提供的对比字典中的一部分,如果检测结果是否定的,那么就会提供一些附加的检测来进一步检测其强度,例如检测新密码中的字符占旧密码字符的比例,密码的长度,所用字符大小写状况,以及是否使用了特殊字符等等。

  由于pam_cracklib验证模块提供了细致的密码强度检测,因此,当我们在使用时,必需为它指定相应的额外检测选项。这些选项包括:

  debug:此选项表示将模块信息写入系统日志

  type=xxx:此选项用来修改缺省的密码提示文本,例如,如果缺省提示输入密码的文本为“New Passwork:”,那么你就可以通过设置type=my password:来改变提示文本。  

retry=N:此选项定义用户在重试输入多少次密码后,返回一个错误信息,然后不准继续输入。缺省是1次。

  difok=N:此选项用来定义新密码中必须有几个字符要与旧密码不同,如果新密码中有1/2以上的字符与旧密码不同时,该新密码就会被接受。

difignore=N:此选项用来设定在difok之前收到多少个字符时,difok设置会被忽略,缺省为23。

  minlen=N:此选项用来设置新密码的最小长度。

   dcredit=N:此选项用来设定新密码中可以包含数字的最大数目。

  ucredit=N:此选项用来设定新密码中可以包含的大写字母的最大数目。

   lcredit=N:此选项用来设定新密码中可以包含的小写字母的最大数目。

  ocredit=N:此选项用来设定新密码中可以包含的特殊字符的最大数目。

minclass=N:此选项用来规定新密码中的字符类别的最小数目,字符一般有四种类别:数字、大写字母、小写字母,以及特殊字符。

use_authtok:在某个与密码相关的验证模块后使用此选项,例如pam_unix.so验证模块,可以强迫此模块不提示输入密码,而使用上面设置的另一种方式,例如pam_cracklib.so。

dictpath=/path/to/dict:指定cracklib目录路径。

(3)、pam_limit验证模块

pam_limits验证模块通常与session验证类别一同使用。它主要用来限制用户在会话过程中对系统资源的使用,即使UID=0的用户也受它的限制。此模块使用一个独立的配置文件来设置对系统资源的限制情况,默认的配置文件是/etc/security/limits.conf,在使用中可以用conf选项来指定配置文件所在的位置。当你使用pam_limits验证模块时,先对此配置文件进行相应的设置总是一个不错的选择。

/etc/security/limits.conf配置文件的设置语法如下:

<domain> <type> <item> <value>

配置文件语法格式中的“domain”列可以是用户名、采用@group语法的组名,还可以用通配符“*”来表示任何用户,以及使用“%”通配符来只限制maxlogins,并可以采用%group的语法格式。

  配置文件语法格式中的“type”列有两个值:

  soft:用来设置对系统资源的软限制,它允许用户所使用的系统资源可以在设定的硬限制值的规定范围来上下浮动。

  hard:用来设置对系统资源的硬限制,这些硬限制由超级用户设置,并由系统内核来执行。普通用户对系统资源的使用率不能超过设置的硬限制设定值。

配置文件语法格式中的“item”和“value”是成对使用的,“item”表示某类具体的系

统资源,而“value”就是“item”的值。在limits.conf配置文件中可以设置的系统资源有:

  core:    核心文件的大小 (KB)

  data:     最大的数据包大小(KB)

  fsize:     最大的文件大小(KB)

  memlock: 最大可用的内存空间(KB)

  nofile:    最大可以打开的文件数量

  rss:      最大的可驻留空间(KB)

  stack:    最大的堆栈空间(KB)

  cpu:      最大的CPU占用时间(minutes)

  nproc:    最大允许运行的进程数量

  as:       地址空间限制(KB)

  maxlogins: 用户可以登录到系统的最多次数,UID=0的用户除外

priority:    优先运行的用户进程(负值越高的进程优先)

sigpending: 最大数量的等待信号(Linux2.6及以上内核)

msqqueue:  POSIX信息队列的最大可使用的内存(bytes)(Linux2.6及以上内核)

locks:      最大可锁定文件的数目(Linux2.4及以上内核的系统)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/wyyysp.html