科学上网教程(三)——VPS安全加固

1
2
更新
2017.04.08 VPS日常一些安全措施

  • 导语
    科学上网教程系列,很久没有更新新内容了。更新常用安全措施,至少保证,不会被轻易的当作肉鸡。都是一些常用的安全措施。

  • 系统环境:CentOS


SSH

  • 有两种方案
    • 彻底关闭SSH登陆,改为密钥登陆,安全性最高,但配置较为复杂
    • 修改SSH登陆端口,同时开放默认端口,将爆破 ssh 密码的 IP 封停

      密钥登陆

  • 主要步骤在这里,有时间再更新

    https://ttt.tt/104/

修改端口

  • 命令 如下,以下是将 SSH 端口改为 999 端口

    1
    sed -i 's/#Port 22/Port 999/g' /etc/ssh/sshd_config
  • 安装 fail2ban 封掉 暴力破解ip

fail2ban

  • fail2ban 是 Linux 上的一个著名的入侵保护的开源框架,它会监控多个系统的日志文件,并根据检测到的任何可疑的行为自动触发不同的防御动作。将尝试爆破 ssh 密码的 IP 封停,默认10分钟。

  • 详细配置安装方法在如下网址,这里使用默认配置即可。

    https://linux.cn/article-5067-1.html

  • 安装 fail2ban
    CentOS 需要提前 设置 EPEL 仓库
    以 root 用户登陆,非 root 用户需要 命令前 增加 sudo

    安装命令

    1
    2
    3
    4
    //CentOS
    yum install fail2ban
    //Debian / ubuntu
    apt-get install fail2ban
  • 其他命令

    • 重启

      1
      service fail2ban restart
    • 验证状态

      1
      fail2ban-client ping

      返回

      1
      Server replied: pong
  • 设置开机自启动

    1
    2
    3
    4
    // CentOS/RHEL 6
    chkconfig fail2ban on
    // CentOS/RHEL 7
    systemctl enable fail2ban

禁用Linux多余端口

  • 关闭多余端口是永远正确的选择!只留下常用端口 和 SSR端口
  • 配置 iptables 警告 iptables 配置不是一般的复杂,谨慎操作

  • 清空默认规则

    1
    iptables -F
  • 允许22端口,给暴力破解留点空间 //doge

    1
    2
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
  • 允许53端口 udp ,一般用做DNS服务器,如果你不需要则忽略此条

    1
    2
    iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
    iptables -A INPUT -p udp --sport 53 -j ACCEPT
  • 允许本机访问本机

    1
    2
    iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
    iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
  • 允许真正 SSH 端口

    1
    2
    iptables -A INPUT -p tcp -s 0/0 --dport 999 -j ACCEPT
    iptables -A OUTPUT -p tcp --sport 99 -m state --state ESTABLISHED -j ACCEPT
  • 允许 80 443 端口,http 和 https

    1
    2
    3
    4
    iptables -A INPUT -p tcp -s 0/0 --dport 80 -j ACCEPT
    iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
    iptables -A INPUT -p tcp -s 0/0 --dport 443 -j ACCEPT
    iptables -A OUTPUT -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
  • 允许 SSR端口 以888 xxx 为例 你有几个端口,就添加几个

    1
    2
    3
    4
    5
    iptables -A INPUT -p tcp -s 0/0 --dport 888 -j ACCEPT
    iptables -A OUTPUT -p tcp --sport 888 -m state --state ESTABLISHED -j ACCEPT
    iptables -A INPUT -p tcp -s 0/0 --dport xxx -j ACCEPT
    iptables -A OUTPUT -p tcp --sport xxx -m state --state ESTABLISHED -j ACCEPT
  • 保存配置

    1
    iptables-save > /etc/sysconfig/iptables
  • 重载 iptables

    1
    iptables -L

安装 CSF 防火墙

  • 命令
    1
    2
    3
    4
    5
    6
    7
    rm -fv csf.tgz
    wget http://download.configserver.com/csf.tgz
    tar -xzf csf.tgz
    cd csf
    sh install.sh
    //使用下边的命令来验证csf正确安装并已经运行
    perl /usr/local/csf/bin/csftest.pl
坚持原创技术分享,您的支持将鼓励我继续创作!

本文基于 知识共享署名-相同方式共享 4.0 国际许可协议发布
本文地址:http://yoursite.com/2017/04/08/VPS科学上网教程3/
转载请注明出处,谢谢!