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 -------------- 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) |