OnWorksLinuxおよびWindowsオンラインワークステーション

及び

ワークステーションのオンライン無料ホスティング

<前へ | Contents | 次へ>

1.9. レプリケーションとTLS


サーバー間でレプリケーションを設定している場合は、盗聴を防ぐためにレプリケーション トラフィックを暗号化 (StartTLS) するのが一般的です。 これは、上で行った認証を伴う暗号化の使用とは異なります。 このセクションでは、TLS 認証の作業を基礎にしていきます。


ここでの前提条件は、セクション 1.6「レプリケーション」 [p. 123] に従ってプロバイダとコンシューマ間のレプリケーションを設定していることです。 1.8] セクション 129. 「TLS」 [p. XNUMX] に従って、プロバイダーでの認証用に TLS を設定しました。 XNUMX]。


前述したように、レプリケーションの (私たちにとっての) 目的は、LDAP サービスの高可用性です。 プロバイダーでの認証には TLS があるため、コンシューマーでも同様の認証が必要になります。 ただし、これに加えて、レプリケーション トラフィックを暗号化する必要があります。 残りの作業は、コンシューマのキーと証明書を作成し、それに応じて構成することです。 別の CA 証明書を作成する必要がないように、プロバイダーでキー/証明書を生成し、必要なマテリアルをコンシューマーに転送します。

1. プロバイダー上で、


保持ディレクトリ (最終的な転送に使用されます) を作成し、次にコンシューマの秘密キーを作成します。


mkdir ldap02-ssl cd ldap02-ssl

sudo certtool --generate-privkey \

-- ビット 1024 \

--outfile ldap02_slapd_key.pem


情報ファイルを作成し、 ldap02.info、コンシューマ サーバーの場合は、それに応じて値を調整します。


組織 = 会社例 cn = ldap02.example.com



tls_www_サーバー暗号化キー署名キーの有効期限日 = 3650


コンシューマの証明書を作成します。


sudo certtool --generate-certificate \

--load-privkey ldap02_slapd_key.pem \

--load-ca-certificate /etc/ssl/certs/cacert.pem \

--load-ca-privkey /etc/ssl/private/cakey.pem \

--テンプレート ldap02.info \

--outfile ldap02_slapd_cert.pem


CA 証明書のコピーを取得します。


cp /etc/ssl/certs/cacert.pem 。


終わったね。 今すぐ転送してください ldap02-ssl ディレクトリをコンシューマに追加します。 ここでは scp を使用します (適宜調整してください)。


CD ..

scp -r ldap02-ssl ユーザー@コンシューマー:


2. 消費者に関しては、


TLS 認証を構成します。


sudo apt install ssl-cert

sudo gpasswd -a openldap ssl-cert

sudo cp ldap02_slapd_cert.pem cacert.pem /etc/ssl/certs sudo cp ldap02_slapd_key.pem /etc/ssl/private

sudo chgrp openldap /etc/ssl/private/ldap02_slapd_key.pem sudo chmod 0640 /etc/ssl/private/ldap02_slapd_key.pem sudo systemctl stopd.service


ファイルを作成する /etc/ssl/certinfo.ldif 次の内容になります (適宜調整してください)。


dn:cn = config

追加: olcTLSCACertificateFile olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem

-

追加: olcTLSCertificateFile

olcTLS証明書ファイル: /etc/ssl/certs/ldap02_slapd_cert.pem

-

追加: olcTLSCertificateKeyFile

olcTLSCertificateKeyFile: /etc/ssl/private/ldap02_slapd_key.pem


slapd-config データベースを構成します。



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


構成 / etc / default / slapd プロバイダー (SLAPD_SERVICES) と同様です。

3. 消費者に関しては、


コンシューマ側レプリケーション用に TLS を構成します。 既存のものを変更します olcSyncrepl いくつかの TLS オプションを追加することで属性を変更します。 そうすることで、属性の値を変更する方法が初めてわかります。


ファイルを作成する Consumer_sync_tls.ldif 次の内容で:


dn: olcDatabase={1}mdb,cn=config 置換: olcSyncRepl

olcSyncRepl:rid=0 Provider=ldap://ldap01.example.combindmethod=simple bindingdn="cn=admin,dc=example,dc=com" credentials=secret searchbase="dc=example,dc=com" logbase= "cn=accesslog" logfilter="(&(objectClass=auditWriteObject)(reqResult=0))" schemachecking=on type=refreshAndPersist retry="60 +" syncdata=accesslog starttls=critical tls_reqcert=demand


追加のオプションは、コンシューマが StartTLS を使用する必要があること、およびプロバイダの ID を検証するために CA 証明書が必要であることをそれぞれ指定します。 属性の値を変更する (「置換」) ための LDIF 構文にも注意してください。


次の変更を実装します。


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


そして、slapd を再起動します。


sudo systemctl 再起動slapd.service


4. プロバイダー上で、


TLS セッションが確立されていることを確認します。 で / var / log / syslog「conns」レベルのログが設定されている場合、次のようなメッセージが表示されるはずです。


slapd[3620]: conn=1047 fd=20 IP=10.153.107.229:57922 (IP=0.0.0.0:389) から受け入れますslapd[3620]: conn=1047 op=0 EXT oid=1.3.6.1.4.1.1466.20037

slapd[3620]: conn=1047 op=0 STARTTLS

slapd[3620]: conn=1047 op=0 結果 oid= err=0 text=

SLPD[3620]: conn=1047 fd=20 TLS が確立されました tls_ssf=128 ssf=128 SLPD[3620]: conn=1047 op=1 BIND dn="cn=admin,dc=example,dc=com" method=128

slapd[3620]: conn=1047 op=1 BIND dn="cn=admin,dc=example,dc=com" mech=SIMPLE ssf=0 sawd[3620]: conn=1047 op=1 RESULT tag=97 err= 0 テキスト


OnWorksのトップOSクラウドコンピューティング: