我们在学会了VPS的安装和建站之后,肯定需要附带学习VPS的安全设置。因为VPS和主机不同,主机商可能会给我们备份,而且主机的安全性都有主机商承担。但是,如果现在我们在使用VPS,那VPS的安全性主机商是不承担的,既然我们选择使用VPS,就一定要做好安全维护。接下来就以Centos7为例进行讲解:
修改SSH端口 不管我们的网站是不是出名,很多黑客选手或者同行都是用软件直接扫描网站VPS/主机端口的,一般的大家都知道VPS端口为22,如果我们修改了端口至少先找不到端口,很多时候由于我们的端口是默认,即便主机安全也会留下大量的日志文件。这些文件就是被暴利破解的错误记录。
修改SSH端口的方法:登陆SSH,然后通过vi /etc/ssh/sshd_config 命令打开文件,修改其中的port后面的数字。 最后一步就是重启ssh,需要注意的是不同版本的linux是不同的命令。
Centos7: systemctl restart sshd
这个时候千万不要急着关闭当前ssh连接
因为你的VPS可能启动了防火墙,而你新设置的端口可能会被防火墙拦截
检查防火墙是否开发,以Centos7为例:
1 2 3 4 5 $ firewall-cmd not running running
永久开启端口:
1 2 3 4 5 6 $ firewall-cmd --zone=public --list-ports $ firewall-cmd --permanent --zone=public --add-port= [端口号]/tcp $ systemctl restart firewalld
保险起见,可以再打开一个ssh连接测试,成功后就可以关闭ssh连接了。
禁用root账号 一般的我们使用账户登陆都直接用ROOT登陆。如果我们把ROOT账户禁用,添加一个自己知道的账户,那VPS的安全入口基本完成。至少除了猜测密码还需要猜测用户名。
第一步 新建用户1 2 3 4 $ useradd –d /usr/ sam -m sam $ passwd sam
然后需要输入两次密码。
第二步 设置禁止ROOT用户 就是我们需要设置禁止ROOT用户,这需要编译文件的。我们可以通过VI命令操作
1 $ vi /etc/ ssh/sshd_config
和之前的设置端口一样,编译sshd_config文件,把PermitRootLogin中的YES改成NO 保存退出,重启SSH:
Centos7: systemctl restart sshd
第三步,提权 用我们新添加的用户名登陆,然后su root进行提权,让新用户有ROOT用户有的最高权限。
保险起见,还是应该打开一个新的ssh连接测试,成功后再关闭原来的ssh连接。
SSH禁止密码登录 如果担心密码被暴力破解,可以添加SSH登录,并且禁止密码登录。这样每次登录不要输入密码,并且更安全,唯一不足的地方就是换个电脑就要重新折腾一次将本地公钥内容追加到远程主机的授权文件(authorized_keys)中。
本地生成密钥对
此时会在系统用户的.ssh目录下生成一对密钥文件:私钥文件id_rsa和公钥文件id_rsa_pub。
将本地公钥内容追加到远程主机的授权文件(authorized_keys)中
本地查看id_rsa_pub文件内容,复制得到的公钥字符串,在远程服务器上编辑authorized_keys文件
1 $ vi ~/.ssh/ authorized_keys
将刚刚得到的本地公钥字符串添加到该文件的末尾(如果是新建的文件就直接添加),编辑保存完成后,修改该文件的权限
1 $chmod 600 .ssh/authorized_keys
编辑远程服务器上的sshd_config文件:
1 $vi /etc/ ssh/sshd_config
找到如下选项并修改(通常情况下,前两项默认为no,地三项如果与此处不符,以此处为准):
1 2 3 4 5 RSAAuthentication yes PubkeyAuthentication yes AuthorsizedKeysFile.ssh/authorized_keys
同时禁止密码登录
1 2 PasswordAuthentication no
编辑保存完成后,重启ssh服务使得新配置生效:
1 $ systemctl restart sshd.service
配置epel源 具体请参见:http://fedoraproject.org/wiki/EPEL 通过wget命令下载RPM文件,然后安装。
1 2 3 RHEL/CentOS 7 $ wget http:// dl.fedoraproject.org/pub/ epel/epel-release-latest-7 .noarch.rpm $ rpm -ivh epel-release-latest-7 .noarch.rpm
如何检查epel是否安装成功?使用一下命令:
原文链接: http://yunzaifei.github.io/page/3/index.html
版权声明: 转载请注明出处.