久久久噜噜噜久噜久久,国内精品久久久人妻中文字幕 ,久久人人爽av亚洲精品天堂,好大好湿好硬顶到了好爽视频,久久精品久久久久久久精品

您當(dāng)前的位置: 首頁(yè) >> 關(guān)注 > >> 內(nèi)容頁(yè)

Freeipa的簡(jiǎn)單搭建配置

2023-04-05 08:30:13 來(lái)源:騰訊云

背景:

想把賬戶(hù)統(tǒng)一管理起來(lái),jenkins,gitlab,jumpserver甚至kibana,kubernetes等等。本來(lái)搭建過(guò)openldap。昨天小伙伴強(qiáng)烈推薦我用一下freeipa......又進(jìn)入了盲區(qū),沒(méi)有聽(tīng)過(guò)的東西都比較好奇,淺淺的體驗(yàn)一下!freeipa服務(wù)就不想部署在kubernetes中了 也準(zhǔn)備docker方式啟動(dòng)部署。畢竟這樣方便升級(jí)還原。kubernetes中部署了還要額外映射端口啥的麻煩......偷懶一下!


(資料圖)

Freeipa安裝

注: 操作系統(tǒng)rockylinux9.0,以docker-compose方式啟動(dòng)freeipa!。主機(jī)內(nèi)網(wǎng)ip 10.0.4.52.

安裝docker docker-compose

docker安裝

添加docker-ce國(guó)內(nèi)源,這里使用了阿**的源,安裝docker-ce:

dnf config-manager     --add-repo     http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repodnf -y install docker-ce docker-ce-cli containerd.io
FOWQt08Rwx.png

安裝docker-compose

訪問(wèn)github倉(cāng)庫(kù):https://github.com/docker/compose/releases/,選擇對(duì)應(yīng)版本針對(duì)系統(tǒng)的版本進(jìn)行下載(會(huì)很慢,可以科學(xué)上網(wǎng),或者跟我一樣,提前下載了放在對(duì)象存儲(chǔ)上面?。?/p>

image.png
curl "https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64" -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-composedocker-compose --version
OiHd5vienA.png
e2hGOLju0K.png

配置docker鏡像加速,設(shè)置docker服務(wù)開(kāi)機(jī)啟動(dòng):

可以跟據(jù)自己的阿里亞賬戶(hù)的容器鏡像服務(wù)-鏡像攻擊-鏡像加速器,配置鏡像加速:

image.png
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-"EOF"{  "registry-mirrors": ["https://7zk8hbh7.mirror.aliyuncs.com"],  "features": { "buildkit": true },  "experimental": true,  "cgroup-parent": "docker.slice",  "exec-opts": ["native.cgroupdriver=systemd"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker

注:registry-mirrors下面的忘了那里復(fù)制來(lái)的了 就直接帶著了!

docker infodocker -v
image.png

docker-compose 搭建freeipa服務(wù):

創(chuàng)建數(shù)據(jù)目錄,編寫(xiě)docker-compose.yaml文件

偷懶了docker-compose.yaml存放在了/data/freeipa目錄。freeipa數(shù)據(jù)目錄/data/free-ipa/data /data/free-ipa/data/logs:

mkdir -p /data/free-ipa/data mkdir -p /data/free-ipa/logs
image.png

docker-compose.yaml如下(小伙伴的文件直接拿來(lái)用的):

version: "3.3"services:  freeipa:    image: freeipa/freeipa-server:almalinux-8-4.9.8    container_name: xxxx.xxxx.com    domainname: xxxx.xxxx.com    container_name: freeipa_idc    ports:      - "80:80/tcp"      - "443:443/tcp"      # DNS      - "53:53/tcp"      - "53:53/udp"      # LDAP(S)      - "389:389/tcp"      - "636:636/tcp"      # Kerberos      - "88:88/tcp"      - "88:88/udp"      - "464:464/tcp"      - "464:464/udp"      # NTP      - "123:123/udp"    dns:      - 127.0.0.1      - 183.60.82.98      - 183.60.83.19      - 114.114.114.114    tty: true    stdin_open: true    environment:      IPA_SERVER_HOSTNAME: xxxx.xxxx.com      IPA_SERVER_IP: 10.0.4.52       TZ: "Asia/Shanghai"    command:      - --domain=xxxx.com      - --realm=xxx.com      - --admin-password=xxxx  #freeapi的admin管理員賬號(hào)      - --http-pin=xxxx      - --dirsrv-pin=xxxx      - --ds-password=xxxx      - --no-dnssec-validation      - --no-host-dns      - --setup-dns      - --auto-forwarders      - --allow-zone-overlap      - --unattended  # 自動(dòng)無(wú)人工干預(yù)安裝    cap_add:      - SYS_TIME      - NET_ADMIN    restart: unless-stopped    volumes:      - /etc/localtime:/etc/localtime:ro      - /sys/fs/cgroup:/sys/fs/cgroup:ro      - /data/free-ipa/data:/data      - /data/free-ipa/logs:/var/logs    sysctls:      - net.ipv6.conf.all.disable_ipv6=0      - net.ipv6.conf.lo.disable_ipv6=0    security_opt:      - "seccomp:unconfined"    labels:      - idc-freeipa    extra_hosts:      - "xxxx.xxxx.com:10.0.4.52 "

就默認(rèn)修改了一下 域名 ip dns 密碼 domain realm 等xxx部分!

cgroup v2帶來(lái)的無(wú)法啟動(dòng)

docker-compose up -d docker logs -f freeipa_idc
xgUAwfgzFV.png

網(wǎng)上看了很多文章基本是cgroup的問(wèn)題:https://serverfault.com/questions/1053187/systemd-fails-to-run-in-a-docker-container-when-using-cgroupv2-cgroupns-priva.https://github.com/freeipa/freeipa-container/issues/520

服務(wù)器查看了一眼確實(shí)系統(tǒng)默認(rèn)cgroup v2版本:

mount |grep cgroup
image.png

修改systemd.unified_cgroup_hierarchy=0 并重啟服務(wù)器:

grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"reboot

查看cgroup可以支持V1了 繼續(xù)啟動(dòng)服務(wù)

mount |grep cgroup
image.png
docker-compose down docker-compose up -d 

等待服務(wù)啟動(dòng)........

image.png

訪問(wèn)freeipa域名:

第一次訪問(wèn)點(diǎn)兩次取消進(jìn)入登陸頁(yè)面

第一次訪問(wèn)很坑爹:右上角會(huì)彈出一個(gè)登陸框讓輸入用戶(hù)名密碼,連著輸入都是錯(cuò)誤的,都懷疑人生準(zhǔn)備重新部署了,看到一篇文章說(shuō)要點(diǎn)兩次取消就可以出現(xiàn)下面的頁(yè)面登陸框:搭建freeIPA服務(wù)器實(shí)現(xiàn)用戶(hù)管理

image.png
FPtXad7JPP.png
image.png

不出意外輸入可能會(huì)顯示密碼錯(cuò)誤.....日志也不打出新的...怎么破?

image.png

docker-compose.yaml中admin-password 變量盡量別加特殊符號(hào)貌似(登陸了后臺(tái)可以控制臺(tái)修改密碼?。?/p>

登陸控制臺(tái)基本是如下頁(yè)面:

image.png

用戶(hù) 用戶(hù)組個(gè)人關(guān)注的就這兩個(gè)關(guān)鍵詞。繼續(xù)強(qiáng)迫癥修改https證書(shū):

image.png

修改freeipa https證書(shū)準(zhǔn)備

參照:https://computingforgeeks.com/secure-freeipa-server-with-lets-encrypt-ssl-certificate/文中是宿主機(jī)安裝的方式,當(dāng)然了docker中也是適用!

進(jìn)入freeipa容器

docker exec -it freeipa_idc bash

進(jìn)入容器后,通過(guò)管理員用戶(hù)身份獲取 Kerberos 票據(jù)來(lái)確認(rèn)它正在運(yùn)行:

sudo kinit adminsudo klist
image.png

安裝epel repo與certbot:

sudo yum install epel-releasesudo yum install certbot python3-certbot-apachecertbot --version
image.png

使用 Let"s Encrypt SSL 證書(shū)保護(hù) FreeIPA 服務(wù)器

首先備份當(dāng)前的 FreeIPA 服務(wù)器私鑰和證書(shū),安裝 git、vim 或 nano 文件編輯器(可選主要是git vim )

sudo cp -r /var/lib/ipa/certs{,.bak}sudo cp -r /var/lib/ipa/private{,.bak}sudo yum -y install vim nano git
image.png

使用手動(dòng)方法使用 Let"s Encrypt 保護(hù) FreeIPA 服務(wù)器:

創(chuàng)建證書(shū)目錄:

sudo su -mkdir freeipa-certscd freeipa-certs
image.png

下載 Let"s Encrypt CA 證書(shū):

CERTS=("isrgrootx1.pem" "isrg-root-x2.pem" "lets-encrypt-r3.pem" "lets-encrypt-e1.pem" "lets-encrypt-r4.pem" "lets-encrypt-e2.pem")for CERT in "${CERTS[@]}"do  curl -o $CERT "https://letsencrypt.org/certs/$CERT"done
image.png

將 Let"s Encrypt CA 證書(shū)安裝到 FreeIPA 證書(shū)存儲(chǔ)中:

CERTS=("isrgrootx1.pem" "isrg-root-x2.pem" "lets-encrypt-r3.pem" "lets-encrypt-e1.pem" "lets-encrypt-r4.pem" "lets-encrypt-e2.pem")for CERT in "${CERTS[@]}"do  ipa-cacert-manage install $CERTdone

預(yù)期會(huì)出現(xiàn)一下輸出:

image.png

使用來(lái)自服務(wù)器的證書(shū)更新本地 IPA 證書(shū)數(shù)據(jù)庫(kù):

sudo ipa-certupdate
image.png

獲取 Let"s Encrypt 證書(shū)

停止 httpd 服務(wù)以釋放獲取證書(shū)所需的端口 80:

sudo systemctl stop httpd

然后運(yùn)行 Certbot 獲取 Let"s Encrypt 證書(shū):

EMAIL="820042728@qq.com"DOMAIN="xxx.xxxx.com"sudo certbot certonly --standalone --preferred-challenges http --agree-tos -n -d $DOMAIN -m $EMAIL
image.png

您的證書(shū)應(yīng)存儲(chǔ)在 /etc/letsencrypt/live/xxx.xxx.com 目錄中

[root@86ca990dc234 freeipa-certs]# ls /etc/letsencrypt/live/xxx.xxxx.com/READMEcert.pem  chain.pem  fullchain.pem  privkey.pem

確認(rèn)生成所需的證書(shū)后啟動(dòng) httpd 服務(wù)器:

sudo systemctl restart httpd

添加 Let"s Encrypt SSL 證書(shū)以在 FreeIPA Web UI 中使用:

DOMAIN="xxx.xxx.com" # Set correct IdM hostnamesudo ipa-server-certinstall -w -d /etc/letsencrypt/live/$DOMAIN/privkey.pem /etc/letsencrypt/live/$DOMAIN/cert.pem --pin=""
image.png

重啟 FreeIPA 服務(wù):

[root@86ca990dc234 freeipa-certs]# sudo ipactl restartRestarting Directory ServiceRestarting krb5kdc ServiceRestarting kadmin ServiceRestarting named ServiceRestarting httpd ServiceRestarting ipa-custodia ServiceRestarting pki-tomcatd ServiceRestarting ipa-otpd ServiceRestarting ipa-dnskeysyncd Serviceipa: INFO: The ipactl command was successfu

可以從終端或網(wǎng)絡(luò)瀏覽器確認(rèn)當(dāng)前使用的 SSL 證書(shū)。 使用 OpenSSL:

openssl s_client -showcerts -verify 5 -connect $(hostname -f):443
image.png

瀏覽器訪問(wèn):

image.png

使用 bash 腳本使用 Let"s Encrypt 保護(hù) FreeIPA 服務(wù)器:

github 克隆官方 FreeIPA Let"s Encrypt 管理腳本代碼:

git clone https://github.com/freeipa/freeipa-letsencrypt.git
image.png

切換到freeipa-letsencrypt目錄,編輯 renew-le.sh 腳本并設(shè)置 EMAIL 變量::

cd freeipa-letsencrypt$ vim renew-le.shEMAIL="820042728@qq.com"

在 setup-le.sh 腳本中,F(xiàn)reeIPA 服務(wù)器 FQDN 設(shè)置為服務(wù)器的主機(jī)名(確保hostname -f命令將主機(jī)名作為 FQDN 返回:):

FQDN=$(hostname -f)hostname -f
image.png

運(yùn)行 setup-le.sh 腳本:

sudo bash setup-le.sh

該腳本將執(zhí)行以下操作:

將 Let"s Encrypt CA 證書(shū)安裝到 FreeIPA 證書(shū)存儲(chǔ)中為 FreeIPA Web 界面申請(qǐng)新證書(shū)

會(huì)出現(xiàn)一下提示讓輸入pass:

Enter pass phrase for /var/lib/ipa/private/httpd.key:

嘗試了好多次沒(méi)有找到這個(gè)pass,最后參照:https://github.com/freeipa/freeipa-letsencrypt/issues/18。找到此pass:

cat /var/lib/ipa/passwds/xxx.xxxx.com-443-RSA
image.png
image.png

重啟httpd服務(wù),確認(rèn) ipa-certupdate 命令執(zhí)行成功:

sudo systemctl restart httpdsudo ipa-certupdate
image.png

修改 Apache Web 服務(wù)器配置文件以設(shè)置 SSL 證書(shū)和密鑰:

如果只對(duì)在瀏覽器頁(yè)面上使用 Let"s Encrypt SSL 感興趣,您可以手動(dòng)修改 ssl.conf 文件并設(shè)置以下指令(但是文章中說(shuō)不推薦?):

$ sudo vim /etc/httpd/conf.d/ssl.confSSLCertificateFile /etc/letsencrypt/live/xxxx.xxxx.com/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/xxxx.xxxx.com/privkey.pem
image.png
image.png

重啟httpd服務(wù):

systemctl restart httpd
image.png

更新 FreeIPA Let"s Encrypt 證書(shū):

每當(dāng)續(xù)訂 SSL 證書(shū)時(shí),運(yùn)行以下命令以在 FreeIPA 端更新:

DOMAIN="xxxx.xxxx.com" # Set correct IdM hostnamesudo ipa-server-certinstall -w -d /etc/letsencrypt/live/$DOMAIN/privkey.pem /etc/letsencrypt/live/$DOMAIN/cert.pem --pin=""

根據(jù)需要輸入目錄管理員密碼:

image.png

然后在安裝證書(shū)后繼續(xù)重啟 FreeIPA 服務(wù):

sudo ipactl restart

跑了一遍流程了知道怎么偷懶換成自己的證書(shū)了試一下:

騰訊云下載了nginx證書(shū):

image.png

修改/etc/httpd/conf.d/ssl.conf對(duì)應(yīng)位置:

SSLCertificateFile 對(duì)應(yīng)上圖pem文件,SSLCertificateKeyFile對(duì)應(yīng)上面key文件(可以直接修改后綴?。?/p>

image.png

重啟apache服務(wù):

systemctl restart httpd

成功修改成自己的泛域名證書(shū):

image.png

注意

關(guān)于證書(shū)還是自動(dòng)生成使用 Let"s Encrypt SSL 不要自己上傳自己的證書(shū),會(huì)出現(xiàn)無(wú)法登陸的問(wèn)題:

image.png
[remote xxx.xxx.xxx.xxxx:3045] ipa: INFO: 401 Unauthorized: HTTPSConnectionPool(host="xxx.xxx.com", port=443): Max retries exceeded with url: /ipa/session/cookie (Caused by SSLError(SSLError(1, "[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:897)"),))

我當(dāng)時(shí)出現(xiàn)了web ui登陸的錯(cuò)誤:記一次FreeIPA WEBUI 登陸錯(cuò)誤 Login failed due to an unkno基本也是這樣的樣子,后面將證書(shū)重新使用 Let"s Encrypt SSL 生成后解決問(wèn)題!

關(guān)鍵詞:
分享到:
x 廣告
x 廣告

  Copyright @ 2001-2013 www.jcbsd.cn All Rights Reserved 中國(guó)時(shí)尚網(wǎng) 版權(quán)所有

聯(lián)系方式:954 29 18 82 @qq.com

   粵ICP備18025786號(hào)  營(yíng)業(yè)執(zhí)照公示信息   未經(jīng)吉中國(guó)時(shí)尚網(wǎng)書(shū)面授權(quán),請(qǐng)勿建立鏡像,轉(zhuǎn)載請(qǐng)注明來(lái)源,違者依法必究

關(guān)于我們 | 聯(lián)系方式 | 版權(quán)聲明 | 招聘信息 | 友情鏈接 | 合作伙伴 |