This website requires JavaScript.

gitlab部署公网如何提高安全性?—gitlab+企业微信+TAPD搭建中型团队开发环境之一

分类:编程人生 发布于:2021-01-18 07:25:25 字数 3670 337次阅读 git开发工具&环境

如今已是云时代,趁几何时,我们开发代码都是在svn,并且部署在内网,一来是互联网流量并不是特别的便宜,二来么,为了安全考虑。但是如今已是云时代了,还继续把git部署在内网的话,确实是挺不方便,那么我们怎样保证拥有方便的同时,又保证安全性呢?

1、新员工注册必须是以“@固定邮箱”名结尾才能注册,比如结尾为@163.com的邮箱。

2、发送激活验证码到企业邮箱,不是企业邮箱不允许注册,不然随便来一个人,注册几个账号在自己私有的gitlab上,闹心。

3、登录强制开启两步验证。

4、保证员工使用的方便性。

  • 编辑 /etc/gitlab/gitlab.rb 文件添加smtp相关配置(没有开启ssl),以163邮箱为例。
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qiye.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "xxxx@xxxx.com"
gitlab_rails['gitlab_email_from'] = "xxxx@xxxx.com" # 和上面一样
gitlab_rails['smtp_password'] = "xxxxx"
gitlab_rails['smtp_domain'] = "qiye.163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_force_ssl'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'none'
  • 执行 gitlab-ctl reconfigure 命令 重新载入配置。

  • 验证,执行 gitlab-rails console进入控制台,输入Notify.test_email('你的目标邮箱@域名.com', '主题', '内容').deliver_now ,如果你的邮箱收到提示就可以了。

  • gitlab管理员设置公司邮箱才能注册和登录

将你的邮箱后缀填入即可

这个操作也比较简单,使用管理设置一下就可以了,如图:

设置两步验证

开启后,新用户登录时需要扫二维码验证后,才能使用。

苹果手机用户,为了安全考虑,务必在App store搜索“Authenticator”验证工具,扫描登录后出现的二维码,并将生成的6位数字填入验证框。此App请务删除,以后每次登录失效都需要验证里面的6位数字,方能登录。

android用户,目前还没有测试过,没有GMS的系统就是系统被国内厂商魔改的系统,这个工具是使用不了的,请自选选择另外的验证工具下载。同样的,下载后此工具也不能删除。每次登录失效都需要验证里面的6位数字,方能登录。

开启二次登录验证后,用户的密码将不能使用上传、克隆、下载、提交的任何操作,如果操作了将会出现以下错误:

access错误

所以在需要访问git之前,我们需要打开以下链接(xxx内容换成你自己的网址):
http://xxx.xxx/-/profile/personal_access...

生成自己的personal access token:

生成自己的personal access token

勾选read_repository和write_respository。最后点击生成,图中涂抹处即是我生成的personal access token,亲测,使用此token即可当做密码来使用。

设置SSH KEY用于访问git项目(ssh方式,免密码)
1、 生成自己的ssh,生成方式打开如下链接:

GitLab中配置SSH key

如果有多个key怎么弄?

Git配置多个SSH key

2、 打开自己的用户settings,找到SSH Keys,将生成的SSH key贴入框内

贴入自己的SSH key

3、 git clone时,选择ssh地址

一定要选ssh地址

4、 如果已有的项目使用的是http方式,需要将远程库切换成ssh的地址。

一顿操作猛如虎,回头一看,嘿,确实安全了不少。同时又兼顾了方便,真的是一举多得呢。

当然,如果公司对保密要求特别特别高,那就内网部署吧。互联网的安全都是相对的,内网毕竟物理隔离了,再有问题就说不过去了~~~

同学们,还等什么,操作秀起来吧!


--- END ---

欢迎关注俺的公众号,一个有思维、有技术,并且正在健身的中年大叔。

↓↓↓ 长按关注 ↓↓↓