VPS
Ubuntu最新的版本是15.10,不过不是LTS长期支持版,为了省心还是选择了14.04。
大致对比了好几家VPS提供商,选择了一家进行尝试,结果发现可选的系统是好几年发行的版本debian 6,内核也是好几年前编译的……尝试更新,一堆错误,google了好一会儿,终于更新了内核系统etc……结果开机跪了,问客服,客服说不支持更新到新系统,为了不继续浪费时间果断弃之。
开始认为是价格的原因,但是看了看Digital Ocean和Vultr也是差不多价格……由于有优惠码决定试用下Vultr一个月五美元最低配(绑定paypal或信用卡),带SSD(实测速度只有一百来兆)。
测试了下日本和洛杉矶的速度,洛杉矶机房还快一点……
Vultr提供的系统镜像基本包括了主流系统甚至支持Docker和CoreOS,还可以自己上传5G以内的镜像。可以通过Console查看系统,也就是说即使没有ssh还没启动,机子刚刚启动就可以看到画面了,跟本地一样,这可比只能ssh连的一众主机好太多了……支持定期备份(要收费)。但其实可以用免费的Snapshot给系统做个快照,需要的时候整个系统恢复的方式来免费备份。到洛杉矶机房的延时白天大概150~200ms间,可以接受,基本上是物理极限了(信号传播时间)。
整体来说还是比较满意的,通过该网址注册可以得到一点优惠,或者直接搜索vultr。
安全配置
大多数VPS就是自动安装系统的,只要稍等一下等系统安装后通过ssh进行配置就可以了。
安装完成后首先要配置下ssh,先用root登录ssh并更新系统:
ssh root@your-ip
apt-get update && apt-get upgrade
添加用户
然后第一步就是要禁用掉root,因为网络上暴力破解密码的机器人太多了。先新建一个新用户(需要root或sudo):
useradd -m username # -m 创建用户home目录
passwd username # 密码
usermod -a -G sudo username # 给用户执行sudo的权限
chsh -s /bin/bash username # 改变用户默认的bash
参考Adding a new user in Kali Linux
禁用root登录:
vi /etc/ssh/sshd_config
将 PermitRootLogin 设置为 no
将 PasswordAuthentication 设置为 no 禁用密码登录
sudo service ssh restart # 重启服务
用key登录
本机登录不需要密码,并且更安全:
ssh-keygen -t rsa -b 4096
ssh-copy-id user@your-ip
原理是将公共key传送到服务器上,以后登录都是用本机的私钥,所以私钥要保护好或者设置口令。
配置fail2ban
建议参考DO的文章how-to-protect-ssh-with-fail2ban-on-ubuntu-12-04,DO上有很多服务器配置的资源,建议多看看查查。
apt-get install fail2ban -y # 安装
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local # 复制配置文件,防止更新时丢失等问题
配置文件简要介绍:
ignoreip 是白名单,多个ip用空格隔开
bantime 是指当程序发现有人在入侵主机时,禁止该ip时间
将 [ssh] 一行下的 enabled 设置为 true,假如你的ssh端口不是22还要设置port
其他的很好理解就是字面的意思
重启
sudo service fail2ban restart # 重启服务
sudo iptables -L # 查看有没有生效
sudo iptables -S # 查看已经启用的命令
查看/var/log/fail2ban.log和/var/log/auth.log可以看到有谁在扫描你的端口以及自动禁用了的ip。
iptables的配置见How To Set Up a Firewall Using Iptables on Ubuntu 14.04
基本的安全配置就这样,你还可以配置防火墙,例如自带的ufw或者第三方软件SSHGuard。
常用
- cat /etc/issue 查看系统版本
- uname -a 直接查看内核版本
- dpkg-reconfigure tzdata 配置时区
- 平常要多备份关键数据,不要以为系统不会出问题 :)
- last/lastb 查看登录过的用户,后者是登录不成功的用户
- netstat -lnptu 查看开放的端口及对应的程序
- nmap端口扫描
- How To Implement a Basic Firewall Template with Iptables on Ubuntu 14.04
关于Hexo博客搭建的下次再写