常用的几个安全策略

Posted kevingrace

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用的几个安全策略相关的知识,希望对你有一定的参考价值。

 

1)禁止系统响应任何从外部/内部来的ping请求攻击者一般首先通过ping命令检测此主机或者IP是否处于活动状态
如果能够ping通 某个主机或者IP,那么攻击者就认为此系统处于活动状态,继而进行攻击或破坏。如果没有人能ping通机器并收到响应,那么就可以大大增强服务器的安全性,
linux下可以执行如下设置,禁止ping请求:
[[email protected] ~]# echo "1"> /proc/sys/net/ipv4/icmp_echo_ignore_all

默认情况下"icmp_echo_ignore_all"的值为"0",表示响应ping操作。
可以加上面的一行命令到/etc/rc.d/rc.local文件中,以使每次系统重启后自动运行。

2)禁止Control-Alt-Delete组合键重启系统
在linux的默认设置下,同时按下Control-Alt-Delete键,系统将自动重启,这是很不安全的,因此要禁止Control-Alt-Delete组合键重启系统,查看/etc/inittab文件:
[[email protected] ~]# cat /etc/inittab
.......
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
.......

[[email protected] ~]# cat /etc/init/control-alt-delete.conf
# control-alt-delete - emergency keypress handling
#
# This task is run whenever the Control-Alt-Delete key combination is
# pressed. Usually used to shut down the machine.
#
# Do not edit this file directly. If you want to change the behaviour,
# please create a file control-alt-delete.override and put your changes there.

start on control-alt-delete

exec /sbin/shutdown -r now "Control-Alt-Delete pressed"

可以将/etc/init/control-alt-delete.conf文件删除或移走或更名。
[[email protected] ~]# mv /etc/init/control-alt-delete.conf /etc/init/control-alt-delete.conf.bak

或者将/etc/init/control-alt-delete.conf文件里的内容注释掉!

3)限制Shell记录历史命令大小
默认情况下,bash shell会在文件$HOME/.bash_history中存放多达1000条命令记录(根据系统不同,默认记录条数不同)。系统中每个用户的主目录下都有一个这样的文件。
这么多的历史命令记录,肯定是不安全的,因此必须限制该文件的大小。
可以编辑/etc/profile文件,修改其中的选项如下:
[[email protected] ~]# vim /etc/profile
.......
HISTSIZE=1000
.......

默认Shell记录历史命令的条数是1000,可以修改为100条,即HISTSIZE=1000,表示在文件$HOME/.bash_history中记录最近的30条历史命令。
如果将"HISTSIZE"设置为0,则表示不记录历史命令,那么也就不能用键盘的上下键查找历史命令了。

4)设定tcp_wrappers防火墙
Tcp_Wrappers是一个用来分析TCP/IP封包的软件,类似的IP封包软件还有iptables,linux默认都安装了此软件,作为一个安全的系统,Linux本身有两层安全防火墙,通过IP
过滤机制的iptables实现第一层防护,iptables防火墙通过直观地监视系统的运行状况,阻挡网络中的一些恶意攻击,保护整个系统正常运行,免遭攻击和破坏。
如果通过了iptables的第一层防护,那么下一层防护就是tcp_wrappers了,通过Tcp_Wrappers可以实现对系统中提供的某些服务的开放与关闭、允许和禁止,从而更有效地保
证系统安全运行。
4.1)Tcp_Wrappers的使用很简单,仅仅两个配置文件:/etc/hosts.allow和/etc/hosts.deny查看系统是否安装了Tcp_Wrappers:
[[email protected] ~]# rpm -q tcp_wrappers
tcp_wrappers-7.6-58.el6.x86_64
如果有上面的类似输出,表示系统已经安装了tcp_wrappers模块。如果没有显示,可能是没有安装,可以从linux系统安装盘找到对应RPM包进行安装。

4.2)tcp_wrappers防火墙的局限性
系统中的某个服务是否可以使用tcp_wrappers防火墙,取决于该服务是否应用了libwrapped库文件,如果应用了就可以使用tcp_wrappers防火墙,系统中默认的一些服务如:
sshd、portmap、sendmail、xinetd、vsftpd、tcpd等都可以使用tcp_wrappers防火墙。

4.3)tcp_wrappers设定的规则(使用例子可以参考:http://www.cnblogs.com/kevingrace/p/6245859.html
tcp_wrappers防火墙的实现是通过/etc/hosts.allow和/etc/hosts.deny两个文件来完成的,首先看一下设定的格式:
service:host(s) [:action]

service:代表服务名,例如sshd、vsftpd、sendmail等。
host(s):主机名或者IP地址,可以有多个,例如192.168.60.0、www.ixdba.netl action:动作, 符合条件后所采取的动作。
几个关键字:
ALL:所有服务或者所有IP。
ALL EXCEPT:所有的服务或者所有IP除去指定的。

例如:ALL:ALL EXCEPT 192.168.60.132
表示除了192.168.60.132这台机器,任何机器执行所有服务时或被允许或被拒绝。
了解了设定语法后,下面就可以对服务进行访问限定。

例如:互联网上一台linux服务器,实现的目标是:仅仅允许222.90.66.4、61.185.224.66以及域名softpark.com通过SSH服务远程登录到系统,设置如下:
首先设定允许登录的计算机,即配置/etc/hosts.allow文件,设置很简单,只要修改/etc/hosts.allow(如果没有此文件,请自行建立)这个文件即可。
只需将下面规则加入/etc/hosts.allow即可。
sshd: 222.90.66.4 61.185.224.66 softpark.com
接着设置不允许登录的机器,也就是配置/etc/hosts.deny文件了。
一般情况下,linux会首先判断/etc/hosts.allow这个文件,如果远程登录的计算机满足文件/etc/hosts.allow设定的话,就不会去使用/etc/hosts.deny文件了,相反,如果
不满足hosts.allow文件设定的规则的话,就会去使用hosts.deny文件了,如果满足hosts.deny的规则,此主机就被限制为不可访问linux服务器,如果也不满足hosts.deny的
设定,此主机默认是可以访问linux服务器的,因此,当设定好/etc/hosts.allow文件访问规则之后,只需设置/etc/hosts.deny为"所有计算机都不能登录状态"即可。
sshd:ALL

这样,一个简单的tcp_wrappers防火墙就设置完毕了。

5)网络安全选项的设定
编辑 "/etc/sysctl.conf" 档案,并加入下面几行,
[[email protected] ~]# vim /etc/sysctl.conf  
# Enable ignoring broadcasts request(让系统对广播没有反应) 
net.ipv4.icmp_echo_ignore_broadcasts = 1   

# Disables IP source routing(取消 IP source routing)   
net.ipv4.conf.all.accept_source_route = 0   

# Enable TCP SYN Cookie Protection(开启 TCP SYN Cookie 保护)   
net.ipv4.tcp_syncookies = 1   

# Disable ICMP Redirect Acceptance(取消 ICMP 接受 Redirect)   
net.ipv4.conf.all.accept_redirects = 0   

# Enable bad error message Protection(开启错误讯息保护)   
net.ipv4.icmp_ignore_bogus_error_responses = 1   

# Enable IP spoofing protection, turn on Source Address Verification(开启 IP 欺骗保护)   
net.ipv4.conf.all.rp_filter = 1   

# Log Spoofed Packets, Source Routed Packets, Redirect Packets(记录Spoofed Packets, Source Routed Packets, Redirect Packets)   
net.ipv4.conf.all.log_martians = 1  

最后重新启动network  
[[email protected] ~]# /etc/rc.d/init.d/network restart 

或者sysctl –p 生效  
[[email protected] ~]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
































































以上是关于常用的几个安全策略的主要内容,如果未能解决你的问题,请参考以下文章

Linux下常用安全策略如何设置?

安全基础-E

浏览器的几种防护策略

“域安全策略”和“域控制器安全策略”的问题

Windows Server 2008 R2常规安全设置及基本安全策略

Windows Server 2008 R2 服务器常规安全设置及基本安全策略