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

ops/2024/12/17 16:12:04/

        最近项目部署之后,有些客户开始进行系统系统漏洞扫描,其中出现问题多的一个就是我们项目所依赖的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


http://www.ppmy.cn/ops/142684.html

相关文章

Asp.net 做登录验证码(MVC)

public class ValidateCode{/// <summary>/// 创建随机数/// </summary>/// <param name"num"></param>/// <returns></returns>public string CreateRandom(int num){string str "ABCDEFGHJKMNPQRSTUVWXYZabcdefghjkmnpq…

HICE-day6

二层交换 交换基础 所谓的二层交换机指的是针对数据的二层头部&#xff08;以太网帧头&#xff09;中的MAC地址进行寻址并转发数据的交换设备。二层交换机不具备路由功能&#xff0c;它工作在OSI七层模型的第二层&#xff0c;因此被称为二层交换机。 上图中&#xff0c;PC1、…

性能测试jmeter连接数据库jdbc(sql server举例)

一、下载第三方工具包驱动数据库 1. 因为JMeter本身没有提供链接数据库的功能&#xff0c;所以我们需要借助第三方的工具包来实现。 &#xff08;有这个jar包之后&#xff0c;jmeter可以发起jdbc请求&#xff0c;没有这个jar包&#xff0c;也有jdbc取样器&#xff0c;但不能发…

ip地址暴露了怎么办?手机怎样改ip地址以保障安全

在数字化时代&#xff0c;IP地址作为我们连接互联网的“身份证”&#xff0c;其安全性至关重要。然而&#xff0c;有时我们的IP地址可能会因各种原因暴露&#xff0c;从而引发隐私泄露、网络攻击等风险。本文将为您详细解析IP地址暴露后的应对措施&#xff0c;特别是针对手机用…

为什么要自定义类加载器

自定义类加载器在Java中扮演着重要的角色&#xff0c;其主要原因包括以下几个方面&#xff1a; 隔离类库&#xff1a; 自定义类加载器允许开发者创建独立的类空间&#xff0c;从而隔离不同的类库。这对于插件式架构或模块化系统非常有用&#xff0c;每个插件或模块可以拥有自己…

深度学习模型、算法与应用的全方位解析

目录 一、深度学习模型 1. 卷积神经网络&#xff08;CNN&#xff09; 2. 循环神经网络&#xff08;RNN&#xff09; 3. 长短期记忆网络&#xff08;LSTM&#xff09; 4. 生成对抗网络&#xff08;GAN&#xff09; 5. Transformer及其变种&#xff08;BERT, GPT&#xff09…

音视频入门基础:MPEG2-TS专题(17)——FFmpeg源码中,解析TS program map section的实现

一、引言 由《音视频入门基础&#xff1a;MPEG2-TS专题&#xff08;16&#xff09;——PMT简介》可以知道&#xff0c;PMT表&#xff08;Program map table&#xff09;由一个或多个段&#xff08;Transport stream program map section&#xff0c;简称TS program map sectio…

Docker之mysql主从复制

1、​​主从搭建步骤 1.1 新建主服务器容器实例3307 docker run -p 3307:3306 --name mysql-master \ -v /mydata/mysql-master/log:/var/log/mysql \ -v /mydata/mysql-master/data:/var/lib/mysql \ -v /mydata/mysql-master/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORDroot …