SWLネットワーク(V):DebianWheezyおよびClearOS。 ネイティブLDAPに対するSSSD認証。

皆さん、こんにちは!。 繰り返しますが、前に読んでください«無料ソフトウェアを使用したネットワークの概要(I):ClearOSのプレゼンテーション»そして、ClearOSのステップバイステップのインストールイメージパッケージ(1,1メガ)をダウンロードして、私たちが話していることに注意してください。 その読書なしでは私たちに従うのは難しいでしょう。

システムセキュリティサービスデーモン

プログラム SSSD o システムセキュリティサービスのデーモン、のプロジェクトです フェドーラ、これもFedoraからの別のプロジェクトから生まれました。 無料IPA。 独自の作成者によると、短く自由に翻訳された定義は次のようになります。

SSSDは、さまざまなIDおよび認証プロバイダーへのアクセスを提供するサービスです。 ネイティブLDAPドメイン(LDAP認証を使用するLDAPベースのIDプロバイダー)またはKerberos認証を使用するLDAPIDプロバイダー用に構成できます。 SSSDは、を介してシステムへのインターフェイスを提供します NSS y PAM、および複数の異なるアカウントオリジンに接続するための挿入可能なバックエンド。

私たちは、OpenLDAPでの登録ユーザーの識別と認証のために、前の記事で取り上げたものよりも包括的で堅牢なソリューションに直面していると信じています。これは、すべての人と自分の経験の裁量に任されている側面です。.

この記事で提案するソリューションは、SSSDがローカルコンピューターに資格情報を保存するため、切断された状態で作業できるため、モバイルコンピューターとラップトップに最も推奨されます。

ネットワークの例

  • ドメインコントローラー、DNS、DHCP: ClearOS エンタープライズ 5.2sp1.
  • コントローラ名: CentOSの
  • ドメイン名: friends.cu
  • コントローラIP: 10.10.10.60
  • ---------------
  • Debianバージョン: Wheezy。
  • チーム名: デビアン7
  • IPアドレス: DHCPの使用

LDAPサーバーが機能していることを確認します

ファイルを変更します /etc/ldap/ldap.conf パッケージをインストールします LDAP ユーティリティ:

:〜#nano /etc/ldap/ldap.conf
[----] BASE dc =フレンズ、dc = cu URI ldap://centos.amigos.cu [----]
:〜#aptitude install ldap-utils:〜$ ldapsearch -x -b'dc = friends、dc = cu ''(objectclass = *) ':〜$ ldapsearch -x -b dc = friends、dc = cu'uid =ストライド」
:〜$ ldapsearch -x -b dc =フレンズ、dc = cu'uid =レゴラス 'cn gidNumber

最後のXNUMXつのコマンドで、ClearOSのOpenLDAPサーバーの可用性を確認します。 前のコマンドの出力をよく見てみましょう。

重要:OpenLDAPサーバーのIdentificationServiceが正しく機能することも確認しました。

network-swl-04-users

sssdパッケージをインストールします

パッケージをインストールすることもお勧めします 小切手をより飲みやすくするために ldapsearch:

:〜#aptitude install sssd finger

インストールが完了すると、サービス sssd ファイルがないために起動しない /etc/sssd/sssd.conf。 インストールの出力はこれを反映しています。 したがって、そのファイルを作成して、 次の最小コンテンツ:

:〜#nano /etc/sssd/sssd.conf
[sssd] config_file_version = 2 services = nss、pam#ドメインを構成しない場合、SSSDは開始されません。 #新しいドメイン構成を[domain / ]セクションをクリックし、#次にドメインのリストを(クエリする順序で)下の「domains」属性に追加し、コメントを解除します。 domain = amigos.cu [nss] filter_groups = root filter_users = root reconnection_retries = 3 [pam] reconnection_retries = 3#LDAPドメイン[domain / amigos.cu] id_provider = ldap
auth_provider = LDAP
chpass_provider = ldap#ldap_schemaは、グループメンバー名を#「memberuid」属性に格納する「rfc2307」、またはグループメンバーDNを#「member」属性に格納する「rfc2307bis」に設定できます。 この値がわからない場合は、LDAP管理者に問い合わせてください。 #ClearOSで動作ldap_schema = rfc2307
ldap_uri = ldap://centos.amigos.cu
ldap_search_base = dc = friends、dc = cu#列挙を有効にすると、パフォーマンスに中程度の影響があることに注意してください。 #したがって、列挙のデフォルト値はFALSEです。 #詳細については、sssd.confのmanページを参照してください。 enumerate = false#パスワードハッシュをローカルに保存することでオフラインログインを許可します(デフォルト:false)。 cache_credentials = true
ldap_tls_reqcert = 許可
ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt

ファイルが作成されたら、対応する権限を割り当てて、サービスを再起動します。

:〜#chmod 0600 /etc/sssd/sssd.conf
:〜#service sssd restart

前のファイルの内容を充実させたい場合は、実行することをお勧めします 男sssd.conf および/または投稿の冒頭のリンクから始めて、インターネット上の既存のドキュメントを参照してください。 また相談してください 男sssd-ldap。 その包み sssd の例が含まれています /usr/share/doc/sssd/examples/sssd-example.conf、Microsoft ActiveDirectoryに対する認証に使用できます。

これで、最も飲みやすいコマンドを使用できます y getent:

:〜$指の歩幅
ログイン:strides名前:Strides El Reyディレクトリ:/ home / stridesシェル:/ bin / bashログインしたことはありません。 メールはありません。 無策。

:〜$ sudo getent passwd legolas
レゴラス:*:1004:63000:レゴラスエルフ:/ホーム/レゴラス:/ビン/バッシュ

LDAPサーバーのユーザーとして認証することはできません。 ファイルを変更する前に /etc/pam.d/common-session、セッションの開始時にユーザーのフォルダーが存在しない場合は自動的に作成され、システムを再起動します。

[----]
セッションが必要ですpam_mkhomedir.soskel = / etc / skel / umask = 0022

###上記の行は前に含める必要があります
#これがパッケージごとのモジュール(「プライマリ」ブロック)です[----]

Wheezyを再起動します。

:〜#再起動

ログイン後、接続マネージャーを使用してネットワークを切断し、ログアウトしてから再度ログインします。 より速く何も。 ターミナルで実行 ifconfig そして彼らはそれを見るでしょう eth0 まったく構成されていません。

ネットワークをアクティブにします。 ログアウトして、再度ログインしてください。 もう一度確認してください ifconfig.

もちろん、オフラインで作業するには、OpenLDAPがオンラインのときに少なくともXNUMX回ログインして、資格情報がコンピューターに保存されるようにする必要があります。

OpenLDAPに登録されている外部ユーザーを必要なグループのメンバーにすることを忘れないでください。インストール中に作成されたユーザーに常に注意を払ってください。

注意:

オプションを宣言する ldap_tls_reqcert =決して、ファイル内 /etc/sssd/sssd.conf、ページに記載されているセキュリティリスクを構成します SSSD-FAQ。 デフォルト値は«ですデマンド«。 見る 男sssd-ldap。 ただし、この章では 8.2.5ドメインの構成 Fedoraのドキュメントから、次のことが述べられています。

SSSDは、暗号化されていないチャネルを介した認証をサポートしていません。 したがって、LDAPサーバーに対して認証する場合は、 TLS/SSL or LDAPS 必要とされている。

SSSD 暗号化されていないチャネルでの認証はサポートされていません。 したがって、LDAPサーバーに対して認証する場合は、次のことが必要になります。 TLS / SLL o LDAP.

私たちは個人的に考えています ソリューションが対処したこと セキュリティの観点から、エンタープライズLANには十分です。 WWWビレッジを通じて、を使用して暗号化されたチャネルを実装することをお勧めします TLS または«トランスポートセキュリティレイヤー»、クライアントコンピュータとサーバーの間。

自己署名証明書または«の正しい生成からこれを達成しようとします自己署名 「ClearOSサーバー上ですが、できませんでした。 実際、これは保留中の問題です。 読者がそれを行う方法を知っているなら、それを説明することを歓迎します!

debian7.amigos.cu


8コメント、あなたのコメントを残してください

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   エリオタイム3000

    優秀。

    1.    フェデリコ

      ElioTime3000にご挨拶、コメントありがとうございます!!!

    2.    フェデリコ

      eliotime3000にご挨拶し、記事を称賛していただきありがとうございます!!!

  2.   クライ

    優秀な! 出版物の著者の膨大な知識を共有してくれたこと、そしてブログの出版を許可してくれたことに、心からおめでとうございます。

    ありがとうございました!

    1.    フェデリコ

      褒め言葉とコメントありがとうございます!!! 私たち全員が学ぶコミュニティと知識を共有し続けるためにあなたが私に与えてくれる強さ。

  3.   フェノバルビタール

    良い記事です。証明書の使用に関しては、証明書を生成するときにLDAP構成(cn = config)に追加する必要があることに注意してください。

    olcLocalSSF:71
    olcTLSCACertificateFile:/ path / to / ca /​​ cert
    olcTLSCertificateFile:/ path / to / public / cert
    olcTLSCertificateKeyFile:/ path / to / private / key
    olcTLSVerifyClient:試してください
    olcTLSCipherSuite:+ RSA:+ AES-256-CBC:+ SHA1

    これ(および証明書の生成)により、SSLがサポートされます。

    ご挨拶!

    1.    フェデリコ

      ご協力ありがとうございます !!! ただし、OpenLDAPに関する7つの記事を次の場所に公開しています。
      http://humanos.uci.cu/2014/01/servicio-de-directorio-con-ldap-introduccion/
      https://blog.desdelinux.net/ldap-introduccion/
      それらの中で私はSSLの前にStartTLSの使用を強調します。これはopenldap.orgによって推奨されています。 @phenobarbitalにご挨拶、コメントありがとうございます。
      私のメールは federico@dch.ch.gob.cu、もっと交換したい場合に備えて。 インターネットへのアクセスは私にとって非常に遅いです。

    2.    フェノバルビタール

      TLSの場合、構成は同じです。SSLの場合、トランスポートは暗号化されたチャネルを介して透過的になりますが、TLSの場合、データのトランスポートについて双方向の暗号化がネゴシエートされます。 TLSを使用すると、ハンドシェイクは同じポート(389)でネゴシエートできますが、SSLを使用すると、ネゴシエーションは代替ポートで実行されます。
      以下を変更します。
      olcLocalSSF:128
      olcTLSVerifyClient:許可
      olcTLSCipherSuite:NORMAL
      (使用するセキュリティについて偏執的である場合:
      olcTLSCipherSuite: SECURE256:!AES-128-CBC:!ARCFOUR-128:!CAMELLIA-128-CBC:!3DES-CBC:!CAMELLIA-128-CBC)

      再起動すると、後で次のように表示されます。
      gnutls-cli-debug -p 636 ldap.ipm.org.gt

      'ldap.ipm.org.gt'を解決しています…
      SSL3.0サポートを確認しています…はい
      %COMPATが必要かどうかの確認…いいえ
      TLS1.0サポートの確認…はい
      TLS1.1サポートの確認…はい
      TLS1.1から…N / Aへのフォールバックを確認しています
      TLS1.2サポートの確認…はい
      安全な再交渉サポートを確認しています…はい
      安全な再ネゴシエーションサポート(SCSV)の確認…はい

      TLSのサポートも有効になっている場合、TLSには389(または636)を使用し、SSLには636(ldaps)を使用します。 それらは互いに完全に独立しており、もう一方を使用するために一方を無効にする必要はありません。

      ご挨拶!