Linux上通過SSL/TLS和start tls連接到LDAP服務器

一,大致流程。


? ? ? ? 1.首先在Linux上搭建一個LDAP服務器 2.在LDAP服務器上安裝CA證書,服務器證書,因為SSL/TLS,start?tls都屬于機密通信,需要客戶端和服務器都存在一個相同的證書認證雙方的身份。3.安裝phpldapadmin工具,為我們提供一個可視化操作的LDAP服務器界面,讓我們能夠方便去管理用戶,組織。4.通過TLS和start?tls和連接到LDAP服務器。

? ? ? ? 2.提交了解,新手必看。首先你在執行下述安裝LDAP搭建之前,創建一個新的ubuntu的作為你的服務器的載體。其次,你新建的這個ubuntu的IP地址就是你LDAP服務器的IP地址,默認服務器管理員賬戶名為admin。鬼知道我之前找IP地址和管理員賬戶在配置文件里面扒拉了多少時間。

二.搭建LDAP服務器

三.搭配CA證書,服務器證書

? ? ? ? 二,三兩個步驟我就不寫了,這兩個文章在這位大佬里面的博客寫得非常詳細,直接粘貼復制這位大佬的命令就行了。然后我會解決大佬文章中出現的一個錯誤,應該是版本更迭原因。

? ? ? ? 大佬的文章做到"配置OpenLDAP以使用證書和密鑰"這一步時,他在保存addcerts.ldif后直接執行了寫入配置文件這條命令。

經過我多次測試,如果在執行這條命令前不執行重啟Openldap服務:sudo service slapd force-reload這條命令的話,會報出ldap_modify: Other (e.g., implementation specific) error (80)這樣的錯誤,當你保存addcerts.ldif這個文件之后,正確的執行命令應當是。

sudo service slapd force-reload

sudo ldapmodify -H ldapi:// -Y EXTERNAL -f addcerts.ldif

sudo service slapd force-reload

?修改配置文件,開啟SSL\TLS和Start TLS認證

sudo?vim?/etc/default/slapd

SLAPD_SERVICES="ldap:/// ldapi:/// ldaps:///" //手動開始服務器支持TLS和SSL,前提是你的證書和私鑰全部安裝完畢;ldapi表示開啟Start TLS認證,ldaps表示開啟SSL\TLS認證

sudo vim /etc/ldap/ldap.conf

在文件中添加下面兩行數據

TLS_REQCERT try //表示強制開啟client驗證服務器的證書,如果改為allow,可以通過IP連接到服務器

TLS_CACERT /etc/ldap/ca_certs.pem //指定證書的位置

四,安裝phpldapadmin工具(不需要可視化界面的可以直接跳到第五步,不影響連接到LDAP服務器)

????????搭載phpldapadmin,phpldapdamin,這是一個可視化的LDAP服務器操作頁面,能夠更好的管理LDAP服務器。

1.安裝phpldapadmin工具包

sudo apt-get?install?-y?phpldapadmin

2.安裝成功之后檢查對應的配置文件,紅色為修改部分

sudo vim /etc/phpldapadmin/config.phphp? ? //打開配置文件

$servers->setValue('server'. 'host', '127.0.0.1') //第三個參數修改為本地環回地址,一般都是這個

$servers->setValue('server'. 'base', array('dc=example,dc=com')) //填寫域名,我的是example.com

$servers->setValue('login', 'bind_id', 'cn=admin,dc=example,dc=com') //管理員名+域名 上訴步驟均沒有指定管理員名,服務器的默認管理員名均為admin

保存退出

3. 配置文件修改之后配置防火漆:防火墻放行Apache2

Ubuntu命令行執行以下3條命令

ufw?allow?"Apache"

ufw?allow?"Apache?Full"

ufw?allow?"Apache?Secure"

?4 重啟服務器

sudo /etc/init.d/apache2 restart

5.將http:///phpldapadmin 替換為LDAP服務器的IP地址,將這個放到任意一個游覽器中運行,點擊左側登錄會出現以下畫面進行登錄

?6.3.6 登錄成功之后進入以下畫面

?五,連接到AD服務器

?1.驗證是否配置成功Strat TLS認證

????????這里的ldap://ldap.example.com 必須使用域名,不可以使用IP地址,因為client驗證服務器的證書使用的是域名而不是IP地址,如果形式變為ldap://192.168.45.xxx 的形式,就不能連接到服務器。除非你將TLS_REQCERT try改為TLS_REQCERT allow(表示不強制開啟client驗證服務器的證書)。

ldapwhoami -H ldap://ldap.example.com -x -ZZ? ?//-ZZ表示強制使用Strat TLS

如果成功,那么你將會看見

anonymous

如果失敗,請檢查以下

1. /etc/ldap/ldap.conf中指定的證書路徑是否正確TLS_CACERT /etc/ldap/ca_certs.pem

2.證書內容是否在復制過程中,多了空格,換行,建議直接復制文件

3.服務器的/etc/default/slapd文件中的SLAPD_SERVICES="ldap:/// ldapi:/// ldaps:///"字段是否有ldapi:///內容,如果沒有則添加,修改完配置文件之后,重啟服務

sudo service slapd force-reload 。

4.如果以上3步全部正確,依舊無法連上,嘗試在client的/etc/hosts加上反向域名解析:

sudo vim /etc/hosts

#添加方向域名解析

127.0.1.1 ldap.example.com ldap

127.0.0.1 localhost

192.168.45.147 ldap.example.com

2.遠程客戶端通過SSL\TLS連接到服務器

?ldapwhoami -H ldaps://ldap.example.com -x

?如果成功

?anonymous

?失敗的話請查看Strat TLS中提到的錯誤檢查,如果Strat TLS已經成功了,而你的SSL\TLS失敗了,就只有/etc/default/slapd文件中的SLAPD_SERVICES字段沒有添加ldaps:///

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/161644.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/161644.shtml
英文地址,請注明出處:http://en.pswp.cn/news/161644.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

一點DETR學習

DETR: 主要是為了學習query。 主要從兩個方面:加偏好和縮短序列長度

〖大前端 - 基礎入門三大核心之JS篇?〗- DOM事件傳播和事件監聽方法addEventListener()

說明:該文屬于 大前端全棧架構白寶書專欄,目前階段免費,如需要項目實戰或者是體系化資源,文末名片加V!作者:不渴望力量的哈士奇(哈哥),十余年工作經驗, 從事過全棧研發、產品經理等工作&#xf…

ABAP調用Https接口 Ssl證書導入

ABAP調用Https接口 Ssl證書導入 一、證書導入 谷歌瀏覽器打開對方系統URL地址,下載SSL Server certificate,步驟如下: 瀏覽器打開要導出certificate(證書)的網站,點擊這個小鎖的圖標: 點擊連接是安全的后面小播放按鈕 點擊證…

Spark RDD、DataFrame和Dataset的區別和聯系

一、三種數據介紹 是Spark中的三種不同的數據結構,它們都可以用于分布式數據處理,但是它們的實現方式和使用方法略有不同。 RDD(彈性分布式數據集) RDD是Spark最初的核心數據結構,它是一個分布式的、只讀的、可容錯的…

BIND DNS服務器的域名日志

BIND DNS服務器的域名日志 解析字段包括以下幾個部分: 日期和時間:記錄查詢發生的日期和時間。客戶端IP地址:發起查詢的客戶端IP地址。查詢類型:查詢的記錄類型,如A、AAAA、MX、NS等。查詢域名:被查詢的域…

系列七、ThreadLocal為什么會導致內存泄漏

一、ThreadLocal為什么會導致內存泄露 1.1、ThreadLocalMap的基本結構 ThreadLocalMap是ThreadLocal的內部類,沒有實現Map接口,用獨立的方式實現了Map的功能,其內部的Entry也是獨立實現的。源碼如下: 1.2、ThreadLocal引用示意圖…

educoder中Hive -- 索引和動態分區調整

第1關:Hive -- 索引 ---創建mydb數據庫 create database if not exists mydb; ---使用mydb數據庫 use mydb; ---------- Begin ---------- ---創建staff表 create table staff( id int, name string, sex string) row format delimited fields terminated by , stored…

分享一篇很就以前的文檔-VMware Vsphere菜鳥篇

PS:由于內容是很久以前做的記錄,在整理過程中發現了一些問題,簡單修改后分享給大家。首先ESXI節點和win7均運行在VMware Workstation上面,屬于是最底層,而新創建的CentOS則是嵌套后創建的操作系統,這點希望…

MySQL--慢查詢(一)

1. 查看慢查詢日志是否開啟 show variables like slow_query%; show variables like slow_query_log; 參數說明: 1、slow_query_log:這個參數設置為ON,可以捕獲執行時間超過一定數值的SQL語句。 2、long_query_time:當SQL語句執行…

CST同軸饋電步驟

CST同軸饋電步驟 算例1. 同軸內芯2. 填充材料3. 外皮4. GND減去一個圓形,使EMWAVE可以通過5. 添加端口6. 結果比較 算例 cst模型庫中的一個圓貼片 1. 同軸內芯 2. 填充材料 他這里直接使用和介質基板一樣的材料并且進行了合并,我就懶得再改了&#x…

java代碼調用twitter-api用例實戰

一、申請twitter開發者賬號 首先先申請twitter開發者免費的API,要填寫申請的內容,放心大膽地寫,申請完,會提供免費的API接口。 以下是我申請到的三個免費API 申請完開始進行測試調用。 讀官方文檔賬戶認證那塊:https…

《安富萊嵌入式周報》第327期:Cortex-A7所有外設單片機玩法LL/HAL庫全面上線,分享三款GUI, PX5 RTOS推出網絡協議棧,小米Vela開源

周報匯總地址:嵌入式周報 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬漢嵌入式論壇 - Powered by Discuz! 1、2023 Hackaday大賽胸牌開源 Vectorscope-main.zip (66.83MB) GitHub - Hack-a-Day/Vectorscope: Vectorscope badg…

Baidu Comate 基于百度文心一言的智能編碼助手

本心、輸入輸出、結果 文章目錄 Baidu Comate 基于百度文心一言的智能編碼助手前言產品能力主要功能特性JetBrains IntelliJ IDEA 插件安裝相關鏈接花有重開日,人無再少年實踐是檢驗真理的唯一標準Baidu Comate 基于百度文心一言的智能編碼助手 編輯:簡簡單單 Online zuozuo …

git commit message 書寫規范

在使用 Git 提交時&#xff0c;遵循良好的提交消息規范可以提高代碼的可讀性和可維護性。以下是一些常見的 Git 提交消息書寫規范&#xff1a; 提交消息格式&#xff1a;一個提交消息通常包含三個部分&#xff1a;標題、空行和正文。它們之間使用空行分隔。 復制 <標題>&…

vue3項目中使用富文本編輯器

前言 適配 Vue3 的富文本插件不多&#xff0c;我看了很多插件官網&#xff0c;也有很多寫的非常棒的&#xff0c;有UI非常優雅讓人耳目一新的&#xff0c;也有功能非常全面的。 如&#xff1a; Quill&#xff0c;簡單易用&#xff0c;功能全面。editorjs&#xff0c;UI極其優…

echarts的橫向柱狀圖文字省略,鼠標移入顯示內容 vue3

效果圖 文字省略 提示 如果是在x軸上的&#xff0c;就在x軸上添加triggerEvent: true,如果是y軸就在y軸添加&#xff0c;我是在y軸上添加的 并且自定義的方法&#xff08;我取名為extension&#xff09; // echarts 橫向省略文字 鼠標移入顯示內容 export const extension…

AT89S52單片機的最小應用系統

目錄 ?一.時鐘電路設計 1.內部時鐘方式 2.外部時鐘方式 3.時鐘信號的輸出 二.機器周期&#xff0c;指令周期與指令時序 1.時鐘周期 2.機器周期 3.指令周期 三.復位操作和復位電路 1.復位操作 2 復位電路設計 四.低功耗節電模式 AT89S52本身片內有8KB閃爍存儲器&am…

Redisson分布式鎖源碼解析

一、使用Redisson步驟 Redisson各個鎖基本所用Redisson各個鎖基本所用Redisson各個鎖基本所用 二、源碼解析 lock鎖 1&#xff09; 基本思想&#xff1a; lock有兩種方法 一種是空參 另一種是帶參 * 空參方法&#xff1a;會默認調用看門狗的過期時間30*1000&…

kubernetes|云原生|Deployment does not have minimum availability 的解決方案(資源隱藏的由來)

前言&#xff1a; 最近在部署prometheus的過程中遇到的這個問題&#xff0c;感覺比較的經典&#xff0c;有必要記錄一下。 現象是部署prometheus主服務的時候&#xff0c;看不到pod&#xff0c;只能看到deployment&#xff0c;由于慌亂&#xff0c;一度以為是集群有毛病了&am…

c# 基礎語法

c# 程序結構 using System.Collections.Generic; namespace demo1; //一個命名空間可以包含多個類 using System.IO; using System.Drawing;class proj {/// <summary>/// c#是微軟開發的&#xff0c;基于c和c的一種面象對象編程語言&#xff0c;用于快速開發windows桌…