iptables/mysql设置指定主机访问指定端口
本周,运维告知部署的服务被扫描发现漏洞,涉及的软件分别为mysql
,ZooKeeper
与Elasticsearch
.
因为最近任务繁重,人力资源紧张,因此无法抽出更多时间调整代码,添加权限认证.
与软件部署人员确认,上述三个软件均为内网访问,因此采用以下方式进行处理:
(1) mysql
设置访问ip
地址,即仅允许同一网段的若干台机器进行访问;
(2) ZooKeeper
以及Elasticsearch
主机添加ip
访问限制仅允许同一网段的若干台机器进行访问.
mysql
设置
#登陆mysql
mysql -u root -p
use mysql;
#获取mysql用户允许访问主机情况
select host,user from `user`;
#更新访问主机信息(此处假定用户为hello)
update user set host='172.20.192.%' where user='hello';
#更新权限
flush privileges;
#退出
exit
iptables
设置
主机均为centos
,此处以ZooKeeper
所在主机作为示范.
#查看主机端口占用情况(查看可知`ZooKeeper`开放`2181`端口)
netstat -tnl
#查看端口连接情况
netstat -anp | grep 2181
#关闭`firewalld`服务
systemctl stop firewalld
systemctl mask firewalld
#安装`iptables`
yum install iptables-services
#设置`iptables`开机启动
systemctl enable iptables
#启动`iptables`服务
systemctl start iptables
#禁用所有主机访问2181端口
iptables -I INPUT -p tcp --dport 2181-j DROP
#允许**172.20.192.110**主机访问2181端口(此处不同主机可以参考此条设置)
iptables -I INPUT -s 172.20.192.110 -p tcp --dport 2181 -j ACCEPT
# 保存当前处于ESTABLISHED以及RELATED阶段的TCP连接
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#保存`iptables`设置
service iptables save
#重启`iptables`设置
systemctl restart iptables
#查看`iptables`保存规则
cat /etc/sysconfig/iptables
#查看iptables运行状况
iptables -L -n -v
如果手滑,iptables
错误设置了某条规则,删除语句如下所示:
#查看错误设置的规则行号
iptables -L INPUT --line-numbers
#根据行号删除错误设置的规则(假设此处删除的是第14条规则)
iptables -D INPUT 14
补充:
根据进程id
查找程序运行地址:
#根据应用名查找应用进程`id`
ps -ef|grep ***
#根据id查找进程信息(假设进程`id`是110)
cd /proc/110
#通过以下语句,查找`cwd`对应位置,就是程序保存位置
ls -l
推荐iptables设置文章(很实用):
译Linux:25 个有用的 iptables 防火墙规则
PS:
如果您觉得我的文章对您有帮助,可以扫码领取下红包或扫码支持(随意多少,一分钱都是爱),谢谢!
支付宝红包 | 支付宝 | 微信 |
---|---|---|
![]() |
![]() |
![]() |