Linux 下敏感文件路径总结
在服务器运维和安全测试过程中,掌握各类服务的关键配置文件路径、日志文件位置以及重要目录的存放位置至关重要。本文整理了 Linux 系统下常见服务(如 Apache、Nginx、MySQL 等)的路径结构,以及一些敏感文件的位置与作用,以便您快速查找和高效管理。
常见服务文件路径
1. Apache HTTP Server
- 配置文件:
- CentOS/RHEL:
/etc/httpd/
- Ubuntu/Debian:
/etc/apache2/
- CentOS/RHEL:
- 日志文件:
- CentOS/RHEL:
/var/log/httpd/
- Ubuntu/Debian:
/var/log/apache2/
- CentOS/RHEL:
- 代码目录:
/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
命令快速查询。
有效规避信息泄露的方法
在服务器管理中,这些敏感文件与目录可能会成为攻击者的目标,需采取以下措施:
- 权限管理:
- 确保敏感文件的权限最小化,例如
/etc/shadow
应仅对root
可见。
- 确保敏感文件的权限最小化,例如
- 日志监控:
- 定期分析日志文件,检测异常访问或配置更改。
- 历史记录清理:
- 定期清理
.bash_history
和.mysql_history
,避免敏感信息泄露。
- 定期清理
- 加密与备份:
- 私钥文件和配置文件需加密存储,并定期备份。