Gitlab 环境搭建和历史漏洞
前言:最近需要写关于Gitlab的工具,这边的话记录下Gitlab环境搭建的笔记
参考文章:https://docs.gitlab.com/ee/install/docker.html#install-gitlab-using-docker-compose
参考文章:https://hub.docker.com/r/gitlab/gitlab-ce
参考文章:https://about.gitlab.com/install/#centos-7
关于Gitlab
GitLab产品将分为三个发行版:CE(社区版),EE(企业版)和JH(极狐公司自主研发并独立运营 GitLab CN 开源代码库)
架构图
Gitlab Docker环境搭建
参考文章:https://hub.docker.com/r/gitlab/gitlab-ce
参考文章:https://docs.gitlab.com/ee/install/docker.html#install-gitlab-using-docker-compose
这边访问下面的docker仓库,在gitlab仓库中有如下几个gitlab产品进行使用
https://hub.docker.com/r/gitlab/gitlab-ce
- gitlab-ce
- gitlab-ce-qa
- gitlab-ee
- gitlab-ee-qa
知识点:例举ce产品,其中gitlab-ce是产品的源代码,而gitlab-ce-qa是用于对该产品进行测试的工具
这边的话主要搭建的是gitalb-ce镜像环境来进行学习使用,这边拉取一份gitlab-ce:13.10.1的gitlab镜像
docker pull gitlab/gitlab-ce:13.10.1-ce.0
在docker镜像搭建之前需要先配置好gitlab的home目录,后续相关的配置、日志和数据文件都是挂载到当前目录下面
这边的话我跟着文档手册一样,将GITLAB_HOME
设置为/srv/gitlab
,如下图所示
sudo mkdir -p /srv/gitlab export GITLAB_HOME=/srv/gitlab
执行下面的docker命令进行配置
docker run -itd \ -p 8001:8001 \ -p 8002:22 \ -v $GITLAB_HOME/config:/etc/gitlab \ -v $GITLAB_HOME/logs:/var/log/gitlab \ -v $GITLAB_HOME/data:/var/opt/gitlab \ --restart always \ --privileged=true \ --name gitlab \ gitlab/gitlab-ce:13.10.1-ce.0
当前启动的服务正常来说还是无法进行访问的,这边还需要在容器中修改下对应的/etc/gitlab/gitlab.rb
配置文件,这边进入docker容器里面来编辑/etc/gitlab/gitlab.rb
文件,检查下external_url
是否是修改为对应的http://ip:port
格式,我这边因为映射是8001端口,所以这边的external_url需要配置为http://121.xx.xx.204:8001
#gitlab访问地址,可以写域名。如果端口不写的话默认为80端口 external_url 'http://121.xx.xx.204:8001' #ssh主机ip gitlab_rails['gitlab_ssh_host'] = '121.xx.xx.204' #ssh连接端口 gitlab_rails['gitlab_shell_ssh_port'] = 8002 #时区 gitlab_rails['time_zone'] = 'Asia/Shanghai' #开启备份功能 gitlab_rails['manage_backup_path'] = true #备份文件的权限 gitlab_rails['backup_archive_permissions'] = 0644 #保存备份 60 天 gitlab_rails['backup_keep_time'] = 5184000
上面修改完之后,使用gitlab-ctls刷新配置重启,如下图所示
gitlab-ctl reconfigure
接着正常访问web地址,进行查看初始化的root用户密码,如下图所示
root登录成功如下图所示
代码项目创建正常,如下图所示
宿主机环境搭建
参考文章:https://about.gitlab.com/install/#centos-7
漏洞历史
普通用户提权root(CVE-2016-4340)
8.2.0 <= Gitlab CE versions <=8.2.4
8.3.0 <= Gitlab CE versions <= 8.3.8
8.4.0 <= Gitlab CE versions <=8.4.9
8.5.0 <= Gitlab CE versions <=8.5.11
8.6.0 <= Gitlab CE versions <= 8.6.7
Gitlab CE version 8.7.0
任意用户token泄露漏洞
8.10.3 <= Gitlab CE/EE version <= 8.10.5
任意文件读取漏洞(CVE-2016-9086)
GitLab CE/EE version 8.9
GitLab CE/EE version 8.10
GitLab CE/EE version 8.11
GitLab CE/EE version 8.12
GitLab CE/EE version 8.13
远程代码执行漏洞(CVE-2018-14364)
8.9.0 <= GitLab CE/EE <= 9.5.10
10.0.0 <= GitLab CE/EE <= 10.1.5
10.2.0 <= GitLab CE/EE <= 10.2.5
10.3.0 <= GitLab CE/EE <= 10.3.3
任意文件读取漏洞(CVE-2020-10977)
8.5 <= GitLab GitLab CE/EE <= 12.9
13.4 <= GitLab GitLab CE/EE <= 13.6.2
Graphql邮箱信息泄露漏洞(CVE-2020-26413)
13.4 <= GitLab CE/EE <= 13.6.2
远程命令执行漏洞(CVE-2021-22205)
11.9 <= Gitlab CE/EE < 13.8.8
13.9 <= Gitlab CE/EE < 13.9.6
13.10 <= Gitlab CE/EE < 13.10.3
SSRF未授权访问漏洞(CVE-2021-22214)
10.5 <= GitLab < 13.10.5
13.11 <= GitLab < 13.11.5
13.12 <= GitLab < 13.12.2
远程命令执行漏洞(CVE-2022-2185)
14.0 <= GitLab CE/EE 14.0版本 < 14.10.5
15.0 <= GitLab CE/EE 15.0版本 < 15.0.4
15.1 <= GitLab CE/EE 15.0版本 < 15.1.1
远程命令执行漏洞(CVE-2022-2884)
11.3.4 <= GitLab CE/EE < 15.1.5
15.2 <= GitLab CE/EE < 15.2.3
15.3 <= GitLab CE/EE < 15.3.1
远程命令执行漏洞(CVE-2022-2992)
11.10.0 <= GitLab CE/EE < 15.1.6
15.2.0 <= GitLab CE/EE < 15.2.4
15.3.0 <= GitLab CE/EE < 15.3.2
Devfile解析器任意文件写入及武器化(CVE-2024-0402)
16.0.0 <= GitLab CE/EE < 16.6.6
16.7.0 <= GitLab CE/EE < 16.7.4
16.8.0 <= GitLab CE/EE < 16.8.1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
2019-12-25 HEX2BIN
2019-12-25 OSS Key的安全问题
2019-12-25 通过异常脱壳寻找OEP
2019-12-25 VB程序脱壳寻找OEP
2019-12-25 ESP定律脱壳寻找OEP
2019-12-25 内存执行断点脱壳寻找OEP
2019-12-25 OD的SFX自跟踪寻找OEP