几个小步聚打造安全Linux系统,小步聚打造linux因为第二项为空,说明


1、LILO安全设置

vi/etc/lilo.conf.anaconda//修改LILO文件===============================================


……


restricted//加入这行


password=111111//加入这行并设置密码为111111


……


================================================


chmod600/etc/lilo.conf.anaconda//设置为ROOT权限读取


/sbin/lilo-v//更新系统,使上述操作生效


chattr+i/etc/lilo.conf.anaconda//设置LILO文件是不可写

2、设置默认口令和帐号长度与有效期

vi/etc/login.defs//修改login.defs文件================================================


……


PASS_MAX_DAYS99999


PASS_MIN_DAYS0


PASS_MIN_LEN8//修改系统默认密码长度为8位


PASS_WARN_AGE7//口令有效期为7天

3、清除不设口令的帐号

vi/etc/passwd//修改passwd文件=================================================


……


elain::500:501:elain:/home/elain:/bin/bash


……


//帐号elain没有设置口令。因为第二项为空,说明此帐号无密码,这是非常危险的,应该将此类帐号删除或给它设置口令。

4、特别的帐号处理

删除无用的用户和组用户


命令如下:


删除用户:userdelusername


删除组用户:groupdelgroupname


删除下列的用户:


adm


lp


sync


shutdown


halt


mail


--------------


news


uucp


operator


games//若没有MAIL服务器可删除


--------------


gopher//若没有XWindows服务器可删除


ftp//若不允许匿名访问FTP删除此帐号

5、权限与文件系统

lsattr//列出文件的属性


chattr//改变文件的属性


a//只可添加属性


i//不可改变属性


修改系统中关键文件如下:


passwd


passwd._


shadow


shadown._


xinetd.conf


services


lilo.conf等


例:chmod600/etc/xinetd.conf//修改文件属主为root


chattr+(-)i/etc/xinetd.conf//设置为不能(取消)修改

6、限制系统使用资源

vi/etc/security/limits.conf


=================================================


……


加入或修改下面这几行:


*hardcore0//禁止创建core文件


*hardrss5000//除root外,其它用户内存使用为5M


*hardnproc20//限制最多进程为20

vi/etc/pam.d/login


=================================================


……


sessionrequired/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


====================================================


echo1>/proc/sys/net/ipv4/icmp_echo_ignore_all


//添加上面一行,可阻止系统响应任何外来的PING请求

10、限制显示出系统版本信息

当用户进入LINUX系统时系统将告诉用户LINUX版本号,内核版本号和服务器主机名。


vi/etc/rc.d/rc.local


=====================================================


在里面添加如下:


……


#Thiswilloverwrite/etc/issueateveryboot.So,makeanychangesyou


#wanttomaketo/etc/issuehereoryouwilllosethemwhenyoureboot.


#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


telnetstreamtcpnowaitroot/usr/sbin/tcpdin.telnetd-h


这样,用户TELNET服务器时,就不会显示出系统版本信息等了,只显示“login:”。

11、设置文件/etc/host.conf,防止IP欺骗

vi/etc/host.conf


===================================================


……


#LookupnamesviaDNSfirstthenfallbackto/etc/hosts.


orderbind,hosts


#Wedon'thavemachineswithmultipeIPaddressesonthesamecard


(likevirtualserver,IPAliasing).


multioff


#CheskforIPaddressspoofing.


nospoofon


IPSpoofing:IP-Spoofingisasecurityexploitthatworksbytrichking


computersinatrustrelationshipthatyouaresomeonethatyoureallyaren.


//添加上面几行来防止IP欺骗攻击

12、禁止su作为root

vi/etc/pam.d/su


======================================================


……


authsufficient/lib/security/pam_rootok.sodebug


authrequired/lib/security/pam_wheel.sogroup=elain


在文件内添加如上两行,这表示只有用户组elain里的成员可以用su作为root


若希望用记admin能su作为root,可运行以下命令:


#usermod-G10admin

13、禁止使用CTRL+ALT+DEL重启服务器

vi/etc/inittab


……


#ca::ctrlaltdel:/sbin/shutdown-t3-rnow//用“#”注释掉此行即可


然后运行:


#/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|grepLISTEN//查看是否有可疑端口打开


当然,也可以执行如下命令:


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:基于主机的入侵检测,将连接记入日志


ipchainsLinux:发行版自带的包过滤形防火墙


Anti-sniff:反嗅探工具,检查网络中是否有嗅探器


Freeswan:在LINUX中实现VPN的工具


Syslog-ng:替代syslog的日志文件系统


Scandns:进行DNS检查追踪工具


Whisker:CGI扫描器


Snoopy:通过跟踪execve系统调用记录文件的命令


Krnsniff:一个基于内核的监听模块


Iptable:用来替代ipchains包过滤防火墙


Imsafe:通过跟踪系统调用来检测缓冲溢出等问题


Iplog:对来往的包进行日志记录


Solarisdesigner:内核补丁,防止缓冲溢出等


Stackguard:作为补丁修补GCC,防止缓冲溢出


DTK:Honeyport欺骗式防御


Antiroute:阻止和记录基于路由的跟踪

============================================


收集于网络,希望能为广大Linux爱好者提供一定的帮助,


如有更好的意见,敬请完善!


相关内容

    暂无相关文章