您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

增强Linux/Unix服务器系统安全性的知识

添加时间:2012-4-1  添加: admin 
本文将介绍一些增强Linux/Unix服务器系统安全性的知识。
  系统安全记录文件
  操作系统内部的记录文件是检测是否有网络入侵的重要线索。如果你的系统是直接连到Internet,你发现有很多人对你的系统做Telnet/FTP登录尝试,可以运行“#more /var/log/secure | grep refused”来检查系统所受到的攻击,以便采取相应的对策,如使用SSH来替换Telnet/rlogin等。
  启动和登录安全性
  1. BIOS安全
  设置BIOS密码且修改引导次序禁止从软盘启动系统。
  2.用户口令
  用户口令是Linux安全的一个基本起点,很多人使用的用户口令过于简单,这等于给侵入者敞开了大门,虽然从理论上说,只要有足够的时间和资源可以利用,就没有不能破解的用户口令。但选取得当的口令是难于破解的,较好的用户口令是那些只有他自己容易记得并理解的一串字符,并且绝对不要在任何地方写出来。
  3.默认账号
  应该禁止所有默认的被操作系统本身启动的并且不必要的账号,当你第一次安装系统时就应该这么做,Linux提供了很多默认账号,而账号越多,系统就越容易受到攻击。
  可以用下面的命令删除账号。
  # userdel用户名
  或者用以下的命令删除组用户账号。
  # groupdel username  
  4.口令文件
  chattr命令给下面的文件加上不可更改属性,从而防止非授权用户获得权限。
  # chattr +i /etc/passwd  
  # chattr +i /etc/shadow  
  # chattr +i /etc/group  
  # chattr +i /etc/gshadow  
  5.禁止Ctrl+Alt+Delete重新启动机器命令
  修改/etc/inittab文件,将“ca::ctrlaltdel:/sbin/shutdown -t3 -r now”一行注释掉。然后重新设置/etc/rc.d/init.d/目录下所有文件的许可权限,运行如下命令:
  # chmod -R 700 /etc/rc.d/init.d/*  
  这样便仅有root可以读、写或执行上述所有脚本文件。
  6.限制su命令
  如果你不想任何人能够用su作为root,可以编辑/etc/pam.d/su文件,增加如下两行:
  auth sufficient /lib/security/pam_rootok.so debug  
  auth required /lib/security/pam_wheel.so group=isd  
  这时,仅isd组的用户可以用su作为root。此后,如果你希望用户admin能够用su作为root,可以运行如下命令:
  # usermod -G10 admin  
  7.删减登录信息
  默认情况下,登录提示信息包括Linux发行版、内核版本名和服务器主机名等。对于一台安全性要求较高的机器来说这样泄漏了过多的信息。可以编辑/etc/rc.d/rc.local将输出系统信息的如下行注释掉。
  # This will overwrite /etc/issue at every boot. So,make any changes you  
  # want to make to /etc/issue here or you will lose them when you reboot
  # echo "">/etc/issue  
  # echo "">>/etc/issue  
  # echo "Kernel 100 100uname -r) on 100 100uname -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  
  限制网络访问
  1.NFS访问
  如果你使用NFS网络文件系统服务,应该确保你的/etc/exports具有最严格的访问权限设置,也就是意味着不要使用任何通配符、不允许root写权限并且只能安装为只读文件系统。编辑文件/etc/exports并加入如下两行。
  /dir/to/export host1.mydomain.com(ro,root_squash)  
  /dir/to/export host2.mydomain.com(ro,root_squash)  
  /dir/to/export是你想输出的目录,host.mydomain.com是登录这个目录的机器名,ro意味着mount成只读系统,root_squash禁止root写入该目录。为了使改动生效,运行如下命令。
  # /usr/sbin/exportfs -a  
  2.Inetd设置
  首先要确认/etc/inetd.conf的所有者是root,且文件权限设置为600。设置完成后,可以使用“stat”命令进行检查。
  # chmod 600 /etc/inetd.conf  
  然后,编辑/etc/inetd.conf禁止以下服务。
  ftp telnet shell login exec talk ntalk imap pop-2 pop-3 finger auth  
  如果你安装了ssh/scp,也可以禁止掉Telnet/FTP。为了使改变生效,运行如下命令:
  #killall -HUP inetd  
  默认情况下,多数Linux系统允许所有的请求,而用TCP_WRAPPERS增强系统安全性是举手之劳,你可以修改/etc/hosts.deny和/etc/hosts.allow来增加访问限制。例如,将/etc/hosts.deny设为“ALL: ALL”可以默认拒绝所有访问。然后在/etc/hosts.allow文件中添加允许的访问。例如,“sshd: 192.168.1.10/255.255.255.0 gate.openarch.com”表示允许IP地址192.168.1.10和主机名gate.openarch.com允许通过SSH连接。
  配置完成后,可以用tcpdchk检查:  
  # tcpdchk  
  tcpchk是TCP_Wrapper配置检查工具,它检查你的tcp wrapper配置并报告所有发现的潜在/存在的问题。
  3.登录终端设置
  /etc/securetty文件指定了允许root登录的tty设备,由/bin/login程序读取,其格式是一个被允许的名字列表,你可以编辑/etc/securetty且注释掉如下的行。
  #tty1  
  # tty2  
  # tty3  
  # tty4  
  # tty5  
  # tty6  
  这时,root仅可在tty1终端登录。
  4.避免显示系统和版本信息
  如果你希望远程登录用户看不到系统和版本信息,可以通过以下操作改变/etc/inetd.conf文件:
  telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h  
  加-h表示telnet不显示系统信息,而仅仅显示“login:”。
  防止攻击
  1.阻止ping  
  如果没人能ping通你的系统,安全性自然增加了。为此,可以在/etc/rc.d/rc.local文件中增加如下一行:
  echo 1>/proc/sys/net/ipv4/
  icmp_echo_ignore_all  
  2.防止IP欺骗
  编辑host.conf文件并增加如下几行来防止IP欺骗攻击。
  order bind,hosts  
  multi off  
  nospoof on  
  3.防止DoS攻击
  对系统所有的用户设置资源限制可以防止DoS类型攻击。如最大进程数和内存使用数量等。例如,可以在/etc/security/limits.conf中添加如下几行:
  * hard core 0  
  * hard rss 5000  
  * hard nproc 20  
  然后必须编辑/etc/pam.d/login文件检查下面一行是否存在。
  session required /lib/security/pam_limits.so  
  上面的命令禁止调试文件,限制进程数为50并且限制内存使用为5MB。
  经过以上的设置,服务器已经可以对绝大多数已知的安全问题和网络攻击具有免疫能力,仍然要时刻注意网络安全动态,随时对已经暴露出的和潜在的安全漏洞进行修补。以上来源于百事通文档h t t p://w w w.1 1 4w.com/l i s t -259-1.html,Linux认证。
分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站