zoukankan      html  css  js  c++  java
  • VPS 安全措施(CentOS 6)

    新到手一台VPS,要做的第一件事大概是做好安全措施。

    下面针对CentOS 6随便写点,我目前做的几步是:

    1. 修改root密码
    2. SSH-key登录
    3. 配置iptable
    4. 安装fail2ban

    1.修改root密码

    登录到VPS,键入 passwd 即可修改root密码,注意输入内容不会以星号呈现。

    2.采用SSH-key登录

    采用密钥登录的好处就是如果有人知道你的root密码了,但他没有对应的密钥文件,那么他就不能通过SSH登录到VPS。而这个密钥文件只存在在你自己的电脑上,除非你硬盘被盗或者被入侵了。相应的教程实在太多了,这里简略说下:

    1 //服务器端(生成密钥对)
    2 ssh-keygen -t rsa             //生成密钥,按照提示操作
    3 //将root/.ssh目录中的id_rsa和id_rsa.pub下载到本地
    4 cd /root/.ssh                 //更改工作目录到/root/.ssh
    5 mv id_rsa.pub authorized_keys //将id_rsa.pub重命名为authorized_keys
    6 chmod 600 authorized_keys     //给authorized_keys设置600权限
    7 vi /etc/ssh/sshd_config       //编辑SSHD配置文件
    8 //去掉RSAAuthentication和PubkeyAuthentication两行前面的#
    9 /etc/init.d/sshd restart      //重启SSHD服
    1 //本地端(载入私钥)
    2 打开puttygen.exe,载入密钥(id_rsa文件,无后缀),输入在SSH中设置的密钥密码,最后保存私钥(Putty适用的类型,后缀为ppk)。
    3 打开putty.exe,找到连接(Connection)-SSH-认证(Auth),找到“认证私钥文件”一栏(Private key for authentication),点击浏览(Browse),载入刚才保存的ppk文件,应该可以顺利登陆了。
    1 //服务器端(关闭密码登录)
    2 vi /etc/ssh/sshd_config       //编辑SSHD配置文件
    3 //找到PasswordAuthentication后面的yes改成no,保存
    4 /etc/init.d/sshd restart      //重启SSHD服

    到此,VPS密钥登录配置完成。

    3.配置iptables

    iptables 是一个配置 Linux 内核 防火墙 的命令行工具,是 netfilter 项目的一部分。术语 iptables 也经常代指该内核级防火墙。iptables 可以直接配置,也可以通过许多 前端 和 图形界面 配置。iptables 用于 ipv4ip6tables 用于 ipv6

    Archlinux Wiki 中的 iptables 条目

     iptables研究起来会耗费大量时间,有兴趣的话不妨移步:Iptables 指南 1.1.19

    下面粘贴一下自己的配置:

    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    
    # 开放本地和Ping
    -A INPUT -i lo -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    
    # 保持当前SSH连接
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    
    # 控制端口
    # HTTP (建站才会用到)
    #-A INPUT -p tcp --dport 80 -j ACCEPT
    # nginx (建站才会用到)
    #-A INPUT -p tcp --dport 8384 -j ACCEPT
    # SSH (自行修改)
    -A INPUT -p tcp --dport $(SSH)-j ACCEPT
    # SS (自行修改)
    -A INPUT -p tcp --dport $(SS)-j ACCEPT
    
    #拒绝其它
    -A INPUT -p icmp -j REJECT --reject-with icmp-port-unreachable
    -A INPUT -j REJECT --reject-with icmp-port-unreachable
    -A FORWARD -j REJECT --reject-with icmp-port-unreachable
    
    #开放出口
    -A OUTPUT -j ACCEPT
    
    COMMIT

     4.fail2ban

    字面上理解,就是“登录失败了就把你ban掉”,可以防范某些不怀好意的人暴力登录你的VPS。

    可参考:centos下fail2ban安装与配置详解

  • 相关阅读:
    php报表之jpgraph柱状图实例
    如何不做伪phper
    php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!编辑
    PHP解析JSON与XML
    dedeCms登录后台(验证码不正确)解决办法
    php curl用法
    PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
    SAE学习笔记1
    windows(linuxFedora13)php 发送邮件 (sendmail+PHPMailer) 结合配置问题
    drupal7 常用的数据读取API
  • 原文地址:https://www.cnblogs.com/joxon/p/vps-security.html
Copyright © 2011-2022 走看看