Ubuntu配置案例
阿里云购买服务器,系统选ubuntu 14.0 64位常用版本
连接 ssh root@IP
☐ 增加账户 不用root做常用操作
adduser webmgr
gpasswd -a webmgr sudo
sudo visudo
里面增加webmgr ALL=(ALL:ALL) ALL
☐ ~/.zshrc 文件修改-快捷命令
alias sshourkp="ssh [email protected]"
source .zshrc
☐ 无密码ssh登录
本地电脑 la -s 查找.ssh, 进去该目录
没有就生成 ssh-keygen -t rsa -b 4096 -C "[email protected]"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
服务器
ls -a 查找.ssh ,进去该目录
没有就生成 ssh-keygen -t rsa -b 4096 -C "[email protected]"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
一定要在.ssh目录下执行以下命令
vi authorized_keys
退出保存:wq
chmod 600 authorized_keys
sudo service ssh restart
☐ 注意了: 阿里云服务器本身就有一个安全组的,进去克隆自己改掉
☐ 修改服务器ssh默认登录端口 49999
sudo vi /etc/ssh/sshd_config
提醒 最好多开一个连接窗口,万一改了端口,还有一个备用的在线连接
Port 49999
最后添加
UseDNS no
AllowUsers webmgr
☐ 防火墙设置 iptables 和 Fail2Ban
更新源
sudo apt-get update && sudo apt-get upgrade
清空规则
sudo iptables -F
新建规则
sudo vi /etc/iptables.up.rules
增加以下代码
☐
*filter
# allow all connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# allow out traffic
-A OUTPUT -j ACCEPT
# allow https http
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
# allow ssh port login
-A INPUT -p tcp -m state --state NEW --dport 49999 -j ACCEPT
# allow ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
# log denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7
# drop incoming sensitive connections (bad incoming)
-A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
-A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 150 -j DROP
# reject all other inbound
-A INPUT -j REJECT
-A FORWARD -j REJECT
COMMIT
☐
使规则生效
sudo iptables-restore < /etc/iptables.up.rules
☐
查看防火墙状态
sudo ufw status
如果没有激活,显示
Status: inactive
激活命令
sudo ufw enable
再次查看 sudo ufw status
Status: active
☐ 设置开机自动启动防火墙
sudo vi /etc/network/if-up.d/iptables
写入脚本
#!/bin/sh
iptables-restore /etc/iptables.up.rules
给脚本权限
sudo chmod +x /etc/network/if-up.d/iptables
☐ Fail2Ban 防御动作库 根据日志文件,执行对应的防御动作
安装
sudo apt-get install fail2ban
配置
sudo vi /etc/fail2ban/jail.conf
改
bantime = 3600
....
destmail = 自己的
...
去到 action = %(action_mw)s
[ssh]部分不改动
启动
sudo service fail2ban start
sudo service fail2ban stop