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

Linux 下敏感文件路径总结

Linux 下敏感文件路径总结

在服务器运维和安全测试过程中,掌握各类服务的关键配置文件路径、日志文件位置以及重要目录的存放位置至关重要。本文整理了 Linux 系统下常见服务(如 Apache、Nginx、MySQL 等)的路径结构,以及一些敏感文件的位置与作用,以便您快速查找和高效管理。


常见服务文件路径

1. Apache HTTP Server

  • 配置文件:
    • CentOS/RHEL: /etc/httpd/
    • Ubuntu/Debian: /etc/apache2/
  • 日志文件:
    • CentOS/RHEL: /var/log/httpd/
    • Ubuntu/Debian: /var/log/apache2/
  • 代码目录: /var/www/html/

2. Nginx

  • 配置文件: /etc/nginx/
  • 日志文件: /var/log/nginx/
  • 代码目录: /usr/share/nginx/html/

3. MySQL/MariaDB

  • 配置文件: /etc/my.cnf/etc/mysql/
  • 数据目录: /var/lib/mysql/
  • 日志文件: /var/log/mysql/

4. PostgreSQL

  • 配置文件: /etc/postgresql/<version>/main/
  • 数据目录: /var/lib/postgresql/<version>/main/
  • 日志文件: /var/log/postgresql/

5. Redis

  • 配置文件: /etc/redis/redis.conf
  • 数据目录: 根据 dir 配置,常见为 /var/lib/redis/

6. Tomcat

  • 配置文件:
    • /etc/tomcat/
    • /var/lib/tomcat<version>/conf/
  • 日志文件: /var/log/tomcat<version>/
  • Web 应用目录: /var/lib/tomcat<version>/webapps/

敏感文件及其用途

以下是 Linux 系统中一些重要或敏感文件,它们存储了关键配置信息或历史操作记录,在安全测试中需要特别关注。

1. SSH 相关文件

  • /root/.ssh/authorized_keys
    记录允许通过公钥登录服务器的密钥。
  • /root/.ssh/id_rsa
    私钥文件,需严格保密。
  • /root/.ssh/known_hosts
    记录曾经访问过的计算机的公钥,用于验证身份。

2. 用户与系统配置

  • /etc/passwd
    存储系统用户账户信息(不含密码)。
  • /etc/shadow
    存储加密的用户密码信息,权限需严格限制。
  • /etc/my.cnf
    MySQL/MariaDB 的主配置文件。
  • /etc/httpd/conf/httpd.conf
    Apache 的主配置文件。

3. 历史操作记录

  • /root/.bash_history
    记录了所有执行过的 Shell 命令,可能泄露敏感操作。
  • /root/.mysql_history
    记录了执行过的 MySQL 命令,同样需防止泄露。

4. 系统运行信息

  • /proc/mounts
    显示当前系统挂载的设备信息。
  • /proc/config.gz
    存储内核配置文件。
  • /proc/self/cmdline
    显示当前进程的启动参数。

5. 文件路径与定位

  • /var/lib/mlocate/mlocate.db
    存储全系统文件路径索引,可通过 locate 命令快速查询。

有效规避信息泄露的方法

在服务器管理中,这些敏感文件与目录可能会成为攻击者的目标,需采取以下措施:

  1. 权限管理:
    • 确保敏感文件的权限最小化,例如 /etc/shadow 应仅对 root 可见。
  2. 日志监控:
    • 定期分析日志文件,检测异常访问或配置更改。
  3. 历史记录清理:
    • 定期清理 .bash_history.mysql_history,避免敏感信息泄露。
  4. 加密与备份:
    • 私钥文件和配置文件需加密存储,并定期备份。
http://www.lryc.cn/news/486251.html

相关文章:

  • gitlab 服务器集群配置及 存储扩展配置
  • 3D Gaussian Splatting 代码层理解之Part2
  • .length和.length()有什么区别?什么情况下使用哪个?
  • React Native 全栈开发实战班 - 网络与数据之 websock与服务端交互
  • 黑马智慧商城项目学习笔记
  • 计算机网络WebSocket——针对实习面试
  • 请介绍一下Python的网络编程以及如何使用socket模块进行网络通信
  • 【第三课】Rust变量与数据类型(二)
  • vue使用List.reduce实现统计
  • Linux网络:HTTPS协议
  • http常⻅请求头和响应头详细讲解(笔记)
  • 【c++丨STL】list的使用
  • 系统掌握大语言模型提示词 - 从理论到实践
  • cocosCreator视频web模式播放踩坑解决
  • c++头文件中 #ifndef的作用
  • Xcode 项目内 OC 混编 Python,调用 Python 函数,并获取返回值(基于 python 的 c函数库)
  • 每日计划-1117
  • 如何用GPT-4o解读视频
  • [ACTF2020]Upload 1--详细解析
  • 【微软:多模态基础模型】(3)视觉生成
  • 整合Druid
  • 基于Python空气质量可视化及预测
  • 第1章-PostgreSQL(PG)介绍
  • moduo之阻塞队列BlockingQueue和BoundedBlockingQueue
  • 大模型Tuning方法详解
  • 爬虫策略与反爬机制——爬虫常见策略
  • Linux基础(十七)——Linux 帐号管理与 ACL 权限设置
  • 【HarmonyOS】鸿蒙系统在租房项目中的项目实战(二)
  • 11.16 Vue element
  • Gin 框架中的路由