免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 834 | 回复: 0
打印 上一主题 下一主题

linux安全 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-31 15:58 |只看该作者 |倒序浏览
物理安全



物理安全的考虑还是与Unix服务器有很大不同的。使用Linux做服务器时,一定要把它锁在机房里,不让别人可以物理接近。本地破解Linux密码比Solaris要方便,不必使用安装光盘重启,只需要在系统重新启动的时候选择linux single或linux 1的参数,就可以在进入单用户模式后直接修改root密码。如果限于条件,没有机房(有不少小公司倒真的是这样的),那就用机柜、铁柜等把服务器锁起来,但这时要注意服务器的通风、温度等问题。这样的服务器最好使用远程管理,不在本地接显示器、键盘和鼠标(为黑客本地做坏事制造尽量多的不方便因素,呵呵)。不过作为Linux运行平台的PC服务器,在BIOS中可以设置启动密码,可以为我们提供这方面的安全保障,在重启机器时必须有BIOS密码才可以进入系统引导过程,防止了非法reboot。

Linux有自己的lilo启动管理器,我们可以在启动时选择相应的image,也就是不同的操作系统或者内核。在lilo里面也可以设置启动密码,也许是大家平时没有注意到的。这些软件、密码等方法也不是完全安全,因为BIOS启动密码可以通过放电和厂家默认密码破解,还可以从软盘、光盘启动绕过。我们还需要通过设置禁止从上述设备启动,而且最好在装机时考虑选择那些带锁的机箱,避免别人打开机箱放电。虽然机箱上挂把锁会让人觉得是个守财奴的样子,但安全第一嘛。

这样就会给黑客造成了很多麻烦,他们需要做更多的工作才能达到其不可示人的目的,既花费时间又会留下更多的证据。

其实只要加一条password=“xxxxxxx”就可以了,注意这个密码的选项是只对这一个image有效的。也就是说如果您想用密码保护3个image,那么就需要为每一个image都分配一个密码,加在各自相应的区域。还要把lilo.conf文件的属性改为600,避免被普通用户读到。

与那些专业的服务器不同的是,Linux系统还可以作为桌面操作端,供终端用户使用。如果在家庭应用中,物理安全当然不必太过考虑,但还是要注意放在不易被伤害的地方,远离水房、厨房、卫生间。用Linux做桌面操作时,与Windows系统一样,我们可以锁定屏幕,在console里输入

# xlock

就可以像Windows的屏幕保护一样,在重新使用桌面时需要输入密码。

再次与大家强调一下物理安全是其他安全的基础,因为这与可用性相关,需要很重视。不但要防止人为破坏,还要对自然及环境的安全性加以考虑。



文件系统安全



◆ 文件和目录的权限。根据自己的特定环境与需要设置访问权限,具体方法为:

/etc/inetd.conf的所有者是root,且文件权限为600;

/etc/rc.d/init.d/* 所有文件所有者是root,且权限为700。在chmod时要加“-R”参数,让所有子目录也生效。

◆ umask。超级用户的umask最好设置为077。

◆ SetUID与SetGID权限。找出不合适的SetUID与SetGID文件并禁止此属性。一般来讲,Linux系统中有这些文件默认具有不适合的setuid与setgid权限,建议大家去除:

usr/bin/chage、/usr/bin/gpasswd、/usr/bin/wall、/usr/bin/chfn、/usr/bin/chsh、/usr/bin/newgrp、

/usr/bin/write、/usr/sbin/usernetctl、/usr/sbin/traceroute、/bin/mount、/bin/umount、/bin/ping、

/sbin/netreport。

◆ 账号与密码。特别是root账号的安全。如果可以,禁止下列账号:adm、lp、sync、shutdown、halt、news、uucp、games、mail、operator、gopher、ftp。组:adm、lp、mail、news、uucp、games、dip、pppusers、popusers、slipusers。注意有的组是某些服务必须的,禁止的时候要慎重考虑。

◆ su与sudo命令。基本上同Solaris的安全方法一样。Linux有一点特殊,就是用/etc/pam.d/su文件来强制某一组用户才能su为root,这样会更安全。如:

auth sufficient /lib/security/pam_rootok.so debug

auth required /lib/security/pam_wheel.so group=power

这样只有power这一组的用户可以su为root,其他用户想有这个特权,必须先被加入这个组中。

◆ cron安全。检查那些可能不安全的cron项目,禁止无用的用户使用crontab;

◆ 文件与进程检查工具 fuser与lsof。与Solaris基本相同;

◆ 完整性检查工具。使用Tripwire和Aide等。



网络设置安全



◆ 停止不必要的服务。从启动时就不运行不需要的服务。

◆ 在Linux中不得已而使用NFS时,要特别注意etc/exports 文件。让/etc/exports文件只对NFS存取权限进行,不要使用任何通配符,不允许root有写权限,mount成只读的分区。vi /etc/exports,改为:

  /dir/to/export host1.mydomain.com(ro,root_squash)

  /dir/to/export host2.mydomain.com(ro,root_squash)

修改后要执行 “/usr/sbin/exportfs -a” 使其生效。

◆ 用更安全的方式代替危险的服务。

◆ 用ssh代替明文的Telnet,进行安全的远程管理。

◆ 使用TCP-Wrappers,或者是比inetd更加强健的xinetd。

◆ SATAN,COPS这些Unix平台的漏洞检查程序同样对Linux有效。



Kernel的安全设置



Linux非常诱人的一个特点是用户可以自己定制Kernel来增加或者减少某些功能,使系统更加适合自己的需要。这里面也有不少与安全相关的选项,我们在编辑新的Kernel时可以注意激活它们。

此外,我们在编译新的Kernel时,别忘了经常查看是否有新的稳定版本发布出来,与打补丁一样,Kernel也是用最新的好。无论是运行make config、make menuconfig还是make xconfig,都可以找到下列的安全相关选项:

注意,这处给出的是2.0.X的Kernel选项。

◆ Network Firewalls (CONFIG_FIREWALL)

如果您的Linux主机要运行防火墙,此选项是需要激活的。

◆ IP: syn cookies (CONFIG_SYN_COOKIES)

此选项用来防止“SYN Attack”,拒绝服务攻击的一种。

◆ IP: Firewalling (CONFIG_IP_FIREWALL)

同样是主机作为防火墙时必须的选项。

◆ IP:firewall packet logging (CONFIG_IP_FIREWALL_VERBOSE)

此选取项对防火墙接收到的数据包进行记录。

◆ IP: Drop source routed frames (CONFIG_IP_NOSR)

此选项用来丢弃源路由帧(包),源路由包的危害在Solaris安全中已经介绍过。

◆ IP: masquerading (CONFIG_IP_MASQUERADE)

此选项是一种假冒技术,即假冒被防火墙保护的机器。如果您用自己的Linux系统做防火墙,内部网中有一台机器想与外部通讯时,您的Linux机器可以把IP包转发给目的主机,而从目的主机看来这些数据是从那台机器直接发来的。

◆ IP: ICMP masquerading (CONFIG_IP_MASQUERADE_ICMP)

此选取项是ICMP通讯假冒,前面的假冒只是针对TCP与UDP通讯的。加上这个选项您的Linux防火墙就更能干一些了,呵呵。

◆ IP:transparent proxy support (CONFIG_IP_TRANSPARENT_PROXY)

此选取项支持透明代理。您的Linux防火墙支持此功能后,内网的机器向外访问时,会认为自己是与远程的主机在直接通信,这样对于终端用户来说方便一些。

◆ IP: always defragment (CONFIG_IP_ALWAYS_DEFRAG)

此选项使IP包总是在传输的时候分片,可以用于防止teardrop攻击。

◆ Packet Signatures (CONFIG_NCPFS_PACKET_SIGNING)

此选项对NCP包进行签名以提高安全性。

◆ IP: Firewall packet netlink device (CONFIG_IP_FIREWALL_NETLINK)

此选项让您可以通过程序来分析IP包的前128个字节,根据事先定义的规则决定是接收还是丢弃这个包。这一点有点类似于防火墙的功能。

下面是2.2.x kernel发布时,除了包括以上的安全选项外,新的功能:

◆ Port Forwarding

端口转发。当您想在Linux防火墙后面运行服务器,让其他人从防火墙外面访问时,启动此选项。

◆ Socket Filtering (CONFIG_FILTER)

套接字(socket)过滤。类似防火墙的功能,对那些在套接字中传送的数据进行过滤,丢弃那些不安全的数据。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP