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

posted @   zpchcbd  阅读(556)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源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
点击右上角即可分享
微信分享提示