centos7 做以下操作1、SSH服务安全配置 通过配置/etc/ssh/ssh_config进行安全加固 1)限制root用户通过ssh登录 2)用户登录会话超时自动退出 3)限制用户登录会话最大连接数 2、ftp服务器搭建和加固 修改配置文件进行安全加固 3、Apache服务器搭建和加固 1)禁止目录访问 2)隐藏Apache版本信息 3)配置Apache的ACL
时间: 2024-02-27 09:52:59 浏览: 57
好的,我会尽力回答你的问题。以下是 CentOS 7 上 SSH、FTP 和 Apache 的安全加固步骤:
1. SSH 服务安全配置
1)限制 root 用户通过 SSH 登录
- 打开 /etc/ssh/sshd_config 文件
- 将 `PermitRootLogin yes` 改为 `PermitRootLogin no`
- 保存并退出文件
- 重新启动 SSH 服务:`systemctl restart sshd`
2)用户登录会话超时自动退出
- 打开 /etc/ssh/sshd_config 文件
- 添加或修改下列行:
```
ClientAliveInterval 300
ClientAliveCountMax 0
```
- 保存并退出文件
- 重新启动 SSH 服务:`systemctl restart sshd`
这样设置可以让 SSH 连接在 300 秒(5 分钟)内没有活动就自动断开连接。
3)限制用户登录会话最大连接数
- 打开 /etc/security/limits.conf 文件
- 添加下列行:
```
* hard maxlogins 2
```
- 保存并退出文件
- 重新登录或重新启动系统生效
这样设置可以让每个用户最多登录 2 次 SSH 会话。
2. FTP 服务器搭建和加固
- 安装 vsftpd:`yum install vsftpd`
- 修改 /etc/vsftpd/vsftpd.conf 文件:
```
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
```
- 添加下列行:
```
tcp_wrappers=YES
use_localtime=YES
```
- 保存并退出文件
- 启动 vsftpd 服务:`systemctl start vsftpd`
- 配置防火墙允许 FTP 访问:`firewall-cmd --add-service=ftp --permanent && firewall-cmd --reload`
3. Apache 服务器搭建和加固
1)禁止目录访问
- 打开 /etc/httpd/conf/httpd.conf 文件
- 找到如下行:
```
<Directory />
AllowOverride none
Require all denied
</Directory>
```
- 将 `Require all denied` 改为 `Require all granted`
- 保存并退出文件
- 重新启动 Apache 服务:`systemctl restart httpd`
2)隐藏 Apache 版本信息
- 打开 /etc/httpd/conf/httpd.conf 文件
- 找到如下行:
```
ServerTokens OS
```
- 将 `OS` 改为 `Prod`
- 找到如下行:
```
ServerSignature On
```
- 将 `On` 改为 `Off`
- 保存并退出文件
- 重新启动 Apache 服务:`systemctl restart httpd`
3)配置 Apache 的 ACL
- 打开 /etc/httpd/conf/httpd.conf 文件
- 找到如下行:
```
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
```
- 在 `</Directory>` 前添加下列行:
```
<FilesMatch "\.(htaccess|htpasswd|ini|conf|sql)$">
Require all denied
</FilesMatch>
```
- 保存并退出文件
- 重新启动 Apache 服务:`systemctl restart httpd`
这样设置可以禁止用户访问一些敏感文件。
阅读全文