购买 Linux VPS 服务器后简单的安全设置

一、关闭 SSH 密码登陆

首先,你需要有自己的 SSH Key,如果你使用 Windows 系统,可以用 Putty 下的 PUTTYGEN.EXE 生成私匙和公匙。

第一步,运行 PUTTYGEN.EXE

一般,我们选择默认的 RSA 加密即可,默认的 1024 位加密足够用,如果要保险点,可以选择 2048 或 4096 位加密,如图红圈处:

第二步,点击 Generate ,然后鼠标随意在空白处移动

等进度条满了,就生成好你的 SSH Key 了:

如果要更安全一点,可以设置Key Passphrase,也就是密码,这个密码和 root 密码不同,一旦别人获取了你的 Key ,没有这个密码他也加载不了你的 Key。

第三步,点击 Save Public Key 保存你的公匙,整个文件如下

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "showfom-rsa-key-20130701"
AAAAB3NzaC1yc2EAAAABJQAAAQEAna/D52fTZ1YNjxnwAJAUhxRdPCwar8ZfWLdw
HEmT64Zqtxrz65KRxesHFRVND8Xn1GKtuQIQMu/d5fFhEajFbjoSw/n+Mz58irzU
XDbE34Y/nxy1/iWc6aJz6lX6wT7nnDcVoqX8Be8j/8sjS7cMFarn3Iy+0bSQNON3
681+hEFM7mpoYyqrCVBpARfiiEZb8tNkfzrKJFrciZ87yaKkncPeDCIbYKjuJY2h
ciK+Y+IptLdoMj5kQkSXStJFQUfFg+s3FQJ9Istu4C7BF3ZafD4mEupA7P90RRUj
Lj95mUW/P/ebWGsMVbnxz/Xmq3OL/TOuo85umbSN44DmSB3NEQ==
---- END SSH2 PUBLIC KEY ----

其中中间那么长长的一串,就是你的公匙了,可以放在服务器的 ~/.ssh/authorized_keys ,我们应采取以下的格式:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAna/D52fTZ1YNjxnwAJAUhxRdPCwar8ZfWLdwHEmT64Zqtxrz65KRxesHFRVND8Xn1GKtuQIQMu/d5fFhEajFbjoSw/n+Mz58irzUXDbE34Y/nxy1/iWc6aJz6lX6wT7nnDcVoqX8Be8j/8sjS7cMFarn3Iy+0bSQNON3681+hEFM7mpoYyqrCVBpARfiiEZb8tNkfzrKJFrciZ87yaKkncPeDCIbYKjuJY2hciK+Y+IptLdoMj5kQkSXStJFQUfFg+s3FQJ9Istu4C7BF3ZafD4mEupA7P90RRUjLj95mUW/P/ebWGsMVbnxz/Xmq3OL/TOuo85umbSN44DmSB3NEQ== showfom-rsa-key-20130701

其中 ssh-rsa 为加密类型, showfom-rsa-key-20130701 为说明,可以是任意文本,如 showfom-notebook

第四步,点击 Save Private Key 生成用于 Putty 的私匙,这里我们保存为 showfom.ppk ,整个文件如下

PuTTY-User-Key-File-2: ssh-rsa
Encryption: none
Comment: Showfom
Public-Lines: 4
AAAAB3NzaC1yc2EAAAABJQAAAIBTILl54rOaEEkv95VKR6IEZ9Y0d1IpNNQeyk+e
yHPtc7jVTmfL0oiho9s2UqquaNGmLmzLjhXRj3cPZ1VZInPFqVtgWYKWPEpGckGI
7/iTpNUuz6tKguEi5RYaEtfgKWF13qC5S8dWlk2FGv7dY5GbSoZMHZtc+zTL9Jpn
NCa5nw==
Private-Lines: 8
AAAAgEWly9TSsiciZtUpYWe/eegD+Kh/pbPSUNuG6MNOAEN8ocd5Ctsz2kI9LUkw
gSpX0j8f+kmuZU62eIKHAlGZZ+nVyklcHE7qFO2AyMCuniUYm0mgdN5gjXUBFduV
VTjIaYwd282Yo0xtjPWN0DJF3jmmsrw6pwMwaa6r6pAlKANtAAAAQQClYrYCu3eu
0GcGw9G2MVLIZoHoKYPL2e6HjfPQhvsze6AKUzpTF/DGMkBFY6dH//0zSoHue2jn
gNsaLQygBvT/AAAAQQCArGNL76eXHtR28TRY2PONg8ij3YN9mCzYG3sDsV8feGAk
RyZ8T5b6xZuf9UyvZ1lIA10i7ULZ63s2hvCZUxthAAAAQD+auXN8fUAylROh8zTM
14FyY7GRwdN7y7+EtZ8NuVDLvZP9Svpd4V5Ti9LpqjtiUcp0eELCd5i7zxyV2oHe
U78=
Private-MAC: ce0968aff198e2c2550704625b23ba7575e6b260

这个 showfom.ppk 你需要通过 Putty 目录下的 PAGEANT.EXE 导入,这样你就可以不需要输入 root 密码即可登录你的 VPS。

PS: WinSCP 和 Putty 的 SSH Key 是通用的,只需要导入一次即可。


但是 Putty 的 Private Key 是不标准的,只能用于 Putty 或 WinSCP ,如果你使用 Xshell 4 ,则需要转换成 rsa 文件,可以在 PUTTYGEN.EXE 上方菜单里的 Conversions > Export OpenSSH Key 方式转换。

第五步,导入你的 Linux VPS 或服务器

如果你本地是 Linux 桌面环境,可以很简单的一条命令搞定:

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

但是大多数用户还是 Windows 用户,所以我建议两种比较简单的方法

1、把自己的公匙放在 https://launchpad.net/ 网站,并得到类似 https://launchpad.net/~showfom/+sshkeys 这样的地址,然后通过以下命令导入你的 Key

curl https://launchpad.net/~showfom/+sshkeys > ~/.ssh/authorized_keys

如果没有 .ssh 目录,可以新建立一个

mkdir .ssh

2、也可以直接写入 authorized_keys 文件

cat >>/root/.ssh/authorized_keys<<EOF

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAna/D52fTZ1YNjxnwAJAUhxRdPCwar8ZfWLdwHEmT64Zqtxrz65KRxesHFRVND8Xn1GKtuQIQMu/d5fFhEajFbjoSw/n+Mz58irzUXDbE34Y/nxy1/iWc6aJz6lX6wT7nnDcVoqX8Be8j/8sjS7cMFarn3Iy+0bSQNON3681+hEFM7mpoYyqrCVBpARfiiEZb8tNkfzrKJFrciZ87yaKkncPeDCIbYKjuJY2hciK+Y+IptLdoMj5kQkSXStJFQUfFg+s3FQJ9Istu4C7BF3ZafD4mEupA7P90RRUjLj95mUW/P/ebWGsMVbnxz/Xmq3OL/TOuo85umbSN44DmSB3NEQ== showfom-rsa-key-20130701
EOF

在某些服务商的 CentOS 系统里,由于开启了 SELinux ,默认是禁止了 .ssh 目录的权限的,可以用下面的命令解除限制:

restorecon -R -v /root/.ssh

如果遇到 authorized_keys 权限问题,可用如下命令解决:

chattr -i authorized_keys

然后你可以重启开启一个 SSH 窗口,测试是否不需要输入密码即可用 root 登陆。

第六步,关闭 SSH 密码登陆

编辑 SSH 配置文件:

vim /etc/ssh/sshd_config

找到

#PasswordAuthentication yes

并改为

PasswordAuthentication no

保存,退出,重启 SSH 服务

Ubuntu 下:

/etc/init.d/ssh restart

CentOS 下:

service sshd restart

好了,这样禁止 SSH 密码登陆就大功告成,这一步就拒绝了 90% 的入侵危险,当然,你自己的私匙一定要保存好,否则被别人偷走可是不需要密码就能进你的服务器哦。

二、安装 CSF 防火墙屏蔽尝试入侵服务器的 IP

CSF 防火墙安装略简单,几个命令即可搞定:

rm -fv csf.tgz
wget http://www.configserver.com/free/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh

然后运行 perl /usr/local/csf/bin/csftest.pl 检测是否安装成功

为了防止系统误屏蔽本地 IP,可以修改 /etc/csf/csf.allow 和 /etc/csf/csf.ignore 文件加入你需要的白名单 IP ,然后用 csf -r 命令重启读取配置文件即可。

三、用 iptables 只开启常规端口

一般我们只需要开启 22, 53, 80, 443 这三个常见的对外开放端口,可以使用如下命令

清空 iptables 默认规则

iptables -F

允许 22 端口进入和返回

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

允许 53 端口,一般作为 DNS 服务使用

iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT

允许本机访问本机

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

允许所有 IP 访问 80 和 443 端口,一般作为 http 和 https 用途

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

保存配置

iptables-save > /etc/sysconfig/iptables

重新加载 iptables

iptables -L

四、安装 fail2ban 屏蔽并举报扫描 SSH 端口的 IP

有很多精力旺盛的家伙会整天扫描 SSH 密码,当然直接关闭 SSH 密码登陆即可防止,但是为了给他们一点教训,可以安装 fail2ban ,屏蔽之余,还能自动写举报信给 IP 所在的 ISP。

CentOS 下安装:

导入 epel 源:

CentOS 6.x 32 位:

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

CentOS 6.x 64 位:

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

安装 fail2ban

yum -y install fail2ban
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
service fail2ban start

Ubuntu / Debian 下安装:

apt-get install fail2ban -y

通过查看/var/log/fail2ban.log文件即可知道有哪些精力过剩的家伙在整天扫描你的 SSH 了。

后记

因为近期不少客户的 VPS 或服务器被黑客入侵,原因都是用了很简单的 root 密码,所以考虑以后卖无管理型的 VPS 时,直接做个屏蔽密码的系统,用户购买的时候提交自己的 SSH Key ,或者系统分配你一个 SSH Key ,这样就会安全多。国外的 Amazon EC2、 DigitalOcean 和 HPCloud 均有导入自己 SSH Key 并默认屏蔽密码的方式,大大增加了安全性。

转载请注明:通天塔 ? 购买 Linux VPS 服务器后简单的安全设置

时间: 2024-10-21 01:18:09

购买 Linux VPS 服务器后简单的安全设置的相关文章

购买 Linux 云服务器

本文主要介绍如何从零开始,以最简单的方式搭建一个 Linux 云服务器. 如果您之前没有搭建云服务器的经验,建议您按照本文介绍的方式来购买和配置您的第一台云服务器. [腾讯云]云产品采购季,助力行业复工.1核2G云服务器,首年99元 https://cloud.tencent.com/act/cps/redirect?redirect=1053&cps_key=bc2a905407a3a1aaa9ff26fe9b78522f&from=console 本文是搭建 Linux 云服务器入门教

Linux VPS/服务器上用Crontab来实现VPS自动化

VPS或者服务器上经常会需要VPS或者服务器上经常会需要定时备份数据.定时执行重启某个服务或定时执行某个程序等等,一般在Linux使用Crontab,Windows下面是用计划任务(Win的都是图形界面设置比较简单),下面主要介绍Linux VPS/服务器上Crontab的安装及使用. Crontab是一个Unix/Linux系统下的常用的定时执行工具,可以在无需人工干预的情况下运行指定作业. 一.Crontab的安装 1.CentOS下面安装Crontab yum install vixie-

Windows上管理远程Linux VPS/服务器文件工具 - winscp

Linux上经常会经常需要编辑文件,特别是Linux VPS/服务器安装好系统之后配置环境会需要修改很多的配置文件等,对于常用Linux的基本上都能够熟练使用vi或者nano等SSH下面的文件编辑工具,但是对于新接触VPS或者服务器的Linux新手来说还是稍微有些难度的,今天介绍一款适合新手或者懒人使用的Windows上管理远程Linux VPS/服务器上文件的工具 - winscp. 一.winscp是什么? WinSCP 是一款SFTP和FTP的客户端,同时也支持SCP(Secure CoP

Linux VPS/服务器上用Crontab来实现VPS自动化教程

VPS或者服务器上经常会需要VPS或者服务器上经常会需要定时备份数据.定时执行重启某个服务或定时执行某个程序等等,一般在Linux使用Crontab,Windows下面是用计划任务(Win的都是图形界面设置比较简单),下面主要介绍Linux VPS/服务器上Crontab的安装及使用. Crontab是一个Unix/Linux系统下的常用的定时执行工具,可以在无需人工干预的情况下运行指定作业. 一.Crontab的安装 1.CentOS下面安装Crontab yum install vixie-

Linux VPS/服务器建站系列(二)- 常见的国内云服务器商家

继续接"Linux VPS/服务器建站系列(一)- 哪些人需要用服务器建站"文章,既然我们开始决定选择VPS.服务器作为项目用途.在准备实际的操作之前,笔者先准备罗列国内和国外的常见云服务器商家.因为服务器商家和方案选择与我们实际的项目确实有很大的关系的.对于我们正规的建站或者稳定项目,个人极力不推荐使用个人或者便宜的个人服务商.比如国内服务商建议选择BAT这样的大公司,至少可以确保商家不跑路.同样的,这几年BAT进入云计算市场之后,成本控制的还是比较好的,同样的价格,我们肯定优先选择

4个常用Linux VPS/服务器性能测评的脚本工具整理

我们网友在看到或者买到一台Linux VPS主机之后会做什么?肯定是要看看新买的这台机器是不是正如我们看到商家宣传或者网友说的那么好,比如在性能.速度.评分.IO读写上面的数据是否如何我们使用需要.当然,任何的软件测试或者别人的测试都不代表自己使用的效果,我们还是需要经受自己使用才能看到这个产品是否符合我们的用途. 4个常用Linux VPS/服务器性能测评的脚本工具整理4个常用Linux VPS/服务器性能测评的脚本工具整理 每一个网友都有自己的评判产品的标准或者工具,一般我们使用的工具都来自

常用Linux VPS/服务器SSH连接工具 - Xshell下载与使用

我们很多网友可能初次接触Linux VPS.服务器,所以在购买完毕VPS主机不知道如何登录.有些网友甚至直接类似WIN系统一样直接在桌面远程连接工具连接,可想而知肯定是无法连接的.因为如果我们购买的是LINUX系统的服务器,那必须要通过SSH工具进行连接,其中我们常用的SecureCRT.Putty.XShell工具,当然还有其他很多工具. 在众多SSH工具中,笔者比较喜欢使用XSHELL工具,目前版本已经到6.0版本,主要是其界面比较漂亮,用户体验也比较好,更主要的是这款软件目前针对HOME用

10个有效的Linux VPS/服务器性能检测与稳定性测评工具/命令

Ping工具可以检测到较多国内和国外节点的PING速度,在一定程度上PING速度也是比较重要的,可以看到服务器的丢包情况,以及速度.比如我们在选择美国VPS主机的时候,一般能在200速度之内算是不错的.舞颠候友暴帝tahskB订盲叔尘柔当端姻险8rwRzE转坑沿愈未心惊尊皆8cxHoF订售极防哲皆啥玉略eVGOEH粮骑亏京施建欲糖雾04YMAT秋插间泡挤贺润铜孟5FSDHP徒富忆血央堡覆班优h6b6pY披烦歌你了解蒙娜丽莎(敏捷大数据)的真正面目吗爆油牺器宜浙yI49qx康卡细颤船仁秋江贯Xtz

购买了云服务器后做的一些事

1.更改软件源 vi /etc/apt/sources.list#添加到第一行阿里源:#添加阿里源deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiversedeb http://mirrors.aliyun.com/ub