挂载镜像,使用rpm安装
先安装依赖包
挂载镜像,使用rpm安装
已经登录到zhangsan的shell,并且可以切换至root账户
但是telnet方式的账户密码使用明文传输,极为不安全
Wireshark抓包
1、为客户机提供安全的Shell环境,用于远程管理
默认端口:TCP 22
①OpenSSH
服务名称:sshd
服务端主程序:/usr/sbin/sshd
服务端配置文件:/etc/ssh/sshd_config
②用户登录控制
vi /etc/ssh/sshd_config
……
PermitRootLogin no 禁止root用户
PermitEmptyPasswords no 空密码用户
LoginGraceTime 2m 登录时间
MaxAuthTries 6 重试次数
……
③登录验证对象
服务器中的本地用户账号
登录验证方式
密码验证:核对用户名、密码是否匹配
密钥对验证:核对客户的私钥、服务端公钥是否匹配
vi /etc/ssh/sshd_config
……
PasswordAuthentication yes 密码验证
PubkeyAuthentication yes 公钥验证方式
AuthorizedKeysFile .ssh/authorized_keys
④ssh命令
ssh命令 —— 远程安全登录
格式:ssh user@host
scp命令 —— 远程安全复制
格式1:scp user@host:file1 file2
格式2:scp file1 user@host:file2
sftp命令 —— 安全FTP上下载
格式:sftp user@host
实验环境:两台linux主机,处于同一网段
1、服务器端开启sshd服务
创建一个用户,例如zhangsan
2、客户机端使用
以下配置策略皆修改配置文件/etc/ssh/sshd_config即可
①修改sshd服务于运行端口
Ssh服务默认运行在22端口上,可以去去掉注释,修改默认值,修改为任意
②重启sshd服务
查看运行端口
③客户端尝试登录
此时未指定端口的连接被拒绝
指定端口
应禁止客户端通过ssh登录
因此应限制root用户登录
①服务器端修改权限,修改如下
②重启服务
③客户端尝试切换至root
此时,已无法通过root远程登录root账户,但是仍可以通过普通用户切换至root
实验环境:两台linux主机,处于同一网段,服务器ssh运行端口已修改为3333
实验过程:
1.由客户端的用户alice在本地创建密钥对
私钥文件:id_rsa 公钥文件:id_rsa.pub
创建用户alice
登录alice的shell,执行命令 ssh-keygen -t rsa
可以看到公私钥对已生成
2.在SSH服务端,创建bob用户,创建.ssh目录
useradd bob
passwd bob
su - bob
mkdir .ssh
chmod 700 .ssh
2.客户机上传公钥文件 id_rsa.pub
su – alice
scp ~/.ssh/id_rsa.pub lisi@SSH ServerIP:/home/lisi/.ssh/id_rsa_zhangsan.pub
3.在SSH服务端导入公钥信息
生成公钥库文件:/home/bob/.ssh/authorized_keys
修改文件权限域alice公钥文件与客户端Alice公钥文件权限相同
4.使用密钥对验证方式,登录服务器
1)禁用SSH服务端的密码认证,启用公钥认证
vim /etc/ssh/sshd_config
...
PasswordAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
保存、退出
service sshd restart
2)使用密钥对验证方式,登录服务器
在ssh客户端执行登录
su - alice
ssh bob@SSH ServerIP
这里指定端口,是因为之前修改了服务器ssh运行端口
访问控制策略的配置文件(对于通过xinted程序启动的服务,通过对/etc/hosts.allow/etc/hosts.deny的配置,设置允许和禁止访问的IP)
查看是否支持Tcp Wrap功能(通过以下命令,输出结果中有libwrap,则该服务可以使用tcp_wrappers,否则则不能使用)
ldd /usr/sbin/sshd | grep "libwrap"
ldd /usr/sbin/vsftpd | grep "libwrap"
或者
ldd `which vsftpd` | grep wrap
1、设置访问控制策略
策略格式:服务列表:客户机地址列表
服务列表 ——
多个服务以逗号分隔,ALL 表示所有服务
客户机地址列表
多个地址以逗号分隔,ALL表示所有地址
允许使用通配符 ? 和 *
网段地址,如 192.168.4. 或者 192.168.4.0/255.255.255.0
区域地址,如 .test.com
2、策略的应用顺序
先检查hosts.allow,找到匹配则允许访问
否则再检查hosts.deny,找到则拒绝访问
若两个文件中均无匹配策略,则默认允许访问
3、策略应用示例
仅允许从以下地址访问sshd服务
主机192.168.222.129
网段192.168.222.0/24
禁止其他所有地址访问受保护的服务
①修改配置文件
vi /etc/hosts.allow
sshd:61.63.65.67,192.168.2.*
vi /etc/hosts.deny
sshd:ALL
②服务器重启xinted和network
③客户端尝试登陆
1.hydra(九头蛇)工具
1)使用已知用户,进行密码爆破
hydra -l zhangsan -P /root/passwd.txt ssh://192.168.10.1
2)使用已知密码,进行用户爆破
hydra -L /root/user.txt -p 123.com ssh://192.168.10.1
3)使用用户字典、密码字典,对多个目标主机进行爆破
hydra -L /root/user.txt -P /root/passwd.txt -M /root/hosts.txt ssh
2.meduda(美杜莎)工具
1)使用已知用户,进行密码爆破
medusa -h 192.168.232.138 -u zhangsan -P /root/passwd.txt -M ssh
2)使用已知密码,进行用户爆破
medusa -h 192.168.232.138 -U /root/user.txt -p 123.com -M ssh
3)使用用户字典、密码字典,对多个目标主机进行爆破
medusa -H /root/hosts.txt -U /root/user.txt -P /root/passwd.txt -M ssh