4.1.1 Centos7
4.2.1 Apache
Centos7
攻击者视角
初学者:没有目的性 (安全加固针对对象)
目的:会员、敏感信息
SSH密码
yum -y install expect
mkpasswd
服务器上所有账号的密码都要采用毫无关联的强密码,密码为不少于16位的大小写字母数字特殊符号的组合。
密码保存:
不要保存到云笔记
密码列表不要放在服务器上
修改SSH配置文件
改默认端口
禁止root帐号登录
指定允许登录帐号
vim /etc/ssh/sshd_config
启用强制密码长度策略
/etc/login.defs
PASS_MIN_LEN 13
检查是否存在除root之外UID为0的用户
awk -F: '($3 == 0) { print $1 }' /etc/passwd
检测登陆系统是否需要密码
awk -F: '($2 == ""){print $1}' /etc/passwd
帐户口令复杂度及定期更换
禁用NAT
echo 0 > /proc/sys/net/ipv4/ip_forward
Bash日志
设置环境变量为只读:
readonly HISTFILE
readonly HISTFILESIZE
readonly HISTSIZE
readonly HISTCMD
readonly HISTCONTROL
readonly HISTIGNORE
为history文件添加时间
export HISTTIMEFORMAT=‘%F %T’
设置history文件只能追加:
chatter +a ~/.bash_history
Apache
服务器Banner信息隐藏
/etc/httpd/conf/httpd.conf
ServerTokens Prod
ServerSignature Off
PHP
vim /etc/php.ini
expose_php = off
防止列目录泄露敏感信息
vim /etc/httpd/conf/httpd.conf
Options Indexes FollowSymLinks改为 Options FollowSymLinks
指定目录禁止php解析
vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/uploads">
php_flag engine off
</Directory>
限制管理员后台特定IP访问
vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/admin">
Order Deny,Allow
Deny from all
Allow from 192.168.1.111
</Directory>
关闭对.htaccess的支持
.htaccess
AddType application/x-httpd-php .jpg
AllowOverride None