ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 高级安全1

高级安全1

原创 Linux操作系统 作者:眼镜男 时间:2009-07-27 19:34:48 0 删除 编辑

高级安全主要分为几个方面:
1.主机安全 2.服务安全 3.网络安全

今天主要讲主机安全,主机安全又分几个方面:
1.访问控制  2.入侵检测 3.取证

访问控制可以分为如下几个方面
1.Bios密码设置,2.BootLoader密码设置,3.文件权限的设置,4.pam认证

一.Bios密码的设置:开机按F2或者Del进入BIos设置。
BootLoader密码设置:打开配置文件/etc/grub.conf,在title行的下面加入password --md5 +“密码”,这个“密码”要用grub-md5-crypt生成,在命令行行下键入grub-md5-crypt然后按回车输入你想要的密码,最后会生成个加密字符串,我们只需要将个字符串复制过来就可以了。
二.文件权限的设置已经写过了,如果有不清楚的地方,请自己查看一下。
但这里要补充一点知识:chattr这命令的用法.
在介绍个命令之前,先来简单介绍下文件名,硬链接,inode ,block块的关系。简单的拓扑图如下:


硬连接
文件名----------------------->inode------------------------>block
每增加一个硬连接inode加 1,当inode为 0 时就可以随机占用.

chattr:1.s  secure deletion  安全删除是inode标记为0,block也清0
2.u  undeletable      保留inode直和block内容,可以解决误删除.
3.A  no atime updates 不修改访问时间,如果不加这个参数,大量的读这个文件,会产生效率问题,2可以解决并发问题.

3.接下来讲一讲/etc/shadow这个文件。当我们打开一个文件我们可以看到像下面这样的行,第一列是用户名,第二列是密码
user3:$1$sZRICi78$H9qNPoMgvbu4N75fB.4Kr0:14426:0:99999:7:::
重点将第二列密码是怎样产生的。这个密码是通过hash散列算法生成的。
什么叫hash散列算法:这里简单的介绍一下,散列算法就是将无穷的值集合映射成有穷的值集合,并且不可逆。            不可逆
                                                        无穷---------->有穷
$1$sZRICi78$H9qNPoMgvbu4N75fB.4Kr0 这个密码蓝色部分是随机数,红色部分是随机数对应的散列值,这回就知道我们的一堆乱乱的字母是怎么产生的了吧,那么它和普通的md5加密有什么区别呢,如果有普通的md5加密,它每次产生的字符串都是相同的,如果黑客知道你起重一个用户的密码,如果有相同的用户也是这个密码,他很容易就可以以另外的用户登录了。而上面的那种算法因为是随机数,所以每次产生的密码并不相同,这安全很多。Linux系统中查用的md5加密命令有两个1.
grub-md5-crypt 生成的密码就是md5散列算法生成的,保证你在输入相同的字符串的情况下,产生的字符串不同。2.md5sum输入相同的字符串产生的加密字符串相同。
四.pam模块认证
Linux系统中模块的概念:封装好的功能组件,和Linux中的库概念相同。
pam 配置文件在路径/etc/pam.d/目录下。
1.与登录相关的验证配置文件/etc/pam.d/login.
下面是配置文件中的内容
#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad]pam_sec..
auth               include     system-auth
#account   required        pam_access.so
account         required     pam_nologin.so
account         include       system-auth
password     include       system-auth
# pam_selinux.so close should be the first session rule
session         required     pam_selinux.so close
session         include       system-auth
session         required     pam_loginuid.so
session         optional      pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session          required     pam_selinux.so open
session          optional      pam_keyinit.so force revoke
我们先从第二行看起,以空白为分隔符,可以分成很多列。
第一列称为验证类型主要包含四类 auth accout session.
auth    检查和用户名和密码相关的信息
accout 检查和用户名和密码不相关的信息(网络上访问控制,设置访问时间)
session  资源限制

password 专管密码更新
第二列控制参数
required 不会立即返回检查错误,继续下面行的验证
optional  可选的,验证结果无关重要
sufficient 条件满足立即返回不继续检查
include     包含另外一个文件
第三列
验证模块 模块存放的路径在 /lib/security/下
第四列
向模块传递的参数
 
我们先来看下蓝色标记的第三行,主要是设置登录访问控制,它的配置文件在/etc/security/access.conf
例:在配置文件中加入-:user1:ALL EXCEPT tty1表示user1不可以登录tty1终端。
2.sshd验证:
sshd
#%PAM-1.0
#后加
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers
auth       include      system-auth

account    required     pam_time.so
#和login配置文件意义一样,看看前面吧。

account   required     pam_access.so accessfile=/etc/sshdaccess
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
session    optional     pam_keyinit.so force revoke
session    include      system-auth
session    required     pam_loginuid.
pam_time.so模块配置文件如下
/etc/security/time.conf
* ;* ;* :MoTeWeThFr0900-1800//这个时间是允许登录
* ;* ;* :AL0900-1800//这个时间是允许登录

入侵检测:find / -perm 4000
find ${PATH//:/} -perm 4000
       检查suid权限
for i in find ${PATH//:/} -perm 4000
do
if [ -d $i]
then
find $i -perm -4000 ;fi;done
done >/tmp/suid.log
diff /tmp/suid.log{,.1}
检查内容 md5sum /etc/passwd | sum /etc/passwd |shalsum /etc/passwd(比md5更安全)是否被改变.
find /etc -type -f  -exec md5sum {} \; >/tmp/etc.md5

/boot/grub/grub/grub.conf 不是rpm建的.
rpm -V (包名)setup 显示rpm认为有可疑的文件。
mtime 内容改变          ctime 属性改变
readlink test(查看符号连接的路径)
rpm -Vf /etc/passwd 查到文件对应的包,并包中的文件进行相应的验证.
rpm -V              对文件内容和属性进行检查.
tripware 软件.






来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21996817/viewspace-610564/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 流量控制实验
下一篇: TC流量控制实验
请登录后发表评论 登录
全部评论

注册时间:2009-06-28

  • 博文量
    30
  • 访问量
    31681