不管个人还是单位,计算机的安全是非常重要的,万一计算机的安全防线被攻破,那里面重要的数据就会岌岌可危了,今天来谈谈安全问题,以下只是个人的在linux系统方面的一些体会,还请各位多多批判指正。
一、系统安全设置
(一)开机BOIS密码
这种就是刚开机是出现的密码安全设置,也是第一道防线,在BOIS通电后,就会弹出窗口;其设置较简单,在开机时,按del(具体可能不同品牌机所设置的键不同)键,会进入BOIS的蓝色设置画面,具体如何设置参考说明书或操作手册。
(二)用户password
就是用passwd命令给用户所设置的密码,这个密码的长度可以在/etc/login.defs文件中修改,这个密码长度设置最好不要超过8位,且尽量不要用生日、电话、门牌号或者身份证号等作为密码。
(三)grub密码
grub密码就是在进入蓝色背景(一个背景是可以换的)选择进入某个系统或内核版本的画面,如果grub设置密码,那么任何人都会按“e”进行修改linux的启动级别,可以任意的修改,这样对你的系统危害性极大,如果设置了密码,别人要想修改,只有先按“p”键,输入grub密码后,才能再按“e”进行grub修改,那么,该如何设置grub密码呢?且听偶慢慢道来。
第一步:先执行grub-md5-crypt来生成md5加密后的密码。
# grub-md5-crypt 回车确认
Password: 第一次输入你要设置的密码
Retype password: 再一次输入,密码确认。
$1$fUMOG1$3DMpq.xdXL6Q8lwaLRiky. 你所输入密码经过md5加密后的字符串。
第二步:复制md5加密后的字符串。
第三步:在/boot/grub/grub.conf中加入如下一行。
password –md5 $1$fUMOG1$3DMpq.xdXL6Q8lwaLRiky.
具体位置没有特别要求,本人喜欢放在timeout一行的下一行。
ok,经过以上设置后,重启,在进入蓝色画面,你再按e键试试,是不是不能进行编辑啦。你按p键会弹出一个对话框,让你输入密码,此时你就把刚才设置的grub密码输入即可,输入密码后,你再按e键试试,是不是又可以修改了。
(四)设置mount选项
你输入mount命令后,就会列出机器上所挂载的设备文件,而且一般都会标识为rw(可读可写),如作者机器上用mount显示结果为:
/dev/hda9 on / type ext3 (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda8 on /boot type ext3 (rw)
/dev/hda11 on /database type ext3 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
这样就会先的不安全,只要能登录你的机器就能在上面随意的删改文件,所以,我们可以改变设备文件的读写权限,命令为:
mount -t [filetype] -o remount,ro 设备文件路径 所挂载目录
如:mount -t ext3 -o remount,ro /dev/hda9 /
执行此命令后,根下所有文件都不能被删改。
(五)设置强制位(suid)和冒险位(sticky)
1、为什么要设置强制位?或者说设置强制位后何用处?
强制位一般是对命令而设置,设置强制位,说白了,就是让普通用户可以使用root用户的命令,举个例子来说吧:一般用户即普通用户是没有权利使用reboot命令的,只有root用户才有权使用reboot命令,如果设置了reboot的强制位后,其它用户(当然是普通用户啦,哈哈)就可以使用reboot命令。
要想实现以上功能或效果,实现起来非常的简单,只要借助chmod命令即可。具体为:
chmod u+s 命令/文件
用此命令设置完以后,用ls -s 命令来查看,你就会在被设置命令文件的u的x位上出现了一个s,如果原文件或命令是x权限,那么在此位置上就为S。
但是这种方法还是不太安全,不是不得已的情况下,建议尽量别使用,一般使用sudo命令,具体详见下文。
2、冒险位设置
设置冒险位的作用为:
冒险位只作用在目录上,对文件没有效果,为了防止用户删除他们并不拥有的文件。一旦目录设置了冒险位,则目录中的文件目录,只有其的拥有者和root用户才能对其进行删除操作。
命令同样是采用chmod,格式与设置强制位完全相同,具体为 :
chmod o+t 目录
(六)设置文件的附加属性
对于ext2/3文件系统可以对单个文件设置额外的文件属性,可以让文件不能被修改、删除、重命名等一系列操作。采用的命令是:chattr,+号表示添加某种属性,-号表示删除某种属性,常见的属性参数为:
a:表示只能向此文件中追加内容,不能更改原内容。不能删除文件、重命名等(a参数只能是root用户可设)。
i:表示文件不可变,不能被删除、重命名、改变其内容。
具体操作为:
添加属性为:chattr +属性 文件名 如:chattr +i filename
去掉属性为:chattr -属性 文件名 如: chattr -i filename
查看属性为:lsattr filename
(七)让某个用户拥有局部权限(sudo)
sudo命令比设置强制位较安全,其能达到让某个用户用某个特定命令,而其它用户却不能执行,而使用强制位则只要用户都可以使用。从而sudo增强了安全性。
要想实现此种功能,只要配置/etc/sudoers文件即可。
执行命令的格式为:sudo 命令名
(八)禁止普通用户使用su命令
通常情况下,普通用户都可以采用su命令任意采用其它用户,一旦进入其它用户,就拥有完全的权利,这样就给系统带来了安全隐患,那么,怎样才能防止普通用户非法采用su命令来登录系统呢?其实非常简单,你只要在/etc/pam.d/su文件中,加入下面一行即可:
auth required /lib/security/pam.deny.so
ok,保存退出后,你用普通用户登录后,你试试用su命令用其它用户登录,让你输入密码,不管你好输入的密码是对是错,总是出现 su: incorrect password,好了,搞定。
(九)acl报文控制列表
采用acl报文控制列表,可以让某个文件只能让特定用户来读写。如:有一文件为filename,权限为666,任一普通用户均可以读写,现在采用acl报文控制列表,可以仅仅让某个授权的用户读写。
实现的具体步骤:
第一步:查看文件所在的分区或是挂载哪个目录下;
采用mount命令或者fdisk -l或者df等均可;假设filename所在分区为/dev/hda9,其挂载目录为/。
第二步:配置/etc/fstab文件
在/etc/fatab文件中,在/dev/hda9相应一行中的defaults一项后面,加上“,acl”(当然,不包括双引号),存盘退出。
第三步:重新挂载
mount -o remount,rw /dev/hda9 /
第三步:修改filename权限,变为000权限
chmod 000 filename
第四步:让某个指定用户对filename有读写等权限
setfacl -m u:用户名:rw filename
ok,到此filename文件只能由root用户和所指定的“用户名”才能读写。
想取消某个用户对filename文件的特有权限,用如下命令:
setfacl -x u:用户名 filename
查看文件的属性:getfacl filename
二、网络完全
(一)网络流量监测
1、tcpdump命令:动态监测机器的tcp信息流量。
在某个控制台中敲入:tcpdump即可。
2、sniffer:嗅探器
3、查看端口开设情况:netstat -antp
4、监测访问流量:
tripwire与snort工具
5、监测某个目录情况:如,watch ls /tmp,监测/tmp目录的情况。
(二)防火墙设置(iptables)
三、数据备份
1、tar命令
2、dd:块操作,对整片数据操作
3、cpio:(不常用)
4、dump 数据备份
/sbin/dump -0uf /home/a.dump /dev/hda5 将/dev/hda5上的文件完全备份名为a.dump,放在/home下。
/sbin/dump -1uf /home/b.dump /dev/hda5 差异备份,只备份增加的部分。
5、restore:数据恢复
restore -rf /home/b.dump /dev/hda5 将b.dump恢复;
限于本人水平有限,如果不作之处,还敬请不吝赐教!
版权归属于VincentChiang,转载敬请注明出处及作者名称,谢谢!!