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

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

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

1.修改root密码

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

2.采用SSH-key登录

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

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

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

3.配置iptables

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

Archlinux Wiki 中的 iptables 条目

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

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

*filter
:INPUT ACCEPT [:]
:FORWARD ACCEPT [:]
:OUTPUT ACCEPT [:] # 开放本地和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 -j ACCEPT
# nginx (建站才会用到)
#-A INPUT -p tcp --dport -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安装与配置详解

VPS 安全措施(CentOS 6)的更多相关文章

  1. 【vps】Centos 7安装python3.8.5

    [vps]Centos 7安装python3.8.5 前言 由于服务器的搬迁,从香港搬到了大陆,原来的香港服务器即将到期,所以趁着大陆服务器在备案的时候,将新服务器的配置先配置一下.这篇文章就是分享C ...

  2. VULTR的VPS在centos的操作系统中出现网站无法访问 80端口被firewall禁止

    导语:叶子在为一位客户配置web服务器环境的时候,出现网站不能访问的情况,但ping正常.客户的服务器是在VULTR上购买的VPS,安装的操作系统为centos 7.3.经过叶子的分析,认为是防火墙阻 ...

  3. 使用VNC远程管理VPS(Centos系统)

    首先安装桌面环境,我选择的是xfce,轻量级桌面,小巧实用不占太多内存,(占用内存方面,xfce<kde,kde<gnome). centos默认源里面没有xfce,首先安装epel源,然 ...

  4. vps使用(centos)

    javaweb开发,vps来做个人测试 首先配置vps(centos) 1.安装javeweb环境 用ssh远程服务器后,中文乱码,因为ssh的字符集和服务器的字符集不一致,服务器是utf-8,可以通 ...

  5. VPS CentOS-6 下 LNMP HTTP服务器的搭建

    VPS CentOS-6 下 LNMP HTTP服务器的搭建 前言 恢复更新后的第一篇博文, 前段时间由于各种理由, 把博客更新给宕掉了, 个人独立博客的开发也搁浅了, 现在随着工作的逐步稳定, 决心 ...

  6. CentOS如何开启ssh远程连接

    假设VPS采用centos,再假设用较新版本6.5. VPS上可能没有安装桌面,但一般来说都会安装ssh,并且防火墙默认开放22端口. 那就从ssh开始. # 安装ssh,默认已安装好 # yum i ...

  7. ubuntu centos debina

    文章目录CentOSDebianCentOS与Debian哪个好?Ubuntu买VPS时有CentOS.Debian.Ubuntu三种操作系统可以选择,Linux下哪种系统更好是很多新人都会遇到的问题 ...

  8. CentOS 7 / RHEL 7 上安装 LAMP + phpMyAdmin

    原文 CentOS 7 / RHEL 7 上安装 LAMP + phpMyAdmin 发表于 2014-11-02 作者 Haoxian Zeng 更新于 2014-12-12   之前根据在 Lin ...

  9. 官方解答:Vultr VPS常见问题

    VULTR VPS配置高,价格低廉,是非常优秀的vps品牌.今天我来翻译vultr官方FAQ,相信你能找到具体答案. Q 请介绍VULTR VPS机器硬件配置 Intel CPU 3+ GHz Cor ...

随机推荐

  1. IntelliJ IDEA删除项目

    删除项目一向比较奇葩,因为当你点击到该项目名称右键时,并没有delete选项,导致我们不知道怎么删除,查找多方文档,得到以下解决: 1.将鼠标移到要删除的项目名称上,单击并按“Delete”按钮删除项 ...

  2. 虽然今天angular5发布了,但我还是吧这篇angularjs(1)+webpack的文章发出来吧哈哈哈

    本文为原创,转载请注明出处: cnzt       文章:cnzt-p http://www.cnblogs.com/zt-blog/p/7779384.html 写在前面: 因为最近总结自己之前做过 ...

  3. 社会信息化环境下的IT新战略

    我们现在所处的信息化环境正在发生改变,技术已经成为影响组织的最重要的外部力量,传统的正金字塔的结构被移动互联网深深改变:员工能够更加自由的获取信息,变成更多的信息链接,这种链接不光连接人和组织,还连接 ...

  4. ScSPM

    Linear Spatial Pyramid Matching using Sparse Coding for Image Classification (CVPR'09) 稀疏编码系列: (一)-- ...

  5. 转: Code Review 程序员的寄望与哀伤

    转自: http://www.cnblogs.com/mindwind/p/5639008.html 一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产 ...

  6. Service Mesh vs SideCar

    Istio = 微服务框架 + 服务治理 Istio 大幅降低微服务架构下应用程序的开发难度,势必极大的推动微服务的普及.个人乐观估计,随着isito的成熟,微服务开发领域将迎来一次颠覆性的变革.后面 ...

  7. 基于node+koa2+mongodb实现简单的导航管理系统

    基于node+koa2+mongodb实现简单的导航管理系统 项目说明 本项目gitbub地址 https://github.com/xuess/nav-admin,喜欢请star 基于node 实现 ...

  8. linux 查看权限

    参考文章:http://www.linuxidc.com/Linux/2014-10/108114.htm Linux文件访问权限分为可读,可写和可执行三种. 可用ls -l命令查看,例: ls -l ...

  9. ajax 提交所有表单内容及上传图片(文件),以及单独上传某个图片(文件)

    我以演示上传图片为例子: java代码如下(前端童鞋可以直接跳过看下面的html及js): package com.vatuu.web.action; import java.io.File; imp ...

  10. 利用WebViewJavascriptBridge与UIWebView进行交互

    事情的起因还是因为项目需求驱动.折腾了两天,由于之前没有UIWebView与JS交互的经历,并且觉得这次在功能上有一定的创造性,特此留下一点文字,方便日后回顾. 我要实现这样一个需求:按照本地的CSS ...