目录
一、SSH的介绍
1:SSH远程管理
配置OpenSSH服务端
使用SSH客户端程序
密钥对验证的SSH体系
2:TCP Wrappers访问控制
TCP Wrappers概述
TCP Wrappers访问策略
3:OpenSSH服务器
SSH(Secure Shell)协议
是一种安全通道协议
·对通信数据进行了加密处理,用于远程管理
4:OpenSSH
服务名称:sshd
服务端主程序:/usr/sbin/sshd
服务端配置文件:/etc/ssh/sshd_config
5:SSH远程管理
SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。
SSH协议对通信双方的数据传输进行了加密处理,共中包括用户登录时输入的用户口令。因此SSH协议具有很好的安全性。
SSH客户端<-----------------------网络----------------------->SSH服务器
数据传输是加密的,可以防止信.息泄漏
数据传输是压缩的,可以提高传输速度
SSH客户端:PuLLy、Xshell、CRT
SSH服务端:OpenSSH
OpenSSH是实现SSH协议的开源软件项目,适用于各种Unix、Linux操作系统
CentOS 7 系统默认已安装openssh相关软件包,并已将 sshd 服务添加为开机自启动。执行“systemctl start sshd"命令即可启动sshd服务
sshd服务默认使用的是TCP的22端口
sshd服务的默认配置文件是/etc/ssh/sshd_config
ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件。
二、配置OpenSSH 服务端
sshd config配置文件的常用选项
vim /etc/ssh/sshd_config
只允许某些用户登录(白名单)
AllowUsers 用户名 #只允许某个用户登录
AllowUsers 用户名@ip地址 #只允许某个用户从哪个IP地址的主机登录
禁止某个用户登录(黑名单)
DenyUsers 用户名 #禁止某个用户登录
DenyUsers 用户名@IP地址 #禁止某个用户从哪个IP地址的主机登录
三、sshd服务支持两种验证方式
1、密码验证
对服务器中本地系统用户的登录名称、密码进行验证。简便,但可能会被暴力破解
2、密钥验证
要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系政统将使用公钥、私钥进行加密/解密关联验证。能增强安全性,且可以免交互登录。
3、公钥和私钥的关系:
公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密。 ·不能根据一个密钥来推算出另一个密钥。
公钥对外公开,私钥只有私钥的持有人才知道
4、验证
当密钥验证、密制对验证都启用时,服务器将优先使用密钥对验证。可根据实际情况设置验证方式
四、使用SSH客户端程序
1、ssh远程登录
ssh [选项] zhangsan@192.168.32.6
当用户第一次登录SSH服务器时,必须接受服务器发来的ECDSA密钥(根据提示输入"yes")后才能继续验证。接收的密钥信息将保存到~ /.ssh/known_hosts文件中密码验证成功以后,即可登录目标服务湍的命令行环境中了
-p:指定非默认的端口号,缺省时默认使22端口
ssh -p 22 yun1@192.168.32.5
2、scp 远程复制
2.1、下行复制
scp root@192.163.32.5:/etc/passwd /root/passwd10.txt #将远程主机中的/etc/passwd 文件复制到本机
2.2、上行复制
scp -r/etc/ssh/ root@192.168.32.5:/opt #将本机的/etc/ssh目录复制到远程主机
3、sftp 安全FTP
由于使用了加密/解密技术,所以传输效率比普通的FTP要低,但安全性更高,操作语法sftp和ftp几乎一样
sftp zhangsan@192.168.80.10
Connecting to 192.168.80.10...
tsengyia@172.16.16.22's password: #输入密码
sftp> ls
sftp> get 下载文件到ftp目录
sftp> put 上传文件到ftp目录
sftp> quit 退出
五、linux新机器安全加固的方法
1、锁定系统中多余的自建帐号
2、设置系统口令策略
3、禁用root之外的超级用户
4、限制能够su为root的用户
5、 多次登录失败锁定
6、停止或禁用与承载业务无关的服务
7、设置合理的初始文件权限
8、使用SSH进行管理
9、设置访问控制策略限制能够管理本机的IP地址
10、禁止root用户远程登陆
11、限定信任主机
12、屏蔽登录banner信息
13、防止误使用Ctrl+Alt+Del重启系统
14、设置帐户锁定登录失败锁定次数、锁定时间
15、修改帐户TMOUT值,设置自动注销时间
16、Grub/Lilo密码
17、限制FTP登录
18、设置Bash保留历史命令的条数
19、 配置系统日志策略配置文件
20、为审计产生的数据分配合理的存储空间和存储时间
六、配置密钥对验证
1、在客户端创建密钥对
通过ssh-keygen工具为当前用户创建密钥对文件。可用的加密算法为RSA、ECDSA或DSA等(ssh-keygen命令的-t选项用于指定算法类型)
useradd admin
echo “123123” | passwd --stdin admin
su - admin
七、总结
SSH远程管理
ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件。
scp
公钥 密钥