分享到:
发表于 2023-07-27 11:00:34 楼主 | |
1、设定TCP_Wrappers防火墙 linux本身有两层安全防火墙,通过IP过滤机制的iptables实现第1层防护。 iptables防火墙通过直观地监视系统的运行状况,阻挡网络中的一些恶意扫描和攻击,保护整个系统正常运行,免遭攻击和破坏。如果通过了第1层防护,那么下一层防护就是TCP_Wrappers了。通过TCP_Wrappers可以实现对系统中提供的某些服务的开放和关闭、允许与禁止,从而更有效地保证系统安全运行。
安装: #yum install tcp_wrappers TCP_Wrappers防火墙的实现是通过/etc/hosts.allow和/etc/hosts.deny两个文件来完成的,首先看一下设定的格式: service:host(s) [:action] l service:代表服务名,例如sshd、vsftpd等 l host(s):主机名或者IP地址,可以有多个,例如192.168.101.85 l action:动作,符合条件后锁采取的动作 l 配置文件中常用的关键字如下所述: l ALL:所有服务或者所有IP l ALL EXCEPT:除去指定服务或IP后的所有的服务或者所有IP l 例如: ALL:ALL EXCEPT 192.168.101.85 上述命令表示除了192.168.101.85这台服务器,任何服务器执行所有服务时被允许或被拒绝。
例如:互联网上一台linux服务器,实现的目标是:仅仅允许192.168.101.85及域名www.blserver.cn通过SSH服务远程登录到系统,下面介绍具体的设置过程: 首先设定允许登录的服务器,即配置/etc /hosts.allow文件,只需将下面规则加入/etc/hosts.allow即可 sshd: 192.168.101.85 sshd: www.blserver.cn
接着设置不允许登录的机器,也就是配置/etc/hosts.deny文件。一般情况下,linux会首先判断/etc/hosts.allow这个文件。如果远程登录的计算机满足文件/etc/hosts.allow设定,就不会去使用/etc/hosts.deny文件了;相反,如果不满足/etc/hosts.allow文件设定的规则,就会去使用/etc/hosts.deny文件。如果满足/etc/hosts.deny的规则,此主机就被限制为不可访问linux服务器。因此,当设定好/etc/hosts.allow文件访问规则后,只需要设置/etc/hosts.deny为“所有计算机都不能登录状态”: sshd:ALL 这样,TCP_Wrappers防火墙就设置完毕了。
2、合理使用shell历史命令记录功能 在Linux下可以通过history命令查看用户所有的历史操作记录,同时shell命令操作记录默认保存在用户目录下的.bash_history文件中。通过这个文件可以查询shell命令的执行历史,有助于运维人员进行系统审计和问题排查。这就需要合理的保护或备份.bash_history文件。 下面这个方法,可以实现详细记录登录过系统的用户、IP、地址、shell命令已经详细操作时间等,并将这些信息以文件的形式保存在一个安全的地方,以供系统审计和故障排查。
将下面这段代码添加到/etc/profile文件中,即可实现上述功能。 #history USER_IP=`who -u am i 2>/dev/null | awk ‘{print $NF}’ | sed -e ‘s/ [ () ] // g’` HISTDIR=/usr/share/.history if [ -z $USER_IP ] ihen USER_IP=`hostname` fi if [ ! -d $HISTDIR ] then mkdir -p $HISTDIR chmod 777 $HISTDIR fi if [ ! -d $HISTDIR/${LOGNAME} ] then mkdir -p $HISTDIR/${LOGNAME} chmod 300 $HISTDIR/${LOGNAME} fi export HISTSIZE=4000 DT=`date +%Y%m%d_%H%M%S` export HISTFILE=”$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT” export HISTTIMEFORMAT=”[%Y.%m.%d %H:%M:%S]” chmod 600 $HISTDIR/${LOGNAME}/*.history* 2>/dev/null
这段代码将每个用户的shell命令执行历史以文件的形式保存在/usr/share/.history目录中,每个用户一个文件夹,并且文件夹下的每个文件以IP地址加shell命令操作时间的格式命名。
3、SSH登录系统策略 linux服务器的远程维护管理都是通过SSH服务完成的,默认使用22端口监听。这些默认的配置已经成为黑-客扫描的常用方式,所以对SSH服务的配置需要做一些安全加固和优化。 SSH服务的配置文件为/etc/ssh/sshd_config,常用的优化选项有如下几个: Port 22221 SSH默认端口配置,修改默认22端口为1万以上端口号,避免被扫描和攻击。 UseDNS no 不使用DNS反查,可提高SSH连接速度。 GSSAPIAuthentication no 关闭GSSAPI验证,可提高SSH连接速度。 PermitRootLogin no 禁止root账号SSH登录。
4、重要文件加锁 Linux下锁定文件的命令是chattr,查询文件属性命令是lsattr #chattr +i /etc/sudoers #chattr +i /etc/shadow #chattr +i /etc/passwd +i即immutable,用来设定文件不能被修改、删除、重命名、设定链接等,同时不能写 入或新增内容。 #chattr +a /var/log/messages #chattr +a /var/log/wtmp +a即append,设定该参数后,只能向文件中添加数据,而不能删除。常用于服务器日志文件安全。
|
|
个性签名:宝禄计算
|
针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员 、 查看帮助 或 给我提意见