Linux下常用安全策略设置方法有哪些
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。其中安全问题也是一大关键,那么Linux下常用安全策略设置方法有哪些呢?如何设置Linux下常用安全策略?需要的朋友可以参考下
方法步骤
1. 禁止系统响应任何从外部/内部来的ping请求攻击者一般首先通过ping命令检测此主机或者IP是否处于活动状态,如果能够ping通 某个主机或者IP,那么攻击者就认为此系统处于活动状态,继而进行攻击或破坏。如果没有人能ping通机器并收到响应,那么就可以大大增强服务器的安全性,linux下可以执行如下设置,禁止ping请求:
[root@localhost ~]#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文件:
复制代码代码如下:
[root@localhost ~]#vi /etc/inittab
找到此行:ca::ctrlaltdel:/sbin/shutdown -t3 -r now在之前加上“#”
然后执行:
复制代码代码如下:
[root@localhost ~]#telinit q
3.限制Shell记录历史命令大小
默认情况下,bash shell会在文件$HOME/.bash_history中存放多达1000条命令记录(根据系统不同,默认记录条数不同)。系统中每个用户的主目录下都有一个这样的文件。
这么多的历史命令记录,肯定是不安全的,因此必须限制该文件的大小。
可以编辑/etc/profile文件,修改其中的选项如下:
HISTSIZE=30
表示在文件$HOME/.bash_history中记录最近的30条历史命令。如果将“HISTSIZE”设置为0,则表示不记录历史命令,那么也就不能用键盘的上下键查找历史命令了。
4.删除系统默认的不必要用户和组
Linux提供了各种系统账户,在系统安装完毕,如果不需要某些用户或者组,就要立即删除它,因为账户越多,系统就越不安全,越容易受到攻击。
删除系统不必要的用户用下面命令
复制代码代码如下:
[root@localhost ~]# userdel username
删除系统不必要的组用如下命令:
复制代码代码如下:
[root@localhost ~]# groupdel groupname
Linux系统中可以删除的默认用户和组有:
删除的用户,如adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher等。
删除的组,如adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers等。
5. 关闭selinux
SELinux是 Security-Enhanced Linux的简称,是一种内核强制访问控制安全系统,目前SELinux已经集成到Linux 2.6内核的主线和大多数Linux发行版上,由于SELinux与现有Linux应用程序和Linux内核模块兼容性还存在一些问题,因此建议初学者先关闭selinux,等到对linux有了深入的认识后,再对selinux深入研究不迟!
查看linux系统selinux是否启用,可以使用getenforce命令:
复制代码代码如下:
[root@localhost ~]# getenforce
Disabled
关闭selinux,在redhat系列发行版中,可以直接修改如下文件:
复制代码代码如下:
[root@localhost ~]#vi /etc/sysconfig/selinux# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
将SELINUX=enforcing修改为SELINUX=disabled, 重启系统后将会停止SElinux。
6.设定tcp_wrappers防火墙
Tcp_Wrappers是一个用来分析TCP/IP封包的软件,类似的IP封包软件还有iptables,linux默认都安装了此软件,作为一个安全的系统,Linux本身有两层安全防火墙,通过IP过滤机制的iptables实现第一层防护,iptables防火墙通过直观地监视系统的运行状况,阻挡网络中的一些恶意攻击,保护整个系统正常运行,免遭攻击和破坏。关于iptables的实现,将在下个章节详细讲述。如果通过了第一层防护,那么下一层防护就是tcp_wrappers了,通过Tcp_Wrappers可以实现对系统中提供的某些服务的开放与关闭、允许和禁止,从而更有效地保证系统安全运行。
Tcp_Wrappers的使用很简单,仅仅两个配置文件:/etc/hosts.allow和/etc/hosts.deny(1) 查看系统是否安装了Tcp_Wrappers
[root@localhost ~]#rpm -q tcp_wrappers 或者[root@localhost ~]#rpm -qa | grep tcp
tcp_wrappers-7.6-37.2
tcpdump-3.8.2-10.RHEL4
如果有上面的类似输出,表示系统已经安装了tcp_wrappers模块。如果没有显示,可能是没有安装,可以从linux系统安装盘找到对应RPM包进行安装。
(2)tcp_wrappers防火墙的局限性
系统中的某个服务是否可以使用tcp_wrappers防火墙,取决于该服务是否应用了libwrapped库文件,如果应用了就可以使用tcp_wrappers防火墙,系统中默认的一些服务如:sshd、portmap、sendmail、xinetd、vsftpd、tcpd等都可以使用tcp_wrappers防火墙。
(3) tcp_wrappers设定的规则
tcp_wrappers防火墙的实现是通过/etc/hosts.allow和/etc/hosts.deny两个文件来完成的,首先看一下设定的格式:
service:host(s) [:action]
l service:代表服务名,例如sshd、vsftpd、sendmail等。
l host(s):主机名或者IP地址,可以有多个,例如192.168.60.0 action:动作, 符合条件后所采取的动作。
几个关键字:
l ALL:所有服务或者所有IP。
l 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防火墙就设置完毕了。
补充:Linux基本命令
1.ls命令:
格式::ls [选项] [目录或文件]
功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。
常用选项:
-a :列出目录下的所有文件,包括以 . 开头的隐含文件。
-d :将目录像文件一样显示,而不是显示其他文件。
-i :输出文件的i节点的索引信息。
-k :以k字节的形式表示文件的大小。
-l :列出文件的详细信息。
-n :用数字的UID,GID代替名称。
-F : 在每个文件名后面附上一个字符以说明该文件的类型,“*”表示可执行的普通文 件;“/”表示目录;“@”表示符号链接;“l”表示FIFOS;“=”表示套接字。
2.cd命令
格式:cd [目录名称]
常用选项:
cd .. 返回上一级目录。
cd ../.. 将当前目录向上移动两级。
cd - 返回最近访问目录。
3.pwd命令
格式: pwd
功能:显示出当前工作目录的绝对路径。
相关阅读:Linux主要特性
完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
Linux下常用安全策略设置相关文章: