当前位置: 首页 > news >正文

Linux 服务器安全优化:firewalld SSH 限制 白名单与 SCP 服务禁用流程

简介

在 Linux 服务器运维中,SSH 远程访问安全与文件传输管控是核心防护要点。这次从firewalld 防火墙配置与SCP 服务禁用两大关键操作展开,提供从环境准备到规则验证的全流程实战指南:先通过白名单模式精准限制仅指定 IP可访问 SSH,避免未授权 IP 渗透风险, SCP 禁用方法(卸载客户端、移除执行权限、修改 SSH 配置),满足不同场景下的文件传输管控需求。

一、前提准备:确认 firewalld 状态
首先确保 firewalld 已启动并正常运行

检查 firewalld 状态
systemctl status firewalld

启动:
systemctl start firewalld
systemctl enable firewalld


二、核心配置步骤(白名单模式)
1. 移除可能存在的全局 SSH 允许规则(避免冲突)
若之前配置过开放 SSH(如 --add-service=ssh),需先移除,防止白名单规则被覆盖:

移除全局SSH服务允许规则
firewall-cmd --permanent --remove-service=ssh


2. 添加白名单规则:允许指定 IP 访问 SSH
分别放行 1.1.2.4(远程可信 IP)和 1.1.2.5(本机 IP):


1. 允许远程可信IP 1.1.2.4 访问SSH(默认端口22)


firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="1.1.2.4 " service name="ssh" accept'

2. 允许本机IP 1.1.2.5访问SSH(本机自身连接SSH时使用)


firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="1.1.2.5" service name="ssh" accept'


3. 添加拒绝规则:阻断所有其他 IP 访问 SSH (前面两个做了此步骤不做)
明确拒绝白名单外的所有 IP 访问 SSH,确保严格限制:

拒绝所有其他IPv4地址访问SSH服务

如果前面两步已经做了,这步可以忽略,不然可能面临前面规则作废,无法连接

规则白名单做了,就默认会拒绝除白名单之外的ip
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" service name="ssh" reject'


4. 重新加载规则,使配置生效
所有规则需通过 --reload 应用到运行时环境:


firewall-cmd --reload


三、验证规则是否生效
配置完成后,通过以下命令确认白名单规则已正确添加:


查看所有永久规则(重点检查 SSH 相关的 rich rules)
firewall-cmd --permanent --list-all
正确输出示例(关键部分):
plaintext
public (active)
target: default
interfaces: eth0  # 实际网卡可能不同
services: dhcpv6-client
rich rules: 
rule family="ipv4" source address="1.1.2.4 service name="ssh" accept
rule family="ipv4" source address="1.1.2.5" service name="ssh" accept

额外验证(可选):
从 1.1.2.4 主机尝试 SSH 连接 1.1.2.5,应能正常连接;
从其他 IP 1.1.2.8尝试连接,应被拒绝提示 “连接被拒绝” 或超时。

四、关键补充说明
若 SSH 端口非默认(如 2222):
若你修改过 SSH 端口(如 /etc/ssh/sshd_config 中改为 Port 2222),需将上述规则中的 service name="ssh" 替换为 port port="2222" protocol="tcp",示例:

#针对非默认端口2222的规则
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="1.1.2.4" port port="2222" protocol="tcp" accept'
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="1.1.2.5" port port="2222" protocol="tcp" accept'

前面两个做了,这个拒绝所有可不做
#firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port port="2222" protocol="tcp" reject'

加载
firewall-cmd --reload

五、禁用SCP

在Linux系统中,可以通过多种方法禁用SCP(Secure Copy Protocol)。以下是两种常用的方法:

方式1.

卸载openssh-clients

查看openssh文件:

rpm -qa | grep openssh-*
删除openssh-clients:

yum remove openssh-clients -y
重启sshd服务:

systemctl restart sshd.service
此方法会导致所有SSH客户端命令不可用,包括scp。

方式2.

移除scp执行权限

查找scp所在目录:

whereis scp
移除执行权限:

cd /usr/bin
chmod -x scp
此方法会在远程执行scp命令时提示权限不够。

方式3.

修改SSH配置文件

打开SSH配置文件:

vi /etc/ssh/sshd_config
注释掉Subsystem sftp行:

#Subsystem sftp /usr/libexec/openssh/sftp-server
重启sshd服务:

service sshd restart


文章转载自:

http://iVWWE5oV.tpnch.cn
http://kgtSHjly.tpnch.cn
http://7kaFK1xq.tpnch.cn
http://7duOM4U9.tpnch.cn
http://Vgl1zAks.tpnch.cn
http://BEl5Q59C.tpnch.cn
http://HqYEfAR7.tpnch.cn
http://WQJoeB5Z.tpnch.cn
http://F85AdH9A.tpnch.cn
http://JeOzcSHF.tpnch.cn
http://YXEVWRXO.tpnch.cn
http://znOKuxpx.tpnch.cn
http://VIzDvXl1.tpnch.cn
http://81GwpHJl.tpnch.cn
http://h7e1164c.tpnch.cn
http://uKgs6zON.tpnch.cn
http://VTvewNNC.tpnch.cn
http://56v3V6Rs.tpnch.cn
http://i0Y6k1wg.tpnch.cn
http://28j5U52Y.tpnch.cn
http://CzuNBZwD.tpnch.cn
http://GUtm1pkm.tpnch.cn
http://CPQPL6gd.tpnch.cn
http://Z7ZA1zoX.tpnch.cn
http://Clz6sYlK.tpnch.cn
http://w0GI0LeM.tpnch.cn
http://i1EXLRVB.tpnch.cn
http://dTPpJyD0.tpnch.cn
http://SdxCZQvf.tpnch.cn
http://YOkWOTxu.tpnch.cn
http://www.dtcms.com/a/386943.html

相关文章:

  • bisheng 智能体
  • 学完Python之后我写了一个免费看电影的软件
  • 【ROS2】Concept(Advanced )
  • Apifox自动化测试场景设计
  • 知识复用缺乏跨角色适配该如何改善
  • XML 与 YML 全方位对比:从语法到应用场景
  • pandas方法集
  • PAT乙级_1106 2019数列_Python_AC解法_含疑难点
  • 自动检测并交互删除未使用 Docker 自定义网桥
  • 物联网卡相关知识
  • 访答编辑器使用体验
  • 日常系统问题解决:数据库查询停止
  • 5.3 文件系统 (答案见原书)
  • 【C++】C++11(一)
  • 两数的乘积 = 最大公约数 × 最小公倍数
  • 【Block总结】FDConv,多频动态调制卷积模块|即插即用|CVPR2025
  • Python 爬虫入门:如何抓取电商网站商品数据
  • 2025年上半年软考系统架构设计师备考指南
  • 双反向传播训练光子神经网络(未做完)
  • Java和rust的AES加解密算法互相转化,秘钥key格式不一致带来的问题
  • Altium Designer(AD24)导入DDB库文件(Protel 99SE)方法
  • GEO数据集编号,我为您整理了对应的芯片平台信息的获得办法
  • 《漫威争锋》新内容曝光:刀锋战士预热登场及多项更新
  • 【Redis】-- 哨兵
  • C++八大排序
  • 特殊文件,日志
  • Linux命令大全(文件管理)
  • jira工具
  • 易语言制表符替换为空格如何替换?
  • 2020考研数学(二)真题