远程访问安全

SSH安全与配置

Secure Shell(SSH)的目的在于在通过网络远程访问另一个主机时提供最大的保护。它通过提供更好的身份验证工具和Secure Copy(SCP)、Secure File Transfer Protocol(SFTP)、X会话转发和端口转发等功能来加密网络交换,从而增加其他非安全协议的安全性。

SSH的一般用途

通常使用SSH来允许用户登录到一个远程主机并执行命令。SSH还支持隧道和X11链接。SSH也可以使用SFTP或SCP传输文件。

1.远程主机shell访问(取代telnet和rlogin等使用明文的不安全协议);

2.在远程主机(代替rsh)执行单一命令;

3.通过SCP命令将文件在本地主机与远程服务器之间进行复制;

4.结合SFTP,作为FTP文件传输的一个安全替代品;

5.结合rsync有效安全的备份、复制和镜像文件到一个本地或远程主机;

6.端口转发;

7.从一个远程主机转发X会话;

8.使用sshfs将一个远程SSH服务器上的目录安全地挂载到本地计算机文件系统中使用。

SSH安全性和配置最佳实践

1.将root账户仅限制为控制台访问;

2.配置TCP Wrappers,对远程主机进行访问控制;

3.在工作站或笔记本电脑上,关闭SSH服务并卸载SSH服务器包;

4.通过控制用户账号,限制其对SSH的访问;

5.仅使用SSH Protocol 2;

6.不支持闲置回话,并配置Idle Logout Timeout间隔;

7.禁用空密码,设置密码重试次数;

8.禁用基于主机的身份验证;

9.禁用用户的.rhosts文件;

10.限制SSH,将侦听绑定到制定的可用网络接口与端口;

11.始终保持SSH补丁版本更新。

配置SSH身份认证

1.登录验证对象:服务器中的本地用户账号;

2.登录验证方式:密码验证(核对客户的私钥、服务端公钥是否匹配);密钥对验证(核对客户的私钥、服务端公钥是否匹配);

3.构建密钥对验证的SSH体系

  第一步:创建密钥对(在客户端)

    私钥文件:id_rsa

    共要文件:id_rsa.pub

  第二步:上传公钥文件id_rsa.pub

  第三步:导入公钥信息

    公钥库文件:~/.ssh/authorized_keys

  第四步:使用密钥对验证方式

配置SFTP安全

1.建立SFTP账号目录;

2.SFTP的账户直接使用Linux操作系统账户;

3.编辑/etc/ssh/sshd_cinfig配置文件;

4.目录权限设置要遵循2点:ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,也就是说权限最大设置只能是775;

注:由于文件夹的权限问题,SFTP账号都不具有写权限;因此,在其宿主目录下创建一个具有写权限的文件夹,用于资源上传。

posted @ 2019-08-06 22:46  RiwellAckerman  阅读(...)  评论(... 编辑 收藏