Git安全配置

Federico發表於2018-04-02

  今天收到了阿里雲異地登入的簡訊報警,登入阿里雲後臺發現,有人從深圳登入了我的伺服器(本人在北京),檢視詳細資訊一共登入了5次,前兩次是使用的git使用者進行登入,後兩次已經變成了root使用者,懷疑是有人通過使用git使用者登入到伺服器並破解了我的root賬戶,首先我的阿里雲伺服器是隻支援祕鑰登入的,相應的在後續做了如下調整,沒有再次發現相關問題。

  1. 修改/etc/passwd中git使用者的相關許可權。
gitlab-www:x:997:994::/var/opt/gitlab/nginx:/bin/false
git:x:996:993::/var/opt/gitlab:/bin/git-shell
gitlab-redis:x:995:992::/var/opt/gitlab/redis:/bin/false
gitlab-psql:x:994:991::/var/opt/gitlab/postgresql:/bin/git-shell
gitlab-prometheus:x:993:990::/var/opt/gitlab/prometheus:/bin/git-shell

/bin/bash修改為/bin/git-shell
使用 Git 自帶的 git-shell 工具限制 Git 庫所屬使用者的活動範圍。將此設定為git-shell,那麼該使用者就無法使用普通的 bash 或者 csh 什麼的 shell 程式。
如果此時使用git使用者想要登入伺服器,將會出現如下報錯。

[root@iZ2zei5wmjez4qjb9g9yw8Z ~]# ssh git@123.123.123.123
The authenticity of host '[123.123.123.123]:22 ([123.123.123.123]:22)' can't be established.
ECDSA key fingerprint is 91:e0:11:e1:ef:8f:e5:93:35:1a:16:e8:f5:80:23:70.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[123.123.123.123]:22' (ECDSA) to the list of known hosts.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
  1. 檢查當前系統是否正常
    2.1、使用tophtop命令檢視當前伺服器的執行狀態,是否有cpu或記憶體使用過高的情況,確定伺服器當前的安全情況。
    2.2、檢查當前歷史命令使用history命令檢視當前有沒有異常命令
    2.3、注意關注阿里雲後臺執行情況,有無簡訊報警。
  2. 檢查當前有沒有特殊使用者被建立,檢視當前公鑰認證檔案中是否存在其他異常公鑰。
  3. 修改sshd_config配置檔案,增加ssh安全性。

相關文章