服务器安全之一访问安全

目前常用的远程连接协议有两种:telnet协议、ssh协议。一般远程登录取消telnet而采用ssh方式

一、两种协议比较如下

telnet协议:

  1. 数据明文传输
  2. 只验证用户名和密码
  3. 端口23,常用于局域网

ssh协议:

  1. 数据加密压缩传输
  2. 端口22,常用于公共网络

二、ssh远程登录方式

  1. 密码登录
  2. 非对称秘钥登录:双方各执公钥,客户端值私钥

三、非对称秘钥对介绍

  1. 这对秘钥由客户端采用RSA加密生成非对称秘钥:公钥、私钥
  2. 然后将公钥上传多台服务器(用户家目录)
  3. 之后私钥用户就可以使用秘钥登陆了

注:

  • 钥匙永不过期,删除用户家目录中的公钥才可以限制登录
  • 数据加密说明:数据通过公钥加密,传给对方(传输过程是乱码),对方通过私钥解密就可以看完整数据。(以前是通过可逆函数进行加密,即同一个函数正向加密反向解密,但加密方式被破解就完了;非对称密钥对解决了这一问题,公钥和私钥成对出现且不同,公钥加密后只有私钥才能解密信息。)

四、非对称秘钥对生成和使用(工具、云两种方法)

SecureCRT为例

工具--创建公钥--加密类型(RSA)--私钥同行短语(密码)--秘钥位长度(1024)--秘钥存储路径(C盘外、ssh秘钥格式)

将公钥上传服务器:

<code>cd ~ 进入相应用户的家目录
cd .ssh (没有则手动创建)
vi authorized_keys  (将生成的公钥复制进来,保存并退出)
cat authorized_keys  查看文件内容
ll authorized_keys  查看文件权限
chmod 600 ./authorized_keys    修改公钥文件权限(644也可以)/<code>

加入工具缓存(选项-全局选项-SSH2-路径)

鉴权-公钥-输入私钥同行短码

验证完成即可关闭密码登录


阿里云/腾讯云为例

SSH秘钥:创建秘钥--下载私钥--实例关机--秘钥绑定实例--开机(云上有秘钥会默认关闭密码登录)

注:会覆盖以前此实例上的公钥,即只能使用新私钥登录

五、配置服务端的sshd服务

查看sshd服务的状态:

<code>service sshd status/<code>
服务器安全之一访问安全

active运行中,dead关闭中

sshd对应的主配置文件是:

<code>vim /etc/ssh/sshd_config/<code>

Port 61222,设置sshd监听的端口,建议选5位以上的陌生数(注意:1防火墙添加端口),不删除旧端口,直接加新端口,则两端口均可使用,测试完毕再关闭22端口。

Protocol 2,设置ssh协议的版本,ssh1版本有漏洞,建议选2

PermitRootLogin no,是否允许root用ssh登录,建议设置为no(注意:建新用户)

PubkeyAuthentication yes,是否开启公钥验证(设为no会清空各家目录中的公钥)

PasswordAuthentication no,是否允许密码登录(仅对非root用户起作用)(有密码就会有暴力破解的可能性,关闭密码登录前,一定等用私钥正常登录,否则只能去机房改,没数据也可重装系统)

PermitEmptyPasswords no,是否允许密码为空的账号登录

AllowUsers 用户名,允许远程访问的用户,多用户以空格分隔(建议设置)

更改配置文件需要重启服务:

<code>service sshd restart/<code>


分享到:


相關文章: