我可以: 邀请好友来看>>
ZOL星空(中国) > 技术星空(中国) > 服务器综合讨论星空(中国) > 系统安全与防护机制(系统安全)
帖子很冷清,卤煮很失落!求安慰
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

系统安全与防护机制(系统安全)

18浏览 / 0回复

宝禄,计算

宝禄,计算

0
精华
36
帖子

等  级:Lv.5
经  验:4837
  • Z金豆: 514

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:北京
  • 注  册:2023-04-10
  • 登  录:2024-05-24
  • 一举成名
  • 初领任务
发表于 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]

service:代表服务名,例如sshdvsftpd

host(s):主机名或者IP地址,可以有多个,例如192.168.101.85

action:动作,符合条件后锁采取的动作

配置文件中常用的关键字如下所述:

ALL:所有服务或者所有IP

ALL EXCEPT:除去指定服务或IP后的所有的服务或者所有IP

例如:  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命令操作时间的格式命名。

 

3SSH登录系统策略

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

+iimmutable,用来设定文件不能被修改、删除、重命名、设定链接等,同时不能写  入或新增内容。

#chattr +a /var/log/messages

#chattr +a /var/log/wtmp

+aappend,设定该参数后,只能向文件中添加数据,而不能删除。常用于服务器日志文件安全。

 

 


高级模式
星空(中国)精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表