网络安全相关知识

持续更新,网络安全相关知识

26、

你可能是想执行 firewall-cmd --permanent --add-service=https 命令(注意是 firewall-cmd 而非 firewalld -cmd),这是 Linux 系统中通过 firewalld 防火墙 永久开放 HTTPS 服务(默认端口 443/TCP)的命令,用于允许外部通过 HTTPS 协议访问服务器。

命令解析

firewall-cmd:firewalld 防火墙的命令行管理工具。

--permanent:表示配置为永久生效(若不加此参数,配置仅在当前会话有效,重启 firewalld 后失效)。

--add-service=https:添加预定义的 https 服务规则(firewalld 内置了常见服务的端口定义,https 对应 TCP 443 端口)。

执行效果

执行该命令后,firewalld 会永久允许外部主机通过 TCP 443 端口 访问本机(即允许 HTTPS 服务的入站连接),适用于部署了 HTTPS 网站(如 Nginx、Apache 配置了 SSL/TLS)的服务器。

完整操作流程

添加永久规则:

bash

sudo firewall-cmd --permanent --add-service=https

成功会返回 success。

重新加载防火墙配置:由于使用了 --permanent,需要重新加载配置使规则生效:

bash

sudo firewall-cmd --reload

验证规则是否生效:查看当前活跃的规则,确认 HTTPS 服务已开放:

bash

sudo firewall-cmd --list-services

输出中若包含 https,表示规则已生效。

相关补充

临时开放 HTTPS:若只需临时开放(重启防火墙后失效),去掉 --permanent 即可:

bash

sudo firewall-cmd --add-service=https

移除 HTTPS 规则:如需关闭 HTTPS 访问,执行:

bash

sudo firewall-cmd --permanent --remove-service=https # 移除永久规则

sudo firewall-cmd --reload # 重新加载

直接开放端口:若服务未使用默认端口(如 HTTPS 用了 8443 端口),可直接指定端口开放:

bash

sudo firewall-cmd --permanent --add-port=8443/tcp # 永久开放 TCP 8443 端口

sudo firewall-cmd --reload

注意事项

必须使用 sudo 或 root 权限执行,普通用户无权限修改防火墙配置。

--permanent 规则会保存在 /etc/firewalld/ 目录下,重启 firewalld 服务或系统后依然有效。

开放端口 / 服务前,需确保对应的服务(如 Nginx 的 HTTPS 配置)已正确部署,否则开放后仍无法访问。

通过该命令可快速配置防火墙允许 HTTPS 访问,是部署 HTTPS 网站时的必要操作之一。

firewall-cmd reload

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

27、

spamassassin -t

systemctl start spamassassin

loacal.cf

28、clamAV

which clamd

sudo systemctl start clamav-daemon//重启clamav工具

sudo systemctl status clamav-daemon//检查服务状态

ClamAV 包含多个核心工具,协同完成病毒扫描和管理:

clamd:ClamAV 守护进程(后台服务),用于提供持续的扫描服务,支持实时监控(inotify 机制)和客户端连接。

clamscan:命令行扫描工具,用于手动触发文件 / 目录扫描(无需启动 clamd 服务)。

freshclam:病毒库更新工具,用于下载和更新最新的病毒特征库(.cvd 文件)。

sigtool:病毒特征库管理工具,用于验证、查看或创建病毒特征。

基本使用流程

  1. 安装 ClamAV

Debian/Ubuntu:

bash

sudo apt update && sudo apt install clamav clamav-daemon

CentOS/RHEL:

bash

sudo yum install clamav clamav-server

安装后需停止 freshclam 服务(首次更新需要):

bash

sudo systemctl stop clamav-freshclam

  1. 更新病毒库

首次使用或需要更新时,执行:

bash

sudo freshclam # 手动更新病毒库

更新完成后,病毒库文件默认存储在 /var/lib/clamav/(如 main.cvd、daily.cvd)。

配置自动更新:启动 freshclam 服务,默认会定期(每小时)自动更新:

bash

sudo systemctl start clamav-freshclam

sudo systemctl enable clamav-freshclam # 开机自启

  1. 手动扫描(clamscan)

适合临时扫描文件或目录,无需启动 clamd 服务:

bash

扫描指定目录(如 /home),仅显示感染文件

sudo clamscan --infected --recursive /home

扫描单个文件

sudo clamscan /tmp/suspicious_file.exe

扫描并自动删除感染文件(谨慎使用)

sudo clamscan --infected --remove /path/to/dir

常用参数:

--infected:仅显示被感染的文件(忽略正常文件)。

--recursive:递归扫描子目录(-r 简写)。

--remove:自动删除感染文件。

--quiet:安静模式,仅输出关键信息。

  1. 后台服务扫描(clamd)

通过 clamd 守护进程提供高效扫描(适合频繁扫描或实时监控):

启动 clamd 服务:

bash

sudo systemctl start clamd

sudo systemctl enable clamd # 开机自启

使用 clamdscan 客户端调用服务扫描(速度比 clamscan 快,因为病毒库已加载到内存):

bash

sudo clamdscan --infected /home # 扫描 /home 目录

  1. 实时监控(clamonacc)

通过 clamonacc 工具(需 clamd 支持)实时监控文件系统变化,自动扫描新创建 / 修改的文件:

bash

sudo clamonacc --foreground # 前台运行,实时监控并输出日志

可通过配置文件 /etc/clamav/clamd.conf 调整监控目录和行为。

注意事项

权限问题:扫描系统目录或其他用户文件时,需使用 sudo 权限,否则可能因权限不足导致漏扫。

误报处理:开源病毒库可能存在一定误报,建议对 "感染文件" 手动验证后再处理(尤其是 --remove 参数需谨慎)。

性能影响:全系统扫描可能占用较多 CPU 和 I/O 资源,建议在非业务高峰期执行。

病毒库存储:病毒库默认路径可在 /etc/clamav/freshclam.conf 中修改(DatabaseDirectory 配置项)。

ClamAV 凭借开源免费、轻量高效的特点,成为服务器端反病毒的首选工具之一,尤其适合对成本敏感或需要自定义集成的场景(如邮件服务器、文件服务器的恶意文件检测)

Amavis 是一款开源的邮件内容过滤系统,主要用于邮件服务器(如 Postfix、Sendmail 等)的安全防护,核心功能是扫描邮件中的恶意软件(病毒、木马)、垃圾邮件,并检测邮件内容是否符合安全策略(如禁止附件类型、邮件大小限制等),是邮件服务器的重要安全组件。

核心功能

病毒扫描集成反病毒引擎(如 ClamAV、Sophos、F-Prot 等),自动扫描邮件正文及附件,拦截含恶意软件的邮件。

垃圾邮件检测结合多种反垃圾邮件技术(如 SpamAssassin 评分、DNS 黑名单(DNSBL)、发件人信誉验证等),对邮件进行垃圾邮件判定并标记或拦截。

内容过滤

禁止特定类型的附件(如 .exe、.bat 等可执行文件);

限制邮件大小、正文长度或特定关键词;

检测邮件是否包含钓鱼链接、恶意脚本等。

邮件规范化处理邮件格式(如转换编码、移除不安全的 HTML 标签),减少邮件客户端解析漏洞带来的风险。

集成与扩展性可与主流邮件服务器(Postfix、Exim 等)无缝集成,支持自定义规则和第三方插件扩展功能。

工作原理

Amavis 通常作为邮件服务器的 "中间代理" 工作,流程如下:

外部邮件发送到邮件服务器(如 Postfix);

邮件服务器将邮件转发给 Amavis 进行处理;

Amavis 调用病毒扫描引擎、垃圾邮件过滤器等对邮件进行检测;

根据检测结果(如 "含病毒""垃圾邮件""正常邮件"),Amavis 向邮件服务器返回处理建议(如 "拒收""标记后放行""直接放行");

邮件服务器根据 Amavis 的建议完成最终的邮件投递或拦截。

典型组件与集成

Amavis 本身不直接提供病毒扫描或垃圾邮件检测能力,而是通过集成其他工具实现功能:

病毒扫描:最常用 ClamAV(开源免费),也可集成商业反病毒引擎;

垃圾邮件检测:主要依赖 SpamAssassin(开源的垃圾邮件评分系统);

邮件服务器:通常与 Postfix 配合使用(通过 content_filter 配置转发邮件到 Amavis)。

基本使用(以与 Postfix + ClamAV + SpamAssassin 集成为例)

  1. 安装组件

bash

Debian/Ubuntu 示例

sudo apt install amavisd-new clamav clamav-daemon spamassassin

  1. 配置 Amavis

核心配置文件为 /etc/amavis/conf.d/50-user,可自定义规则:

perl

启用病毒扫描和垃圾邮件检测

@bypass_virus_checks_maps = (0); # 不绕过病毒扫描

@bypass_spam_checks_maps = (0); # 不绕过垃圾邮件检测

禁止的附件类型(如可执行文件)

%banned_filename_re = (

qr/\.exe$/i => 1,

qr/\.bat$/i => 1,

qr/\.vbs$/i => 1,

);

垃圾邮件阈值(SpamAssassin 评分超过 5 分标记为垃圾邮件)

$sa_tag_level_deflt = 5.0;

$sa_kill_level_deflt = 10.0; # 超过 10 分直接拦截

  1. 配置 Postfix 转发邮件到 Amavis

修改 Postfix 配置 /etc/postfix/main.cf,添加内容过滤:

ini

content_filter = amavis:[127.0.0.1]:10024 # 转发邮件到 Amavis 监听的端口

修改 /etc/postfix/master.cf,添加 Amavis 反馈通道:

ini

amavis unix - - n - 2 smtp

-o smtp_data_done_timeout=1200

-o smtp_send_xforward_command=yes

127.0.0.1:10025 inet n - n - - smtpd

-o content_filter=

-o local_recipient_maps=

-o relay_recipient_maps=

-o smtpd_restriction_classes=

-o smtpd_client_restrictions=

-o smtpd_helo_restrictions=

-o smtpd_sender_restrictions=

-o smtpd_recipient_restrictions=permit_mynetworks,reject

-o mynetworks=127.0.0.0/8

-o strict_rfc821_envelopes=yes

-o smtpd_error_sleep_time=0

-o smtpd_soft_error_limit=1001

-o smtpd_hard_error_limit=1000

  1. 启动服务

bash

sudo systemctl restart amavisd clamav-daemon spamassassin postfix

注意事项

性能优化:Amavis 处理邮件会增加服务器负载,建议根据邮件流量调整 amavisd 进程数(配置文件中 $max_servers)。

误判处理:垃圾邮件检测可能存在误判,需定期查看日志(如 /var/log/amavis/amavis.log),添加白名单($whitelist_senders)或调整评分阈值。

病毒库更新:确保集成的反病毒引擎(如 ClamAV)病毒库实时更新,否则无法检测新威胁。

兼容性:不同版本的 Amavis 与邮件服务器、扫描引擎可能存在兼容性问题,建议选择稳定版本并参考官方文档配置。

Amavis 作为邮件安全的 "守门人",通过整合多种安全工具,为邮件服务器提供全方位的内容防护,是企业和个人邮件系统抵御恶意邮件威胁的核心方案之一。

sudo systemctl restart amavis

sudo systemctl restart clamav-daemon

awk命令统计日志中的所有IP地址:

awk '{count[$1]++} END {for (ip in count) print ip}' access_log20250304.log

awk命令统计日志中的所有IP地址及其访问次数:

awk '{count[$1]++} END {for (ip in count) print ip, count[ip]' accesslog20250304.log

(3)准确选出了访问量最高的前10个IP地址及其访问次数(1分)

通过awk命令统计,awk命令:

awk '{count[$1]++} END {for (ip in count) print ip, count[ip] | "sort-k2-r|head-n10

access_log20250304.log

awk命令统计日志中所有包含404状态码的请求:

awk '9 == 404 {print 0}' access_log

root@192 httpd\]# awk '$9 == 404 {print $1 $7}' access_log20250304.log \| sort \| uniq -c OPNsense OPNsense 是一个开源、用户友好的防火墙和路由平台。它于 2014 年从 pfSense 和 m0n0wall 分叉而来,并于 2015 年 1 月首次正式发布。该平台基于 FreeBSD,具有以下特点: 安全功能强大:支持状态包检查、入侵检测和防御系统(IDS/IPS)、VPN 支持以及深度包检测(DPI)等多种安全功能。 高可用性:支持通用地址冗余协议(CARP)以实现故障转移,确保网络的高可用性。 VPN 支持灵活:支持 OpenVPN、IPsec 和 WireGuard 等多种 VPN 协议,便于远程访问和安全的数据传输。 插件和扩展性好:通过插件系统,用户可以扩展 OPNsense 的功能,例如添加不同的 DNS 黑名单或额外的监控工具。 入侵检测系统(IDS)软件,如Snort或 Suricata nort 是一款由 Marty Roesch 先生于 1998 年用 C 语言开发的开源网络入侵检测与防御系统(NIDS/NIPS)。它基于 FreeBSD,具有跨平台、实时流量分析、网络 IP 数据包记录等特性。以下是关于 Snort 的详细介绍: 工作模式 嗅探器模式:仅从网络上读取数据包,并作为连续不断的流显示在终端上,类似于 tcpdump 的功能。 数据包记录器模式:将捕获的数据包记录到硬盘上,可用于网络流量调试,方便管理员后续分析网络活动。 网络入侵检测系统模式:这是 Snort 最主要的工作模式,它会对数据包进行分析,根据用户定义的规则来检测是否存在入侵行为,并根据检测结果采取相应的响应措施。 工作过程 数据包捕获:Snort 通过在网络 TCP/IP 的数据链路层抓取网络数据包,抓包时需将网卡设置为混杂模式,根据操作系统的不同采用 libpcap 或 winpcap 函数从网络中捕获数据包。 数据包解码:捕获的数据包会被送到包解码器进行解码,将其转换为 Snort 能够识别的统一格式。 预处理:预处理过程主要通过插件来完成,包括对分片的数据包进行重新组装、处理明显的错误等。 规则检测:这是 Snort 的核心环节,它会将经过解码和预处理的数据包与预设的规则进行匹配,以检测数据包中是否包含有入侵行为。 输出结果:经过检测后的数据包会通过输出模块以各种形式将结果进行输出,输出形式可以是输出到 alert 文件、其它日志文件、数据库 UNIX 域或 Socket 等。 规则集:Snort 的规则集是其检测入侵行为的关键。规则集分为 "Community Ruleset" 和 "Snort Subscriber Ruleset"。前者由 Snort 社区开发,经 Cisco Talos 质量保证,对所有用户免费;后者由 Cisco Talos 开发、测试和批准,订阅用户可实时获取。 部署方式:Snort 的部署非常灵活,可以运行在 Windows XP、Windows 2003、Linux 等多种操作系统上。其部署结构一般由传感器层、服务器层、管理员控制台层三层组成,可根据企业网络规模的大小,采用三层结构分别部署、三层结构集成在一台机器上进行部署,或采用服务器层与控制台集成的两层结构。 优点与不足:Snort 具有功能强大、开源免费、跨平台性好、扩展性强等优点,能够检测各种不同的攻击方式,对攻击对象进行实时报警。但它也存在一些不足,如功能相对不够完善,与其他产品的联动性有待改进,安装复杂,且由于对所有流量数据根据规则进行匹配,可能会产生较多误报。 Suricata 是一款开源的高性能网络威胁检测与防御工具。以下是关于它的详细介绍: 基本信息:Suricata 由 Open Information Security Foundation(OISF)拥有和支持,它是一个免费、成熟、快速且强大的网络威胁检测引擎,能够进行实时入侵检测(IDS)、在线入侵防御(IPS)、网络安全监控(NSM)和离线 PCAP 处理。 工作模式 IDS 模式:这是默认模式,Suricata 根据签名(规则)、IOC 匹配(如哈希、域名、URL、TLS、SSH 指纹等)和 / 或 Lua 脚本对流量进行检查,生成安全事件(警报),此模式生成的日志量最少。 IPS 模式:该模式在日志量和流量检查方面与 IDS 模式非常相似,主要区别在于 Suricata 会根据网络检查结果主动阻止(丢弃)或允许流量,即它不是被动的嗅探器,而是在线部署。 NSM 模式:也是默认模式之一,Suricata 会为任何协议、文件事务、文件提取、异常和流日志生成日志,无需签名即可运行,此模式生成的日志量最多。 FPC 模式:Suricata 会对其检查的流量进行无条件的完整数据包捕获,该模式需要大量存储空间。 条件 PCAP 捕获模式:这是 FPC 模式的一个子集,它会为任何警报生成重复数据删除后的完整会话 / 流 PCAP 捕获,即所有警报都伴随着触发警报的流的完整会话 PCAP。 功能特性 协议分析与检测:支持多种网络协议的深度检测,包括 IPv4、IPv6、TCP、UDP、HTTP、TLS、SMB 等,能准确识别各种协议中的异常和恶意行为。 规则与签名匹配:使用强大且可扩展的规则和签名语言检查网络流量,规则由动作、头部和规则选项三部分组成,安全分析师可利用其快速检测和识别已知恶意活动。 Lua 脚本支持:允许用户通过编写 Lua 脚本来实现自定义检测和输出逻辑,弥补规则集无法描述的复杂特征和行为,增强检测能力和灵活性。 多线程与高性能:基于多线程编码和硬件加速技术,如 PF_RING、AF_PACKET 等,能在单个实例中处理千兆网络流量,确保高流量环境下的性能表现。 标准输入输出格式:支持 YAML 和 JSON 等标准格式,方便与现有安全信息和事件管理系统(SIEM)、Splunk、Logstash/Elasticsearch、Kibana 等工具集成,提升安全运营效率。 应用场景 企业网络安全防护:可部署在网络边界或关键网段,实时监测和防御外部攻击和内部威胁,保护企业关键信息资产安全。 数据中心安全监控:能对数据中心的大量网络流量进行深度检测和分析,及时发现并阻止针对服务器和应用程序的攻击,确保数据安全。 云环境安全保障:可部署在云平台上,为云环境中的网络安全提供支持,保障云租户的网络和数据安全。 网络安全研究与教育:安全研究人员和教育机构可利用 Suricata 进行网络安全研究、实验和教学,通过分析真实流量和攻击样本,提高网络安全防护能力和意识。 snort -T -c /etc/snort/snort.conf

相关推荐
用户962377954489 小时前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机12 小时前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机12 小时前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户9623779544813 小时前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star13 小时前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户9623779544817 小时前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher2 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行5 天前
网络安全总结
安全·web安全
red1giant_star5 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
ZeroNews内网穿透5 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全