腾讯云TDP-复盘轻量入侵过程实现自我入侵初体验

必备前提

  • 轻量开启docker的远程模式且无认证 docker远程模式类似mysl开启了远程访问3306,但是默认开启的话没有认证信息和elasticsearch一个鸟样子,很容易坑不懂的新手。
  • 怎么开启远程模式 参考上篇文章:https://cloud.tencent.com/developer/article/2007901
  • 入侵步骤模拟 准备本地docker环境主机和远程docker环境主机 本地docker环境主机:任意一个有docker环境的主机,这里使用本地虚拟模拟,下统称本机。 远程docker环境主机:开启允许匿名远程访问的docker主机,这里是我的轻量服务器,下统称轻量ip使用qingliang.com替代

复盘步骤

  • 验证远程访问 为了安全起见,我已经在机器B防火墙上加上了ip访问白名单, 在本地执行如下命令,将会连接到轻量的docker主机上。 docker -H tcp://qingliang.com:2375 ps -a
查看远程轻量服务器运行的镜像
  • 本地连接远程docker并启动centos

执行如下命令启动一个centos,并将轻量服务器的/root挂到容器的/tmp/root下

代码语言:javascript
复制
docker -H tcp://qiangliang.com:2375 run -it -v /root:/tmp/root  centos /bin/bash
代码语言:javascript
复制
//执行远程挂载命令,-
-it是指交互式终端方式 
-v是挂载目录,注意这里的/root是指开启docker远程访问的机上的目录,在这里是轻量主机,并不是本机的/root目录。
centos 是运行一个linux镜像,如果不存在则去拉取一个新的并运行
/bin/bash 镜像启动后启动一个bash
挂载centos镜像

因为轻量服务器本身支持root远程连接,所以不用单独修改sshd_config,如果其他环境可以尝试挂载(-v /etc/ssh:/tmp/etc/ssh)目录修改PermitRootLogin yes既可开启root远程连接

开启允许root登录
  • 配置免密登录

需要配置ssh免密访问,需要注意一下几点才可以成功

  1. 获取本机的ssh公钥,所在目录为/root/.ssh/id_rsa.pub (名字不一定是这个),如果不存在,则可以通过ssh-keygen命令生成
  2. 将本机公钥放在轻量的/root/.ssh/authorized_keys 里面,在本实验中,通过docker挂载的目录为/tmp/root/.ssh/authorized_keys. 权限最少为400
在docker centos镜像中配置本机的密钥

在本机上通过ssh 轻量的公网ip(如果你的ssh端口没有改过的话) 即可实现免密登录。

在本机上ssh轻量服务器

本次试验过程中踩了一个比较大的坑,ssh公钥配置成功后一直无法免密登录,最后发现是因为在authorized_keys中密钥在粘贴过程中换行了,触发这个换行的主要原因是因为在vim中开启了行号(set number),在关闭行号(set nonumber)的情况下复制出来的密钥就不会换行了。

最后强烈建议大家在开启docker远程访问后一定要开启认证或者要在防火墙上做好端口访问限制。

腾云先锋(TDP,Tencent Cloud Developer Pioneer)是腾讯云 GTS 官方组建并运营的技术开发者群体。这里有最专业的开发者&客户,能与产品人员亲密接触,专有的问题&需求反馈渠道,有一群志同道合的兄弟姐妹。来加入属于我们开发者的社群吧