0

0

Linux系统安装完后如何配置防火墙和安全策略保障系统安全

絕刀狂花

絕刀狂花

发布时间:2025-07-09 15:20:02

|

651人浏览过

|

来源于php中文网

原创

linux系统安装后必须立即配置防火墙及安全策略以保障系统安全。首先,选择firewalld或iptables配置防火墙,firewalld适合现代系统,使用区域管理更直观;iptables适用于老旧系统,提供精细控制。接着,强化ssh服务:更改默认端口、禁用root登录、使用密钥认证、限制可登录用户,并重启服务生效。随后,合理管理用户权限:遵循最小权限原则,设置强密码策略,删除无用账户,精细化sudo权限。定期更新系统与内核,使用apt或yum升级软件包。启用selinux或apparmor加强访问控制。最后,定期审计系统安全:查看日志文件、部署fail2ban防御暴力破解、使用auditd、lynis、chkrootkit等工具进行安全检测,检查网络状态,执行漏洞扫描与渗透测试,并制定备份策略以应对突发情况。

Linux系统安装完后如何配置防火墙和安全策略保障系统安全

在Linux系统安装完成之后,配置防火墙和恰当的安全策略是保障系统不受未经授权访问和潜在攻击的关键一步。这就像给你的新房子装上门锁,再规划好监控和防盗系统一样,是系统安全的第一道也是最重要的一道防线。很多人可能觉得,系统刚装好,没什么重要数据,安全问题可以放放。但经验告诉我,正是这种“放一放”的心态,让很多系统在不知不觉中暴露在风险之下。

Linux系统安装完后如何配置防火墙和安全策略保障系统安全

解决方案

系统安装完毕,首先要做的就是建立起一套基础的安全防护体系。这包括但不限于:启用并配置防火墙,强化SSH服务安全,合理管理用户和权限,以及保持系统更新。这些措施并非孤立存在,它们相互配合,共同构筑起一道坚实的防线。

Linux系统防火墙如何选择与基础配置?

Linux系统安装完后如何配置防火墙和安全策略保障系统安全

谈到Linux防火墙,绕不开firewalldiptables。对我来说,如果系统默认是firewalld,我通常会优先使用它,因为它基于区域(zone)的概念,管理起来直观且灵活,特别适合现代Linux发行版。但如果面对的是一些老旧系统或者需要非常精细、底层控制的场景,iptables依然是不可替代的选择,它能提供更强大的规则自定义能力。

firewalld的配置思路:

Linux系统安装完后如何配置防火墙和安全策略保障系统安全

firewalld的核心是“区域”(zones)。不同的网络接口可以分配到不同的区域,每个区域有其预设的安全级别。例如,public区域通常用于面向外部网络的接口,默认规则比较严格;internalhome区域则可以相对宽松。

启用firewalld

sudo systemctl enable firewalld
sudo systemctl start firewalld

查看当前默认区域和开放服务:

firewall-cmd --get-default-zone
firewall-cmd --list-all --zone=public

开放常用服务端口,比如SSH(默认22),HTTP(80),HTTPS(443):

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

如果你需要开放一个非标准端口,例如自定义的Web服务端口8080:

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

如果想临时测试规则,可以不加--permanent,规则会在firewalld重启后失效。

iptables的配置思路:

iptables的规则是链式(chains)的,主要有INPUT、OUTPUT、FORWARD三条链。我们需要在这些链上添加规则,决定数据包的命运(ACCEPT、DROP、REJECT)。iptables的挑战在于,规则是按顺序匹配的,且默认不持久化,需要额外的工具(如iptables-persistent或保存到文件)来保存。

一个简单的iptables规则示例: 清除现有规则:

sudo iptables -F
sudo iptables -X

设置默认策略为拒绝所有传入流量:

薏米AI
薏米AI

YMI.AI-快捷、高效的人工智能创作平台

下载
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

允许已建立的连接:

sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

允许SSH连接(假设SSH端口是22):

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

允许本地回环接口:

sudo iptables -A INPUT -i lo -j ACCEPT

保存iptables规则(以Debian/Ubuntu为例,需要安装iptables-persistent):

sudo apt install iptables-persistent
sudo netfilter-persistent save

无论选择哪种防火墙,核心都是“最小权限原则”——只开放必要的端口和服务。这能大幅减少被攻击面。

除了防火墙,Linux系统还有哪些关键安全策略?

防火墙是外部防御,但内部安全同样重要。我常常强调,很多安全问题并非来自外部的猛烈攻击,而是内部配置不当或权限滥用。

SSH服务强化: SSH是远程管理Linux服务器的命脉,其安全性至关重要。

  • 更改默认端口: 将SSH端口从默认的22更改为其他非标准端口(如22222),这虽然不能阻止有针对性的攻击,但能有效减少自动化扫描和暴力破解的尝试。 修改/etc/ssh/sshd_config文件中的Port 22Port 22222
  • 禁用root用户登录: 禁用root直接登录,强制使用普通用户登录后再通过sudo提权,可以有效防止root密码被暴力破解。 在/etc/ssh/sshd_config中设置PermitRootLogin no
  • 使用密钥认证: 这是我强烈推荐的认证方式,比密码更安全。禁用密码认证,只允许密钥登录。 在/etc/ssh/sshd_config中设置PasswordAuthentication no
  • 限制可登录用户: 如果服务器只允许特定用户登录,可以使用AllowUsersAllowGroups指令。 例如:AllowUsers youruser anotheruser。 修改sshd_config后,记得重启SSH服务:sudo systemctl restart sshd

用户与权限管理:

  • 最小权限原则: 为每个用户分配其完成工作所需的最小权限。避免所有用户都拥有root权限。
  • 强密码策略: 强制用户使用复杂密码,并定期更换。可以使用chage命令设置密码过期策略。 例如:sudo chage -M 90 username (设置密码90天过期)。
  • 删除不必要的账户: 及时清理不再使用的用户账户。
  • sudo权限精细化: 使用visudo命令编辑/etc/sudoers文件,精确控制哪些用户或组可以执行哪些命令,而不是简单地赋予所有root权限。

系统更新与打补丁: 这听起来老生常谈,但却是最被忽视也最关键的一环。许多已知的漏洞都有对应的补丁,及时更新系统可以修补这些漏洞,避免成为攻击者的目标。

  • Debian/Ubuntu: sudo apt update && sudo apt upgrade -y
  • CentOS/RHEL: sudo yum update -ysudo dnf update -y 定期更新内核也是非常重要的,因为很多安全漏洞都可能存在于内核层面。

SELinux/AppArmor: 这些是Linux内核提供的强制访问控制(MAC)安全模块。它们在传统的自主访问控制(DAC)之上,增加了更细粒度的权限控制,即使是root用户也可能受到限制。

  • SELinux(Red Hat系列)和AppArmor(Debian/Ubuntu系列)默认启用,它们可以防止应用程序在受损时滥用权限。
  • 了解它们的模式(Enforcing, Permissive, Disabled)以及如何查看日志(如audit.log)对排查问题很有帮助。通常,保持Enforcing模式是最佳实践。

如何定期检查和审计Linux系统的安全状况?

系统安全是一个持续的过程,而非一次性配置。定期检查和审计是发现潜在问题、评估安全状况的必要手段。

日志监控与分析:

  • 系统日志: 养成查看/var/log/auth.log(认证日志)、/var/log/secure(安全日志,Red Hat系)、journalctl -u sshd等日志的习惯,关注异常登录尝试、权限提升、服务启动/停止等信息。
  • fail2ban 这是一个非常有用的工具,可以自动监控日志文件,发现暴力破解等恶意行为后,自动将攻击者的IP地址添加到防火墙黑名单中。安装配置简单,效果显著。

系统审计工具:

  • auditd Linux审计系统,可以记录几乎所有系统调用和文件访问事件。通过配置规则,可以监控关键文件的修改、用户行为等。 例如,监控/etc/passwd文件的任何修改: sudo auditctl -w /etc/passwd -p wa -k passwd_changes
  • lynis 这是一个开源的审计工具,可以扫描系统以查找潜在的安全漏洞、配置错误和恶意软件。它会生成详细的报告和改进建议。
  • chkrootkitrkhunter 用于检测系统是否被安装了rootkit或恶意软件。虽然不能保证100%发现,但作为一道防线还是很有价值的。

网络状态检查:

  • netstatss 定期检查系统监听的端口和服务,确认没有未经授权的应用程序在运行或监听不必要的端口。 sudo netstat -tulnpsudo ss -tulnp
  • nmap 从外部(另一台机器)对服务器进行端口扫描,验证防火墙规则是否按预期工作,确保只有预期的端口对外开放。

定期漏洞扫描与渗透测试: 对于生产环境,可以考虑使用专业的漏洞扫描工具(如OpenVAS、Nessus)或委托第三方进行渗透测试。这能从攻击者的视角发现系统弱点。

备份策略: 最后,但同样重要的是,建立完善的数据备份和恢复策略。即使安全防护再完善,也无法保证系统100%不被攻破。当最坏的情况发生时,可靠的备份是快速恢复服务的最后一道防线。

总而言之,Linux系统的安全配置是一个动态且需要持续关注的过程。它不仅仅是技术问题,更是一种安全意识和习惯的养成。从安装的那一刻起,就应该把安全融入到系统的每一个配置细节中。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1023

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

65

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

418

2025.12.29

点击input框没有光标怎么办
点击input框没有光标怎么办

点击input框没有光标的解决办法:1、确认输入框焦点;2、清除浏览器缓存;3、更新浏览器;4、使用JavaScript;5、检查硬件设备;6、检查输入框属性;7、调试JavaScript代码;8、检查页面其他元素;9、考虑浏览器兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

182

2023.11.24

http500解决方法
http500解决方法

http500解决方法有检查服务器日志、检查代码错误、检查服务器配置、检查文件和目录权限、检查资源不足、更新软件版本、重启服务器或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

353

2023.11.09

http请求415错误怎么解决
http请求415错误怎么解决

解决方法:1、检查请求头中的Content-Type;2、检查请求体中的数据格式;3、使用适当的编码格式;4、使用适当的请求方法;5、检查服务器端的支持情况。更多http请求415错误怎么解决的相关内容,可以阅读下面的文章。

409

2023.11.14

HTTP 503错误解决方法
HTTP 503错误解决方法

HTTP 503错误表示服务器暂时无法处理请求。想了解更多http错误代码的相关内容,可以阅读本专题下面的文章。

1830

2024.03.12

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1984

2024.08.16

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.3万人学习

Git 教程
Git 教程

共21课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号