料课上线一年之后,很多学员都希望能增加建站实操类课程。讲道理,这个要求还是很合理的。因为料课主要是教大家市场调查分析和主动开发客户的,而主动开发的前提是你要有个基本的网站进行展示。毕竟,外贸的商业合作跨越了国界,不同国家互不相识的买方和卖方,仅仅凭着网站和邮件,就建立了最初步的联系纽带和信任。网站不但是建立信任的桥梁,也是展示专业形象的窗口,其重要程度不言而喻。
于是在课程里,我增加了建站类的福利课程,可以说非常详细,完全手把手讲解实操!而且和其他用虚拟主机来建站甚至先本地建站的课程不同,料课里的建站福利系列课程,是直接用 VPS 这个起点来教学,直接线上操作,这就更考验讲解水平和实操能力了。
让我欣慰的是,不少学员一步步跟着操作,跟着课程学习了基础的 VPS 知识,自己搭了 FanQiang 的梯子,配置了 nginx,添加了 vhost,安装好 WordPress,设置好 Avada 主题,开启了 https,已经逐步入门了!不少学员表示,每学会一步都特别有成就感!
但随之而来有一些问题,比如莫名其妙地被 Linode 通知流量超量了,账号被封两天,以及各类奇怪的情况~~
因此,特别告知所有学员,一定要注意一下账号安全性的问题!!特此写此帖教大家如何防范和解决账号安全问题!
我在课程中以及帖子中演示时密码设置得比较简单,但我跟大家强调过要把密码设置复杂一些。结果一直有学员反映自己 Linode VPS 的流量超支,1T 的流量几天被跑光,有些甚至跑了 4TB!!
我看了这几个学员的问题,几乎都是一个问题:密码太简单了!有些甚至用的我视频演示时的简单密码。。
总是会有些对攻击和黑客技术感兴趣的人,他们会用扫描工具不停在网络上扫描端口,以及用简单的密码库不停尝试撞库,或者扫描网站备份压缩包(wp-config.php 中有数据库名称和密码)等方式来尝试破解!一旦你的 root password 被盗取,那么盗用的人就可以用 ssh 工具来连接你的 VPS 并控制它偷偷干一些你不知道的事。比如挂木马,当成图床和小视频的网盘,挂各种垃圾流量广告,甚至跑各种恶意脚本等。
下面说如何进行基础的密码防范!最多花半小时时间,你就可以做完。
一、修改 Linode 的登录密码
这个通过 Linode 的平台后台账号设置-修改密码即可。密码尽量设置复杂一些,记录密码可以用印象笔记或者有道云笔记。不多说。
二、修改 VPS 的 Root Password
相当于修改 VPS 的管理员密码。用 ssh 工具(xshell) 连接 VPS 之后,输入 passwd
命令。
会出现:Changing password for user root. New password:
的提示字样。此时输入密码,注意不要输错。此时输入的密码字符是看不见的,如果你怕这个过程中输入错误,你可以先把密码写在记事本上,然后复制,然后在输入时用鼠标右键粘贴。
会提示 Retype new password:,此时再输入一遍或者再粘贴一遍,回车即可。
出现上面截图中红色框内提示就说明密码已经成功修改!下次连接 VPS 时,会提示你输入新密码。
三、修改 SSH 服务的端口
我们所用的 Xshell 就是一种典型的 ssh 工具,通过 ssh 的服务来连接到我们的 VPS,ssh 默认的端口为 22。
因此,如果我们改过 ssh 默认的 22 端口,把它改成其它端口,那么很大程度上可以避免你的 VPS 被恶意的人控制。
连接 VPS 后,执行如下命令:
netstat -apn
可以看到如下端口占用情况。sshd 当前在 22 端口,PID 线程号为 1043。接下来,我们要把它改成另外一个没有在用的端口,如 12306 端口。
1.增加端口号
我们用 Xftp 访问 /etc/ssh/ (你也可以直接在路径窗口直接粘贴此路径来访问),到此目录下后,有这些文件。
把 sshd_config 下载到本地用文本编辑器修改。或者如果你熟悉 linux 的 vi 命令直接用 vi /etc/ssh/sshd_config 修改也行(这里步骤不再详述 )。
把文件中的 #port 22 前面的 # 号去掉,然后增加一行,port 12306(请大家别都用 12306,用任意的 4 位端口号或不超过 65536 的 5 位端口号也行。一样的端口号容易被蔷抓特征)。
用图来说吧:
ctrl+s 保存,然后上传覆盖。
2.检查是否开启了防火墙
如果你的 VPS 用的是 CentOS 7 及以上版本,用命令检查一下:
systemctl status firewalld.service
如果你是 CentOS 6.x,执行下面的命令:
service iptables status
如果是有防火墙开启中,状态结果会显示:enable 和 active(running) 类似的提示
下面是 CentOS 7 下的提示状态:
3.如果防火墙是启用的,请先设置防火墙,在防火墙端口白名单里添加你新加入的端口号
注意:如果你是 CentOS 7 及以上版本,依次执行下面 3 行命令:
firewall-cmd --permanent --zone=public --add-port=12306/tcp firewall-cmd --add-port 12306/tcp firewall-cmd --reload
如果你是 CentOS 6.x,执行下面的命令:
iptables -I INPUT -p tcp --dport 12306 --syn -j ACCEPT service iptables save semanage port -a -t ssh_port_t -p tcp 12306
4.重启 SSHD 服务
注意:如果你是 CentOS 7 及以上版本,依次此重启命令:
systemctl restart sshd.service
如果你是 CentOS 6.x,执行下面的命令:
service sshd restart
重启之后,我们把 xshell 里连接会话属性的 ssh 端口换成 12306,然后连接。
会提示:
Stopping sshd: ........................ [ OK ]
Starting sshd: ......................... [ OK ]
此时,在 Xshell 主程序菜单上点击【文件】-【打开】,在弹出的会话中选择你的 VPS 连接会话,然后点击【属性】选项卡。在【连接】选项的设置界面,把端口号改成 12306。
点击确定,然后在会话界面你会看到主机的端口号已经从 22 改成 12306,并且协议为 SSH。
此时双击连接,如果可以正常连接,那么说明端口号修改成功。此时连接上以后把本地 sshd_config 文件里 port 22 那一行删除,保存。然后覆盖,重启 ssh 服务。搞完!
说明:之所以先添加一个端口(12306)两个端口共存 ssh,而不是删除 22 端口改成 12306 端口,是为了防止万一。测试成功后再关闭一个端口,是怕在修改 conf 的过程中,万一出现掉线、断网、误操作等未知情况时候,还能通过另外一个端口连接上去。在我们成功完成新端口的设置和连接之后,我们就可以把原来的 22 端口给删除了。
查询查看 SELinux 开放给 ssh 使用的端口
semanage port -l|grep ssh
如果没看到你新设置的端口号,只看到默认的 22 端口。则你需要执行命令:
semanage port -a -t ssh_port_t -p tcp 12306
完成后,再次查看:semanage port -l|grep ssh。如果显示了新的 ssh 端口号,OK,这一步完成。
接着,查看防火墙是否开启了 12306 端口:
firewall-cmd --permanent --query-port=10086/tcp
如果结果为 NO。说明没有开启 12306 端口。
如果你查询 80 和 443 端口也是 No,那么这些端口也没开启,你是访问不了网站的。所以只能依次执行命令,开启端口:
firewall-cmd --permanent --add-port=12306/tcp
80 和 443 同理。
另外,如果你想修改数据库管理密码(可能很多人是设置跟 root password 一样的简单的密码,那么就有必要修改一下了!),则参考如下步骤:
四、修改 VPS 的 MySQL Root Password
这个是修改数据库管理员的密码。在安装 LNMP 一键安装包的时候,安装包自带了修改 MySQL 数据库管理密码的脚本。
用 ssh 工具(xshell) 连接 VPS 之后,输入以下命令:
cd /root/lnmp1.3/tools/ && ./reset_mysql_root_password.sh
Tips:以上是两条命令的结合,为了节省一条条输入执行,所以用 && 符号来合并命令,相当于先后执行了:
- cd /root/lnmp1.3/tools/ 进入 LNMP 安装包的 tools 目录
- ./reset_mysql_root_password.sh 执行重置 mysql root password 的脚本
本站所有文章除注明“转载”的文章之外,均为原创。未经本站允许,请勿随意转载或用作任何商业用途,否则依法追究侵权者法律责任的权利。
料神,我发现一个问题,我在开启了防火墙之后,我自己的网站上不去了,WORDPRESS 的后台也不去了,全部显示 500 Internal Privoxy Error,我确认已经设置了新的端口,而且新端口也按步骤操作加到防火墙里了。最后无奈之下,我尝试关闭了防火墙,网站又可以正常访问了,这问题要怎么解决呢?
@Liaosam 啊不好意思料神,我没说清楚,我的是 linode 5 美刀方案,wp 最新 5.2 版本,php7.2,用的 xshell 6 和 xftp6。麻烦给我说说怎么操作好么,我现在就是不能开 linode 防火墙,一开就访问不了网站,怎样添加规则,你之前有写过相关的教程帖子吗,谢谢啦!
@Liaosam 操作系统 centos7
先执行 semanage port -a -t ssh_port_t -p tcp 12306,再执行 systemctl start firewalld.service,systemctl start firewalld.service,然后 firewall-cmd --permanent --add-port=12309/tcp,再然后 firewall-cmd --permanent --add-port=443/tcp,再然后 firewall-cmd --permanent --add-port=80/tcp,再然后 firewall-cmd --reload。
xshell 里面如果执行发现有问题,断开了执行不了。就登录 linode 后台,有个 Launch Console(控制台),用 Weblish 登录,输入 root,密码是 ssh 密码。然后执行命令即可。
执行成功后,查看 12306 端口是否被开启:firewall-cmd --permanent --query-port=12306/tcp,返回结果 yes。即可。
重启 sshd 服务:systemctl restart sshd.service。搞定!
@Liaosam 谢谢料神,太感谢了!我晚点试一下再回来给你反馈!
@Liaosam 料神,谢谢你的指导!按照你的方法,已经成功的在防火墙开启的状态下使得网站可以访问,感谢!
不过,你的命令在 xshell 里执行有些问题,我试了很多次发现出错了,去百度了一下发现-permanent 和-add 的那个“-”必须要改成 2 条横杠“--”才不会出错,改了之后,一切都顺利了,哈哈,好开心!!!
@Liaosam 料神,我发现一个奇怪的问题,我直接输入我的 IP 45.33.38.23,不能访问我的网站,而是出现那个页面“恭喜您,LNMP 一键安装包安装成功!”,这个页面从最开始我装 LNMP 的时候就一直存在,每次输入自己的 IP 总是会出现这个页面,这是为何?能麻烦您帮我看一下指点一下吗?成分感谢!
至于为什么会造成这种原因,因为 /usr/local/nginx/conf 下的 nginx.conf 文件里默认的初始网站目录是 /home/wwwroot/default; 这个你没基础的话,解释也不太理解。
@Liaosam 谢谢料神!我把/home/wwwroot/default 文件夹下的 index.html 改个名字,再输入网站的 IP,就不显示那一 LNMP 的相关内容了,我不敢直接改掉 default 文件夹的名字,因为我看这个文件夹里有 phpmyadmin 的文件,我怕改了之后数据库不正常了
Sam 哥,
修改 22 端口那个地方不成功,修改完毕后上传覆盖,
输入# service sshd restart 提示 Redirecting to /bin/systemctl restart sshd.service
输入# systemctl restart sshd.service 没反应,但也不成功!
https://www.liaosam.com/linode-ssh-cannot-connect.html
@Liaosam 谢谢 Sam 哥,
祝你减肥成功,哈哈!
该评论为私密评论
xshell 里的连接失败了,是不是就改不了 SSH PORT 了?
怎么办呢?
@Fur 该评论为私密评论
我也被盗用了,被人用来 DDOS,超了我 1000 多 G 流量,我付了 18 刀,然后注销了账号
Hello Sam, 想问下 5 美金的,看视频会不会很快就用完流量呢
最近很多人提到咖啡路由器,料大大怎么看?
你外出要用的话,总不可能笔记本包里装个路由器吧?我觉得没有 SS 方便,电脑手机都可以随时随地用。
树大招风,早晚要挂。
该评论为私密评论
@Liaosam 在第四行这里改,是吧? 谢谢!
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3346/sshd
@涛声依旧在 OK, 已修改完成。谢谢 Sam!
谢谢老师花时间帮忙搞定小飞机,为这么忙还这么负责的老师点赞
小飞机成功重启,情不自禁就打赏~
我真心佩服 sam 一个外贸人,可以懂那么多接近于专业的网络知识。自愧不如。努力向你学习。 我也是料课学员。
502 Server dropped connection 老师, 之前一直很顺利, 这两天突然上不了了, 一打开 Google 就出现 502 Server dropped connection。请问是怎回事?如何解决呢?
@RS 哇, 回复正常了, 感谢老师!太棒了!
@RS 已搞定,在 linode 里点击 reboot 后就 OK 了,哈哈
@RS 已搞定,在 linode 里点击 reboot 后就 OK 了
端口号可用的有那些,还是说可以自己编?
料神是全心全意为学员服务,必须点赞!