用户相关

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 新增用户(+sudo权限)
useradd -m webdev
usermod -aG sudo webdev 
# 修改sshd配置
vi /etc/ssh/sshd_config
Port 12345               # 修改成一个别人猜不到的
PermitRootLogin no       # 禁止root登录
X11Forwarding no         # 禁止X11转发
PermitEmptyPasswords no  # 禁止空密码登录
# 重启sshd服务
service sshd restart

禁ping

1
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

启用防火墙

1
2
3
4
5
6
ufw enable
ufw default allow outgoing 
ufw default deny incoming
ufw allow 22
ufw allow 80
ufw allow 443

nginx配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
# 禁止目录浏览
autoindex off;
# 隐藏Nginx版本信息
server_tokens off;
# 降权
user nginx www;
# 限制HTTP请求方法
if ($request_method !~ ^(GET|HEAD|POST)$ ) {
    return 404;
}
# 限制非法UserAgent
if ($http_user_agent ~* "java|python|perl|ruby|curl|bash|echo|uname|base64|decode|md5sum|select|concat|httprequest|httpclient|nmap|scan" ) {
    return 403;
}
# 防止缓冲区溢出
proxy_buffer_size 4k;           #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 32k;            #proxy_buffers缓冲区,网页平均在32k以下的设置
proxy_busy_buffers_size 64k;    #高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传

安全审计

1
2
3
4
5
6
w
last
last -x -F
grep 'Accepted' /var/log/auth.log
# 分析nginx访问最多的10个IP
awk '{print $1}' /var/log/nginx/access.log | sort -n |uniq -c | sort -rn | head -n 10

sshd支持xshell4

1
echo 'KexAlgorithms +diffie-hellman-group14-sha1' >> /etc/ssh/sshd_config