VPS 新人折腾说明书

作者: changchao | 来源:发表于2017-08-10 22:50 被阅读339次

其实这是个流水账。
注:全文以Ubuntu 16.04 为例

1 用户

  • 赶紧新建个用户,别用你的root登陆啊喂!root登陆之后:
$ sudo adduser tom #交互式创建用户,你要做的基本只是设置一个强度高一点儿的密码
$ sudo vim /etc/sudoers #为这个新用户也增加root权限

最后一行添加 tom ALL=(ALL) ALL ,保存退出。

  • 换个好用的shell吧!
$ su tom
$ cd ~ && vim .bashrc

这儿拷贝所有内容,复制到你的.bashrc文件最后,保存,$ source .bashrc看看效果吧!

2 SSH

  • 先把root 登陆关掉,把默认22端口改掉。$ sudo vim /etc/ssh/sshd_config,找到下面两行,修改为:
    PermitRootLogin no #禁用root登陆
    Port 2345 #修改默认端口,你可随机指定其他1024~65535
    
  • 配置公钥验证
    选择你本机(非远程vps)的密钥对 ,目录为~/.ssh/
    如果没有,使用ssh-keygen命令生成一对。生成完后,在上面目录可以找到id_rsa id_rsa.pub两个文件。
    • 将id_rsa.pub 文件拷贝至vps的/home/tom/.ssh/目录下
    • 在vps上tom用户下,执行:
      $ cd ~/.ssh
      $ cat id_rsa.pub >> authorized_keys #部署登陆公钥
      $ chmod 600 authorized_keys #权限
      $ chmod 700 ~/.ssh #权限
      
    • 编辑/etc/ssh/sshd_config文件,确保字段如下:
      RSAAuthentication yes
      PubkeyAuthentication yes
      AuthorizedKeysFile .ssh/authorized_keys
      PasswordAuthentication no   # 此项视情况,如果设置了这个安全性更高,但就无法通过密码ssh进来了,测试阶段先不要设置,等ssh免密登陆成功了可以再设置此项
      
    • 重启sshd sudo service ssh restart
      配置完成后,在你本机的ssh工具选择公钥验证,然后选择你本地的id_rsa导入,之后就可以免密码登陆了!注意备份好这个私钥,否则丢了的话,就登不进去了亲!!

3 ufw防火墙

ufw是一个主机端的iptables类防火墙配置工具,比较容易上手。相比反人类的iptables简直不要太简单!

  • 安装:sudo apt-get install ufw

  • 查看状态 sudo ufw status

  • # 启用
    sudo ufw enable
    sudo ufw default deny
    
    #停用
    sudo ufw disable
    
    # 应用举例
    sudo ufw allow 22 # 一定先把你的ssh端口allow啊!!!
    sudo ufw allow 53 # dns
    sudo ufw allow 80 #允许外部访问80端口
    sudo ufw delete allow 80 #禁止外部访问80端口
    sudo ufw allow from 192.168.1.1 #允许此IP访问所有的本机端口
    sudo ufw deny smtp #禁止外部访问smtp服务
    sudo ufw delete allow smtp #删除上面建立的某条规则
    ...
    
  • ufw规则简单明了,可以根据自己需求开发,默认全部deny。

  • 请注意: ufw和docker存在兼容性问题,可能导致ufw的策略失效或混乱,如果你有在vps上使用docker,请务必留意,目前这儿有一个解决方案

    create the file /etc/docker/daemon.json and put the following in:

    {
        "iptables": false
    }
    

    then issued sudo service docker stop then sudo service docker start FINALLY docker is simply following the appropriate rules in UFW.

    Additional data: Docker overrules UFW!

4 ShadowSocksR

不多说了,懂得自然懂,到这儿来看,不保证链接永久有效,自求多福吧:-)

多说一句,如果你已经成功安装SSR,那么推荐你开启BBR,这是Google主导的一套拥塞控制算法,能够很大程度上提高你的科学速度,参见一键安装最新内核并开启 BBR 脚本

5 fail2ban

fail2ban 是 Linux 上的一个著名的入侵保护的开源框架,它会监控多个系统的日志文件(例如:/var/log/auth.log 或者 /var/log/secure)并根据检测到的任何可疑的行为自动触发不同的防御动作。事实上,fail2ban 在防御对SSH服务器的暴力密码破解上非常有用。

  • 安装 $ sudo apt-get install fail2ban

  • ssh保护。fail2ban 功能强大,配置也比较复杂,不过好在它自带了许多默认的监控项,例如针对ssh的(所有默认监控项可以在/etc/fail2ban/jail.conf找到)。所以如果我们只针对ssh进行保护的话,非常简单,只需要编辑/etc/fail2ban/jail.d/defaults-debian.conf,增加如下字段即可:

    [sshd]
    enabled = true
    bantime = 36000
    
  • 重启 sudo service fail2ban restart

  • nginx示例。因为我的vps中用到了nginx ,所以在这儿也附一个nginx保护的例子

    #/etc/fail2ban/filter.d 文件夹下新增文件 nginx.conf,内容如下
    [Definition]
    failregex = <HOST> -.*- .*HTTP/1.* 404 .*$ #404相关的
    ignoreregex =
    
    #/etc/fail2ban/jail.local 文件尾新增如下内容
    [nginx-get-dos]
    enabled = true
    filter = nginx # 指定filter,就是上面文件中定义的内容
    logpath = /var/log/nginx/access.log #log路径指定
    maxretry = 10 #最多10次,就ban掉
    findtime = 600    #次数统计时间段
    bantime = 36000 #ban 10h
    
  • 常用命令

    $ sudo service fail2ban restart #重启
    $ sudo fail2ban-client ping #验证服务是否正常
    Server replied: pong
    $ sudo fail2ban-client status #显示出当前活动的监狱列表
    $ sudo fail2ban-client status nginx-get-dos #检验一个特定监狱的状态
    
  • 可参考 如何使用 fail2ban 防御 SSH 服务器的暴力破解攻击

The end ,欢迎留言讨论,以后如有新内容会持续补充

相关文章

  • VPS 新人折腾说明书

    其实这是个流水账。注:全文以Ubuntu 16.04 为例 1 用户 赶紧新建个用户,别用你的root登陆啊喂!r...

  • vps折腾

    一直想记录一下vps的一些神奇用途,奈何爱吃爱睡,拖到了大三下学期才开始着手(可能最近胖得有点不像样了才开始减缓吃...

  • VPS 选择

    初入vps坑 , 这个月折腾VPS服务器花了不少时间,把各个vps的评测和都看遍了,总结出以下几个结论: 架构选...

  • 搬瓦工VPS折腾手记

    不到30刀一年的CN2VPS,还是很有诱惑力的,入手了一个,这里做一个个人折腾的手记,免得自己忘了。 1.安装系统...

  • 我的VPS折腾记

    总算找到时间来调教VPS你这迷人的小妖精。本文以Ubuntu为基础逐渐深入与展开学习。从linux基本命令,lin...

  • 误删数据库|二进制日志恢复数据库

    大前天晚上不知道是不是抽风。为了试用织梦CMS,竟然把做好的网站VPS当成了另外一个用来折腾的VPS。不小心把网站...

  • 前些时间租了一个VPS

    我是玩VPS的新人,在这里想谈几点关于新手选择VPS的条件。 支付方式,这应该是凌驾于所有条件之上的,不论你找到多...

  • 批量踢出离线Linux用户脚本

    原文发于 批量踢出离线Linux用户脚本,更多文章请访问 Eason Yang's Blog 今天折腾VPS的时候...

  • 重回github pages

    之前折腾的各种vps,包括vultr、HostUS、DigitalOcean等等,由于一些不可抗力,服务器开始都还...

  • 产品新人折腾记

    谨此糟糕的面壁思过文,献给今天糟糕却可爱的我 (一) 今天的原型评审,完全失控了,没有达到自己预设的目的。必须来复...

网友评论

    本文标题:VPS 新人折腾说明书

    本文链接:https://www.haomeiwen.com/subject/mjkhrxtx.html