Linux安全优化策略

1.设定实验环境
打开两台虚拟机,一台做客户端(client),
另一台做服务器(server)
###设置客户端

nm-connection-editor	##设置ip:ip1
ip addr show eth0
hostnamectl set-hostname westosclient.example.com	##设置为客户端
rm -fr /root/.ssh/

修改背景颜色:Edit–Profile Preferences–Colors–取消Use colors from system theme–close
在这里插入图片描述
###设置服务端

nm-connection-editor	##设置ip:ip2
ip addr show eth0
hostnamectl set-hostname westosserver.example.com	##设置为服务端
rm -fr /root/.ssh/	##当删除此文件,客户端解密文件失效

在这里插入图片描述
在客户端查看是否可以连接到服务端,并在服务端建立一个文本

ssh username@ip		##文本形式的链接
ssh -X username@ip		##被连接的主机如果有图形界面,则可以在链接成功后开启部分图形

注意:第一次连接陌生主机是要建立认证文件的,所以会询问是否建立,需要输入yes;
再次链接时,因为已经生成XXX/.ssh/know_hosts文件,所以不需要再次询问
在这里插入图片描述

2.生成钥匙
###没有拷贝密钥给客户端——————客户端需要密钥才能进入服务端
在这里插入图片描述
###拷贝密钥给客户端——————客户端不需要密码进入
在服务端

cd	##切换路径,进入服务端
systemctl stop network		##停止network服务
ifconfig eth0			##查询所有网卡的状态及信息(ifconfig用来查看、配置、启用或禁用网络接口)
systemctl stop NetworkManager.service	##停止网络管理服务
systemctl stop sshd.service		##停止sshd服务
killall -9 sshd			##关闭sshd所有进程

systemctl start network.service		##启动服务
systemctl start NetworkManager		##启动网络管理服务
systemctl start sshd.service		##启动sshd服务
ssh-keygen		##生成钥匙和锁,
ls /root/.ssh/		##查看密钥文件,id_rsa(私钥)、id_rsa.pub(公钥)
ssh-copy-id -i /root/.ssh/id_rsa.pub root@ip2	##为此ip2服务端下的root用户上锁
《《ssh-copy-id -i 加密文件 用户@主机ip》》		
ls /root/.ssh/		##查看密钥文件,authorized_keys、id_rsa、id_rsa.pub,如果远程登录过一次客户端,会看到还增加了known_hosts(连接过主机的信息)
scp /root/.ssh/id_rsa root@ip1:/root/.ssh/	##把密钥拷贝到ip1(客户端)的/root/.ssh/,,,给ip1的root用户分发可直接连接ip2的钥匙(id_rsa)

在这里插入图片描述![在这里插入图片描述](https://img-blog.csdnimg.cn/20191014195224495.png在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

到客户端查看,可以看到ip1客户端不需要密码就可以直接连接至ip2服务端的root用户

在客户端查看是否能连接到服务端

ls /root/.ssh/		##查看密钥文件
ssh -X root@ip2		##直接进入服务端
logout			##每次验证完都要退出服务端

id_rsa.pub是公钥,如果需要登录到远程主机,需要到远程主机/root/.ssh/目录下新建authorized_keys文件,并将id_rsa.pub里面的内容复制进去。
authorized_keys相当于密码,而id_rsa.pub相当于是装密码的盒子,如果把密码删掉,则客户端再次登录时需要输入密码才能登录。
在这里插入图片描述
3.修改文件,是否需要密码验证
(如果PubkeyAuthentication【公钥身份认证】为yes,则78PasswordAuthentication【密码验证】不论yes或者no都可以进入;
如果PubkeyAuthentication【公钥身份认证】为为no则PasswordAuthentication【密码验证】yes——需要密码才能进入;no——不需要密码进入)

sshd的安全配置:


sshd的安全配置:
在客户端先把服务端的密钥删除:
cd /root/.ssh/	##进入到密钥文件下
ls		##查看文件内容,有id_rsa known_hosts
rm -fr id_rsa	##删除服务端的私钥
ls		##查看是否删除,剩下known_hosts
vim /etc/ssh/sshd_config	##编辑文件
把PasswordAuthentication的yes改为no	##是否需要密码验证
systemctl restart sshd.service		##每次设置完都要重置一下服务
————》到客户端验证实验,现象:进入服务端被拒
把no改为yes,则客户端需要输入密码才能进入服务端

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
###修改私钥名称

在服务端:
cd /root/.ssh/		##进入密钥目录
rm -fr /root/.ssh/	##删除密钥目录
cd			##进入服务端
ls /root/.ssh/		##查看是否删除密钥目录
ssh-keygen		##生成钥匙和锁
ls /root/.ssh/		##查看是否生成私钥和公钥
ssh-keygen -f /root/.ssh/id_rsa -P ""	##更改私钥为空
ls /root/.ssh/
ssh-copy-id -i /root/.ssh/id_rsa.pub root@服务端ip	##给服务端上锁,在客户端验证结果为需要密码才能进入服务端
ls /root/.ssh/		##查看密钥文件,authorized_keys,id_rsa,id_rsa.pub,known_hosts
scp /root/.ssh/id_rsa root@客户端ip:/root/.ssh/		##把密码给客户端,在客户端验证结果为不需要密码都可以进入服务端 

在客户端删除私钥文件,则需要密码才可进入服务端
cd /root/.ssh/		##进入密钥文件
ls			##查看密钥文件内容
rm -fr id_rsa		##删除服务端给的私钥
验证需要密码才能进入服务端

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
###查看系统对外开放接口

在做这个实验之前,把密码验证改为yes
netstat命令显示:命令连接、路由器、接口统计信息、掩饰连接、多播(多路传送)成员
【-t】显示tcp协议(快、微信、短信)的连接情况
【-u】显示udp协议(电话)的连接情况
【-l】显示监听本地端口的tcp程序
【-n】显示ip地址
【-p】显示进程名称和pid
【-a】显示所有的socket,包括正在监听的
【grep】查找监听本地某端口的进程

netstat -antulp | grep sshd		##系统一般默认为22接口
vim /etc/ssh/sshd_config		##修改17行Port接口为23
systemctl restart sshd.service		##重启服务
setenforce 0				##关闭端口
netstat -antulp | grep sshd		##出现23端口
systemctl stop firewalld		##关闭火墙

在这里插入图片描述
在这里插入图片描述
###开放端口变少:绑定ip,只有指定ip可以进入

vim /etc/ssh/sshd_config
修改ListenAddress 为主机正在激活使用的ip
systemctl restart sshd.service
ssh root@ip -p 23		##从23接口连接ip(一般默认为22接口,但上个实验修改了接口,所以必须加-p 23)

在这里插入图片描述
在这里插入图片描述
###限制超级用户

vim /etc/ssh/sshd_config
修改48PermitRootLogin(是否让超级用户登录) yes:超级用户可以登录  no:超级用户可以登录
systemctl restart sshd.service
ssh root@ip -p 23

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
###密钥认证
在本次实验之前还原限制超级用户为yes,把port接口注销

vim /etc/ssh/sshd_config
修改PubkeyAuthentication
systemctl restart sshd.service
scp /root/.ssh/id_rsa root@客户端ip:/root/.ssh/
在客户端验证ssh root@ip 

密钥认证打开yes————直接进入ip
密钥认证关闭no————需要输入密码才可进入ip
在这里插入图片描述
在这里插入图片描述
###设置黑名单、白名单
密码验证为yes
黑名单DenyUsers lee ##只有lee用户不能登录
白名单AllowUsers lee ##只有lee用户可以登录,其他均不能登录
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值