Ubuntu Apache2的安全设置要点主要包括以下几个方面:
系统更新与补丁管理:
sudo apt update
sudo apt upgrade
防火墙设置:
sudo apt install ufw
sudo ufw enable
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
SSH安全:
sudo nano /etc/ssh/sshd_config
# 修改以下行
Port 2222
PermitRootLogin prohibit-password
PasswordAuthentication no
sudo systemctl restart sshd
禁用不必要的服务和模块:
sudo a2dismod module_name
隐藏Apache信息:
sudo nano /etc/apache2/apache2.conf
# 将以下行
ServerTokens OS
ServerSignature On
# 改为
ServerTokens Prod
ServerSignature Off
sudo systemctl restart apache2
启用SSL/TLS:
sudo mkdir /etc/apache2/ssl
sudo cp YourDomainName_public.crt /etc/apache2/ssl/
sudo cp YourDomainName_chain.crt /etc/apache2/ssl/
sudo cp YourDomainName.key /etc/apache2/ssl/
sudo a2enmod ssl
sudo nano /etc/apache2/sites-available/default-ssl.conf
# 配置SSL相关设置
sudo systemctl restart apache2
安全审计与监控:
tail -f /var/log/apache2/error.log
限制用户权限:
sudo useradd deploysudo usermod -a -G deploy deploy
sudo vi /etc/apache2/envvars
# 设置Apache用户和组
export APACHE_RUN_USER deploy
export APACHE_RUN_GROUP deploy
启用日志审计:
配置SELinux(可选):
sudo apt install selinux
sudo setenforce 1
通过上述措施,可以显著提高Ubuntu Apache2服务器的安全性,保护服务器免受未经授权的访问和攻击。请注意,安全性是一个持续的过程,需要定期审查和更新安全配置。