Linux安全防御基础设置

2013-04-16 10:02
计算机与网络 2013年1期
关键词:补丁口令命令

现在主机服务器以windows和linux为主,但是就服务器安全性和使用率来说,linux的整体性能绝对是优于windows,不果再安全稳定的系统也的从细节抓起,以下列出几点linux安全防御的要点,虽然简单,但非常重要。

系统安全记录文件 操作系统内部的记录文件是检测是否有网络入侵的重要线索。如果你的系统是直接连到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"$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

限制网络访问

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。

安装补丁

由于各种linux厂商的分版不同,我们建议您访问相关主页获取信息

redhat

ftp://updates.redhat.com/

可使用下列命令安装补丁:

rpm-Fvh[文件名] debian http://www.debian.org/security/

您可以使用 apt来下载最新的安全更新。把以下的一行

deb http://security.debian.org/slink updates或deb http://security.debian.org/potato/updates main contrib non-free加进 /etc/apt/sources.list档内便可。

手工安装补丁包:

使用apt-get自动安装补丁包:首先,使用下面的命令更新内部数据库:

#apt-get update 然后,使用下面的命令安装更新软件包:

#apt-get upgrade

手工安装:

首先,使用下面的命令来下载补丁软件:

#wget url(url是补丁下载链接地址),然后,使用下面的命令来安装补丁:

#dpkg-i file.deb(file是相应的补丁名)经过以上的设置,你的Linux服务器已经可以对绝大多数已知的安全问题和网络攻击具有免疫能力,但一名优秀的系统管理员仍然要时刻注意网络安全动态,随时对已经暴露出的和潜在的安全漏洞进行修补。

猜你喜欢
补丁口令命令
只听主人的命令
高矮胖瘦
口 令
健胃补丁
绣朵花儿当补丁
补丁奶奶
移防命令下达后
好玩的“反口令”游戏
SNMP服务弱口令安全漏洞防范
这是人民的命令