服务器限制某个端口只允许特定IP访问(处理第三方依赖漏洞)

最近项目部署之后,有些客户开始进行系统系统漏洞扫描,其中出现问题多的一个就是我们项目所依赖的Elasticsearch(es检索服务),很容易就被扫出来各种高危漏洞,而且这些漏洞我们在处理起来是很棘手的,毕竟这个是依赖于开源的一些服务,我们不可能等到厂商直接解决这些问题,那么我们只能自己尝试解决这些问题喽!

1、解决思路

(1)问题现象描述

(2)问题解决思路

好多问题,这解决起来根本无从下手啊,这要是解决起来,难不成我们还要去改人家的源码吗?想想都不现实。好在最后想到了一个思路:既然这些漏洞是通过访问特定的端口,从而获取到一些用户安全方面的信息,那么我们直接将这个Elasticsearch所依赖的端口给他禁用掉不就行了吗,而且一劳永逸。我们在指定当前Elasticsearch所占用的端口只允许特定的IP或者只允许本机访问,那么这样我们系统对于Elasticsearch的依赖不也能正常使用了嘛。

2、限制特定端口只允许特定IP访问

因为我们的项目基本都是基于docker环境部署的,所以以下操作在docker环境下是可行的,其他环境部署的可以试一试

(1)知识点

默认情况下 docker 会在 iptables 里创建优先级比 firewalld 高的规则。使用 firewalld 创建的规则对 docker 的容器就不会产生作用。 所以就会出现我们在firewalld设置端口访问控制,并不能完成限制特定IP访问的目的。

(2)操作步骤

-- 查看DOCKER 开放的规则

iptables --line -nvL DOCKER

-- 禁用9200端口

iptables -I DOCKER -p tcp --dport 9200 -j DROP

-- 允许10.4.56.13可以访问本机9200端口

iptables -I DOCKER -s 10.4.56.13 -p tcp --dport 9200 -j ACCEPT

-- 删除防火墙规则,需指定规则序号,规则序号通过命令:iptables --line -nvL DOCKER 查询

iptables -D DOCKER 规则序号 4

-- 保存规则(如果保存失败,或者防火墙不能重启,下次操作系统重启以后已配置规则会失效)

systemctl save iptables 或者 service iptables save

-- 重启防火墙

systemctl iptables restart

(3)注意

-- 如果执行service iptables save

报如下错误:

The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.

-- 原因:

从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 daemon,原来管理系统启动和管理系统服务的相关命令全部由 systemctl 命令来代替。service 命令之保留了极少部分使用,大部分命令都要改用 systemctl 命令来使用。

-- 解决方法:

-- 首先停止防火墙,再禁用firewalld:

systemctl stop firewalld

systemctl mask firewalld

yum install iptables-services

service iptables start

chkconfig iptables on

相关推荐
星辰云-10 分钟前
# Linux Centos系统硬盘分区扩容
linux·运维·centos·磁盘扩容
Hellc00722 分钟前
Nginx 高级 CC 与 DDoS 防御策略指南
运维·nginx·ddos
feilieren37 分钟前
Docker 安装 Elasticsearch 9
运维·elasticsearch·docker·es
Clownseven1 小时前
云端备份与恢复策略:企业如何选择最安全的备份解决方案
安全
qq_171538851 小时前
TCP/IP协议精解:IP协议——互联网世界的邮政编码系统
网络·网络协议·tcp/ip
KaiwuDB1 小时前
使用Docker实现KWDB数据库的快速部署与配置
数据库·docker
小皮侠2 小时前
nginx的使用
java·运维·服务器·前端·git·nginx·github
兮动人2 小时前
获取终端外网IP地址
java·网络·网络协议·tcp/ip·获取终端外网ip地址
Maki Winster2 小时前
在 Ubuntu 下配置 oh-my-posh —— 普通用户 + root 各自使用独立主题(共享可执行)
linux·运维·ubuntu
cleble2 小时前
(转)使用DockerCompose部署微服务
docker