当前位置: > Linux安全 >

几个小步聚打造安全Linux系统

时间:2014-02-22 01:24来源:www.it.net.cn 作者:IT网
1、LILO安全设置
vi /etc/lilo.conf.anaconda      //修改LILO文件===============================================
……
restricted                  //加入这行
password=111111             //加入这行并设置密码为111111
……
================================================
chmod 600 /etc/lilo.conf.anaconda   //设置为ROOT权限读取
/sbin/lilo -v                       //更新系统,使上述操作生效
chattr +i /etc/lilo.conf.anaconda   //设置LILO文件是不可写
2、设置默认口令和帐号长度与有效期
vi /etc/login.defs              //修改login.defs文件================================================
……
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN   8                   //修改系统默认密码长度为8位
PASS_WARN_AGE 7                   //口令有效期为7天
3、清除不设口令的帐号
vi /etc/passwd                      //修改passwd文件 =================================================
……
elain::500:501:elain:/home/elain:/bin/bash
……
//帐号elain 没有设置口令。因为第二项为空,说明此帐号无密码,这是非常危险的,应该将此类帐号删除或给它设置口令。
4、特别的帐号处理
删除无用的用户和组用户
命令如下:
删除用户 :userdel username
删除组用户:groupdel groupname
删除下列的用户:
adm
lp
sync
shutdown
halt
mail
--------------
news
uucp
operator
games                          //若没有MAIL服务器可删除
--------------
gopher                          //若没有X Windows服务器可删除
ftp                             //若不允许匿名访问 FTP删除此帐号
5、权限与文件系统
lsattr                          //列出文件的属性
chattr                          //改变文件的属性
a                        //只可添加属性
i                        //不可改变属性
修改系统中关键文件如下:
passwd
passwd._
shadow
shadown._
xinetd.conf
services
lilo.conf等
例:chmod 600 /etc/xinetd.conf     //修改文件属主为root
chattr +(-)i /etc/xinetd.conf      //设置为不能(取消)修改
6、限制系统使用资源
vi /etc/security/limits.conf
=================================================
……
加入或修改下面这几行:
*hard core 0                 //禁止创建core文件
*hard rss   5000              //除root外,其它用户内存使用为5M
*hard nproc 20                //限制最多进程为20
vi /etc/pam.d/login
=================================================
……
session required /lib/security/pam_limits.so
//在文件末尾加入上面这一行
7、设置自动注销帐号的登录
vi /etc/profile
===================================================
……
HOSTNAME='/bin/hostname'
HISTSIZE=1000       //这是历史记录数,越小越好
tmout=300           //添加此行,表示系统在五分钟内没有任何操作,将自动这个帐号注销
8、/etc/securetty文件安全设置
vi /etc/securetty
====================================================
tty1
#tty2
……
#tty11              //在默认的内容中注释掉除tty1外的所有tty,表示root只能在tty1终端登录
9、禁止外来PING请求,防止补攻击
vi /etc/rc.d/rc.local
====================================================
echo 1>/proc/sys/net/ipv4/icmp_echo_ignore_all
//添加上面一行,可阻止系统响应任何外来的PING请求
10、限制显示出系统版本信息
当用户进入LINUX系统时系统将告诉用户LINUX版本号,内核版本号和服务器主机名。
vi /etc/rc.d/rc.local
=====================================================
在里面添加如下:
……
#This will overwrite /etc/issue at every boot.So,make any changesyou
#want to make to /etc/issue here oryou will lose them when you reboot.
#echo""> /etc/issue
#echo"$R">> /etc/issue
#echo"Kernel $(uname -r)on$a $(uname -m)">>/etc/issue
#
#cp -f /etc/issue /etc/issue.net
#echo >>/etc/issue
……
然后,执行下面几行命令
#rm -f /etc/issue
#rm -f /etc/issue.net
#touch /etc/issue
#touch /etc/issue.net
也可以单独编辑一个命令(telnet),如修改/etc/inetd.conf
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h
这样,用户TELNET服务器时,就不会显示出系统版本信息等了,只显示“login:”。
11、设置文件/etc/host.conf,防止IP欺骗
vi /etc/host.conf
===================================================
……
#Lookup names via DNS first then fall back to /etc/hosts.
order bind,hosts
#We don't have machines with multipe IP addresses on the same card
(likevirtual server,IP Aliasing).
multi off
#Chesk for IP address spoofing.
nospoof on
IP Spoofing:IP-Spoofing is a security exploit that works by trichking
computers in a trust relationship that you are someone that you really aren.
//添加上面几行来防止IP欺骗攻击
12、禁止 su作为root
vi /etc/pam.d/su
======================================================
……
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=elain
在文件内添加如上两行,这表示只有用户组elain里的成员可以用su作为root
若希望用记admin能su作为root,可运行以下命令:
#usermod -G10 admin
13、禁止使用CTRL+ALT+DEL重启服务器
vi /etc/inittab
……
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now        //用“#”注释掉此行即可
然后运行:
#/sbin/init -q
14、注销时删除命令记录
vi /etc/skel/.bash_logout
============================================================
rm -f $HOME/.bash_history
15、确保开启的服务安全
常用服务方面的命令:
grep -v "#" /etc/services                        //显示没有被注释掉的服务
ps -eaf|wc -l                                    //统计当前系统打开服务的总数
netstat -na (远程后面可加ip)                     //查看当前运行的服务
netstat -an |grep LISTEN                         //查看是否有可疑端口打开
当然,也可以执行如下命令:
shattr +i /etc/services                          //设置为不可理性属性
Linux启动时先检测脚本文件,在REDHAT下,在/etc/rc.d/rc3.d(rc5.d)下(图形化),脚本名字为启动顺序。
K 表示杀死进程
S 表示启动的服务
如在启动时禁止一个服务,只需把该服务的脚本文件的大写“S”更改为小写“s”
注意,以下3个服务漏洞很多,强烈建议关闭
yppasswdd(NIS服务器)
ypserv(NIS服务器)
nfs(NFS服务器)
16、LINUX防火墙安全配置
system-config-securitylevel
17、LINUX系统安全工具
Sxid:检查系统中的suid,sgid以及没有主人的文件
Skey:一次性口令工具
Logrotate:日志循环工具
Logcheck:日志管理工具
Swatch:日志管理工具,比logcheck实时
Ssh(openssh):提供安全的连接认证
Portsentry:反扫描工具,监视自己的udp和tcp端口
Tripwire:提供系统完整性检查
Gnupg:对单个文件进行加密以及创建数字签名
Hostsentry:基于主机的入侵检测,将连接记入日志
ipchains Linux:发行版自带的包过滤形防火墙
Anti-sniff:反嗅探工具,检查网络中是否有嗅探器
Freeswan:在LINUX中实现 VPN的工具
Syslog-ng:替代syslog的日志文件系统
Scandns:进行DNS检查追踪工具
Whisker:CGI扫描器
Snoopy:通过跟踪execve系统调用记录文件的命令
Krnsniff:一个基于内核的监听模块
Iptable:用来替代ipchains包过滤防火墙
Imsafe:通过跟踪系统调用来检测缓冲溢出等问题
Iplog:对来往的包进行日志记录
Solaris designer:内核补丁,防止缓冲溢出等
Stackguard:作为补丁修补GCC,防止缓冲溢出
DTK:Honey port欺骗式防御
Antiroute:阻止和记录基于路由的跟踪
============================================
收集于网络,希望能为广大Linux爱好者提供一定的帮助,
如有更好的意见,敬请完善!
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容