記事が大きすぎることが判明したという事実を考慮して、さらにいくつかのニュアンスを追加したいので、いくつかの部分に分けて、追加部分を個別の部分として公開します。
パート1:システムの準備パート2:OTRSのインストールと設定パート3:パンを固定するジャムを修正する導入する代わりに
遅かれ早かれ十分に大きな組織は、チケットシステムまたはヘルプデスクを実装する必要に直面します。 そして、私たちの組織も例外ではありません。それに関連して、管理者はシステムの選択と実装を任されました。
率直に言って、選択について特に疑いはありませんでした;個人的な理由で、選択はOTRSに落ちました。 経営陣が非常に愛している膨大な数のレポートを備えた強力で柔軟な機能。 しかし、判明したように、それを導入することは完全に重要な作業です。 苦痛は2週間続き、大量の情報がシャベルにかけられ、さまざまなマニュアルが試されましたが、私は完全なオタクか2人のどちらかであるように見えました。すべてのマニュアルとレビューの山で、すべてが完全に機能し、完全に機能していると主張したためそれは設定可能ですが、私とは異なります。
実際、これらすべてのマニュアルの問題は、すべてがあなたのものと同じように見えることですが、どこかでパッケージのバージョンが少し異なっているか、ADの構造がほとんど同じであるなどです。石の花はほとんど加算されません。 一言で言えば、試行錯誤によって、ドキュメントの読み方とマニュアルの分析、私自身の非常に効果的な方法が開発されました。
ベースラインと要件
- 組織は2つのWin2008r2コントローラーでADを調達しました。もしそうなら、ADとの統合が必要です。
- 多くのサービス(メールやJabberなど)がLinuxにアップロードされており、OSとしてUbuntu Server 14.04が選択されています.OTRSはOpenSourceであるため、プロプライエタリOSに置くことは私の考えでは悪い考えなので、Ubuntuにインストールします。 ちなみに、次の記事で興味深いと思われる場合は、これらのサービスを高め、ADおよびOTRSと統合した私の経験についてお話します。 (OTRSとJabberの統合は一般的に非常にクールで便利なものです)
- スキャンユーティリティなどのためにマシン上でファイルを迅速に上げる機能。
- そして最後に、ADがあり、コンピューターの電源を入れたとき、ユーザーはまだパスワードを入力しており、システムはこの時点でシステムで作業しているユーザーを既に知っているので、パスワードとログインの余分なエントリーを彼に与え、パススルー認証を実装する必要があります。
既に述べたように、企業メールとJabberはネットワーク上で機能する標準的な要件のセットであり、追加の要件はOTRSをそれらと統合することでした。 しかし、この記事は巨大であることが判明したため、OTRSとそれらの統合について説明するときに、OTRSとそれらの統合について説明します。
実際、OTRSを配置することは難しくなく、一度にADと統合することもできます。スナッグ全体は正確にエンドツーエンド認証(SSO)でした。 このテーマに関する一連のマニュアルがネットワーク上で見つかりましたが、さまざまな理由で私にふさわしいものはありませんでした.1つのOTRSがWindowsにインストールされ、もう1つのOTRSの古いバージョンでは、3番目では未知の人といつによって書かれたアダプタモジュールが使用されました
一般に、エンドツーエンド認証を実装するには4つの方法があります。
- 1つ目はSSPIですが、WindowsでのOTRS用のモジュールであるため適合しません
- 2つ目は、自己記述型のADSSOモジュールであり、基本的にはドープされたLDAP認証モジュールであり、私の意見では松葉杖です。
- 3つ目は、OTRS用の自己記述NTLM認証モジュールで、これも松葉杖です。
- 最後の1つは、Kerberos認証を使用する企業の標準OTRS HTTPBasicAuthモジュールです。
これが私の意見の最後の(そして多くの人が私に同意するだろうと思う)最も正確で安全なものです。 したがって、ソースデータ:
- ネットワーク192.168.0.0/16
- ドメインDOMAIN.RU
- それらのドメインコントローラとDNSおよびNTP
- PDC-ad1.domain.ru(192.168.10.1)
- SDC-ad2.domain.ru(192.168.10.2)
- GATE 192.168.10.10
- すべてのドメインユーザーは、組織ユニットORGANIZATION内にあり、グループ内に分散しています。
- OTRSagentsグループが作成されました。これには、サービスプロバイダー、つまりアプリケーションを受け入れる人(OTRS用語では「エージェント」)が含まれます。
- クライアント、つまりアプリケーションを送信する人(OTRS用語では「顧客」)は、例外なくドメインのすべてのユーザーになります。
OTRS構成とは異なる構成も可能です。ユーザーとエージェントの他の場所用に構成する方法はご自身で理解できます。
OTRSサーバーは、ユーザーotrs.adminに代わってLDAPから情報を読み取ります。セットアップ期間中、ドメイン管理者の権利を与えます。構成後、それらを選択し、マシンにログインする権利さえも、LDAPから情報を読み取ることができる必要があります。
1.システムの準備
1.1このような設定でUbuntu Serverを配置します(これらは私の設定です。他にも設定があります)
- IP:192.168.10.14
- マスク:255.255.0.0
- ゲート:192.168.10.10
- DNS:192.168.10.1 192.168.10.2 8.8.8.8
- 名前:ヘルプデスク
- ユーザー:ヘルプデスク
- パス:ストロングパス
最後の段階で、インストールはいくつかのソフトウェアをプレインストールするかどうかを尋ねます。OpenSSHサーバーのインストールを選択します。
1.2。 SSHを介して新しいサーバーに固執する
ssh 192.168.10.14 -l helpdesk
キーを受け入れ、ヘルプデスクを使用してパスワードを入力することに同意します
ルートへの権利を上げる
sudo su
! 注意! suからさらにすべてのアクションを実行し、システムを再起動した後、root権限を再度上げることを忘れないでください。/ etc / hostnameおよび
/ etc / hostsファイル内の情報の関連性を確認
します。最初の文字は大文字のマシン名で、2番目の文字は
127.0.0.1 helpdesk.domain.ru helpdeskのようなエントリを持つ必要があり
ます何かが間違っている場合-正しい。 ここで、すべてのドメインコントローラーに対して、IP(完全名および省略名)でpingを試行します。 全員にpingを実行する必要があります。 そうでない場合は、ネットワーク設定を処理します。
1.3。 更新してmcを置く
apt-get update && apt-get -y upgrade && apt-get install -y mc
経験のない人は、コマンドを順番に実行できます
apt-get update apt-get -y upgrade apt-get install -y mc
2.マシンをドメインに入力し、ドメイン認証を構成します。 Samba、Kerberos、およびWinbindを構成します。
このテーマに関する優れた記事は、Ubuntuテクニカルサポートサイトにあります:
help.ubuntu.ru/wiki/%D0%B2%D0%B2%D0%BE%D0%B4_%D0%B2_%D0%B4%D0%BE%D0% BC%D0%B5%D0%BD_windows2.1。 Kerberosをインストールおよび構成します
必要なパッケージを配置します。
apt-get install krb5-user samba winbind libpam-krb5 libpam-winbind libnss-winbind ntp smbclient rlwrap
Kerberosが機能するためには、コンピューターのクロックが同期して実行され、時差が5分を超えないことが非常に重要です。
/etc/ntp.confファイルでドメインコントローラーとの時間同期
を構成します
名前が示すように、ファイルはシステムクロックを定期的に調整する
ntpデーモンの設定を担当します。 正確なタイム
サーバーは
serverディレクティブによって設定されるため、そこにある正確なタイムサーバーを示すすべての行をコメント化して、独自のものを入力する必要があります。
mcedit /etc/ntp.conf
サーバーで始まるすべての用語についてコメントします。
そしてあなたのものを入力してください:
server 192.168.10.1 server 192.168.10.2
2つのドメインコントローラーがあり、それぞれで正確なタイムサービスが発生します。 その後、ファイルを保存し、新しい設定でデーモンを再起動します。
service ntp restart
出力は次のようになります。
root@HELPDESK:/home/helpdesk
デーモンは新しい設定で起動し、クロックを同期します。 Kerberosは、
krb5.confファイルを編集して構成します。
mcedit /etc/krb5.conf
まず、ログを有効にします。これのために、ファイルの最初にセクションを追加します。
[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log
そして、Kerberosがどのドメイン(Kerberosの用語で-どの領域)で動作し、誰がこの領域を駆動するかを説明する必要があります。 これを行うには、セクションを編集します。
[libdefaults] default_realm = DOMAIN.RU
ここで、設定の機能を確認する必要があります。そのために、一部のユーザーのドメインでkerberosチケットを取得しようとします。
kinit username@DOMAIN.COM
その後、彼女はパスワードを要求し、チケットを取得しようとします。 すべてがうまくいった場合、チームは沈黙したままになります。つまり、出力は空になります。 このようなもの:
root@HELPDESK:/home/helpdesk
チケットを受け取ったかどうかを確認し、次を入力します。
klist
そして、次のようなものが表示されます。
root@HELPDESK:/home/helpdesk
ご覧のとおり、チケットは正常に受信され、すべて問題ありません。 したがって、構成は機能しています。 チケットをクラッシュさせます。今のところ必要ありません。
Kdestroy
出力も空であり、チケットが破棄されたことを意味します(コマンドはキャッシュ内のすべてのチケットを破棄することに注意してください)。
2.2それでは、SAMBAを構成してドメインに接続します。
これを行うには、/
etc / samba / smb.confファイルを編集します。
mcedit /etc/samba/smb.conf
ここで、[global]セクションを編集します。
[global]
次のコマンドで正しい構成を確認します。
testparm
出力は次のようになります。
Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[printers]" Processing section "[print$]" Loaded services file OK. Server role: ROLE_DOMAIN_MEMBER Press enter to see a dump of your service definitions
Enterを押すと、コンパイルされた
smb.confが表示され
ます (つまり、コメントはありません)。
「rlimit_max:rlimit_max(1024)をWindowsの最小制限(16384)に増やします
」というメッセージは、WindowsとUbuntuの制限プールの違いが原因で発生します。制限を修正するときに、少し後で
削除します。
ドメインを直接入力してみてください。 これを行うには、次のコマンドを実行します。
net ads join -U username -D DOMAIN
彼女は最初にユーザーのパスワードを要求し、すべてが正常であれば、出力は次のようになります。
Using short domain name -- RUS Joined 'HELPDESK' to dns domain 'domain.ru'
次のコマンドを使用して、ドメインへの正しい接続を確認できます。
net ads testjoin
彼女の結論は次のようになります。
Join is OK
ドメイン内の任意のマシンの共有リソースのインデックスを作成することにより、この段階で設定が正しいことを確認できます。 チケットを取得します:
kinit username@DOMAIN.COM
そして、ファイルサーバーなどのマシンのリソースを調べてみてください。
smbclient -k -L //File-server
-kスイッチは、kerberosを使用する必要があることを示します
。File-serverは、共有リソースを持つドメイン内のマシンの名前です。 コマンドの出力には、指定されたマシンの共有リソースのリストが表示されるはずです。はいの場合、すべては問題ありません。これまでのところ、すべてが正しく実行されています。 次に、次のコマンドでチケットを破棄します。
kdestroy
2.3 Winbindの構成
これを行うには、同じ
/etc/samba/smb.confを編集し、次の行を[global]セクションに追加します。
設定が正しいことを確認します。
testparm
そして、すべてが問題なければ、デーモンを(この順序で)再起動します。
service winbind stop service smbd restart service winbind start
サービスが正常に再起動した場合、出力は次のようになります。
root@HELPDESK:/home/helpdesk
あなたは同じですか? 次に進みます。 それでは、Sambaが誓う制限を修正します。 これらは/etc/security/limits.confファイルで修正されています。 ファイルの最後に2行追加する必要があります。
* - nofile 16384 root - nofile 16384
この操作の後、マシンを再起動する必要があります。
shutdown -r now
または
reboot
誰が好きですか。
再起動後、マシンがドメインとの信頼を確立しているかどうかを確認します。
wbinfo -t
出力は次のようになります。
checking the trust secret for domain DCN via RPC calls succeeded
すべてのコマンドがルートとして実行されることを思い出させてください。 リブート後にsuにアップグレードするのを忘れたため、最初はこの段階でギャグがありました。 すべてのシークレット(チケットなど)は、rootのみがアクセスできるsambaベース/var/lib/samba/private/*.tdbアクセスに保存されます。 したがって、リブート後に権限を増やすことを忘れないでください。スーパーユーザーからすべてのコマンドを実行します。 また、winbindがドメイン内のユーザーとグループを認識していることも確認します。
wbinfo -u
そして
wbinfo -g
2.4。 まあ、別のボーナス
マシンをドメインに入力しているため、ドメインアカウントでマシンにログインする機能を追加します。 これを行うには、
/ etc / nsswitch.confファイルに
winbindデータソースを追加します。 また、ローカルユーザーとしてドメインユーザーを操作する機会を提供します。これは、ドメインユーザーをオブジェクトの所有者として任命し、アクセス権を与えることを意味します。 これにより、Linuxマシンでボールを上げることが可能になります。 次の行を指定します。
passwd: compat group: compat
気にする
passwd: compat winbind group: compat winbind
また、ファイルの最後に行を追加することをお勧めします。
files: dns mdns4_minimal[NotFound=return] mdns4
このステージは、次のコマンドでユーザーとグループのリストを要求することで確認されます。
getent passwd
そして
getent group
出力では、ドメインユーザーとグループを探しており、見つかった場合はすべて問題ありません。 そして最後:ドメインユーザーにセッションを開く機会を与えます。以前のバージョンでは、ubuntuはパーカッション楽器を使った非自明なダンスが必要でしたが、PAM.Dは
/etc/pam.d/common-sessionファイルに次の行を
追加できます 。
session optional pam_mkhomedir.so skel=/etc/skel/ umask=0077
ここで
再起動し、ドメインアカウントでログインしてみてください。判明した場合は、前の手順はすべて正しく完了しています。
3. Kerberosキーを作成し、HTTPプリンシパルをドメインに追加します。
次の3つのステージでは、何が起きているのかがわかるまで2週間を費やしました。 よくあることですが、すべてが非常にシンプルで最初に起動したことが判明したため、大量の情報を分析し、それを単一のアクションシーケンスに削減する必要がありました。
この3つの段階で、
この記事は非常に役立ちました。
したがって、Kerberosプロトコル、これは、ディレクトリが私たちに言うように、第三者に対する信頼の原則に基づいたネットワーク認証プロトコルです。 これはどういう意味ですか? つまり、認証プロセスでは、デフォルトで相互作用参加者が信頼するサードパーティが表示されます。サーバー側にアクセスする前に、クライアントがKDCメッセージを送信し、セッションの各参加者にセッションのコピーを送信する方が簡単な場合、こちら側はキー配布センターと呼ばれますキーは短期間有効です。 これらのキーの目的は、クライアントとサーバーを認証することです。
暗号化に精通している人にとっては、Kerberosエンジン全体はPKIエンジンの完全なコピーよりも少し大きいと言えます。 実際、他の仕事のためだけに投獄されるのは彼です。 この場合、認証局の代わりにのみキー配布センター(KDC)があります。 通常、ドメインコントローラー上にあります。
新しい用語「プリンシパル」は、Kerberosの用語で、いわゆるネットワークインタラクションの参加者、つまりキーをKDCに頼る人たちです。
このステップは、2つの複雑で簡単な方法で完了できます。 何らかの理由で、ネットワーク上のすべてのマニュアルには、より複雑な方法、つまり
ktpassユーティリティ(信じられないほどの数のキーを持つ恐ろしい獣)を使用してドメインコントローラーにKerberosキーを作成し、それをLinuxマシンにコピーする方法が記載されています。 このパスの標準的な正確さは否定しませんが、よろしければ、コマンドは数行で取得されますが、それを使用するときにZenを理解できませんでした。
判明したように、もっと簡単な方法があります-Linuxマシンで直接キーを作成します。 ネットワークで彼について言及したのは1つだけで、たぶん見た目が悪いのですが、うまくいきました。
また、この段階で正確性を制御するには、ドメインコントローラーで何かをする必要があります。
まず、コントローラーにアクセスして、「ADユーザーとコンピューター」スナップインを開き、コンテナーをコンピューターで開き、Linuxマシンを探します。ドメインに含めた後、そこに表示されるはずです。 発見-約 続けましょう。
次に、ADSIエディターが必要です。コマンドラインを開き、次のように入力します。
adsiedit.msc
そして、インターを押します。 コンソールツリーがその構造にADコンソールをコピーしているのがわかります。 ここでマシンを見つけ、そのプロパティを開き、リストで
servicePrincipalName属性を探します。 これで、
HOST / hepldesk.domain.ruと
HOST / helpdeskのような2つのエントリがあるはずです。
どちらもHOSTでマシンの短縮名で始まり、別のマシンで完全になります。つまり、マシンはHOST、つまりドメイン内の通常のマシンになります。
次に、Linuxマシンに移動して、コマンドを実行します。
net ads keytab create
コマンドからの出力は空ですが、実行後、
専用のkeytabファイルディレクティブの
smb.confファイルで指定した内容に応じて、ファイル/etc/krb5.keytabを作成する必要があり
ます。 しかし、OTRS、これはWebアプリケーションであり、Linuxマシンはhttpサービスを提供するため、別のHTTP原則を追加する必要があります。 すぐに言ってやった:
net ads keytab add HTTP
ドメインのマシンのプロパティでプリンシパルのリストを見ると、そこにさらに2つ追加されていることが
わかります -「
HTTP / helpdesk.domain.ru 」と「
HTTP / helpdesk 」(小さなニュアンス:ADSIエディターウィンドウの情報は自動的に更新されません。したがって、マシンのプロパティを閉じ、F5を押して再度開きます)。
原則として、これはすでに追加が成功したことを意味します。 ただし、keytabにあるものを見てみましょう。
klist -ek /etc/krb5.keytab
確かに、新しく確立されたプリンシパルのKDCからKerberosチケットを取得できます。
kvno HTTP/web.domain.ru@DOMAIN.RU HTTP/web@DOMAIN.RU HTTP/web.domain.ru@DOMAIN.RU: kvno = 2 HTTP/web@DOMAIN.RU: kvno = 2
チームでチケットを確認します。
klist -e
結論は現在利用可能なチケットの完全なリストになります。その中にHTTPチケットがあります。もしあれば、すべては問題ありません。完璧主義者でなければ、次のステップに進むことができます。
残りの部分については、私は完璧主義者であり、すべてのキーを1つのファイルに保存するのは適切ではないと思います。HTTPに関するすべてを別のキーファイルにハイライトしましょう。これは
ktutilで実行できます。 高度な編集機能をサポートしていないため、
rlwrapを使用して起動できます。
rlwrap ktutil
keytabファイルの内容をダウンロードします。
ktutil: read_kt /etc/krb5.keytab
私たちが今持っているものを見てみましょう:
ktutil: list
HTTPで始まるすべてに興味があり、不要なものはすべて削除します。
ktutil: delent 1
次のようになります。
ktutil: list slot KVNO Principal ---- ---- --------------------------------------------------------------------- 1 2 HTTP/helpdesk.domain.ru@DOMAIN.RU 2 2 HTTP/helpdesk.domain.ru@DOMAIN.RU 3 2 HTTP/helpdesk.domain.ru@DOMAIN.RU 4 2 HTTP/helpdesk.domain.ru@DOMAIN.RU 5 2 HTTP/helpdesk.domain.ru@DOMAIN.RU 6 2 HTTP/HELPDESK@DOMAIN.RU 7 2 HTTP/HELPDESK@DOMAIN.RU 8 2 HTTP/HELPDESK@DOMAIN.RU 9 2 HTTP/HELPDESK@DOMAIN.RU 10 2 HTTP/HELPDESK@DOMAIN.RU
次に、残っているすべてを別のファイルに保存します。
ktutil: write_kt /etc/httpd.keytab
そして、ユーティリティを終了します。
quit
4. Apache2とモジュールを配置します。 (ランプ)+ Perl
Ubuntu 14
でのサービスのセットアップに関する優れたマニュアルは
こちら
。
私はあなたのためにどのようにしたらいいのかわかりませんが、私にとっては、Webサーバー、
LAMPの場合、特にMySQLとApacheが必要なため、スタック全体を一度に配置します。phpには便利な関数
phpinfo() 環境変数を監視します。
行きましょう。 Apacheを置きます
apt-get install mysql-server apache2 php5 libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql php5-cgi libapache2-mod-php5 php5-common php-pear
mysql-serverのインストール中に
、彼はmysqlスーパーユーザー(
root @ localhost )のパスワードを設定するように求めます。両方とも
rootであり 、異なるユーザーであるにもかかわらず、システムスーパーユーザーと混同しないようにお願いします。 誰も同じパスワードを指定することを禁止していませんが。 そのため、このパスワードを指定して覚えておいてください。それでも必要です。
すべてのパッケージが配信され
たら 、すぐにMySQLを少し構成する必要があります。そのために、
/ etc / mysql / my.cnfファイルを開きます。
mcedit /etc/mysql/my.cnf
ファイルには、受信パケットの最大サイズを示す2行があります。 行は
max_allowed_packetで
始まります。 デフォルトでは、このartibootは16メガバイトに設定されており、両方の行で20 MBに変更されます。
max_allowed_packet = 20M
また、
innodbログファイルのサイズを変更する必要があります。これは、MS SQLのトランザクションログに類似していると理解しているためです。 これを行うには、次の行を見つけます。
そして、次の内容の別の行を追加します。
innodb_log_file_size = 512M
あなたはもっとすることができますが、OTRSはまさにそのようなボリュームをお勧めします。 ちょっとしたニュアンス:古いログファイルがある限り、MySQLは新しいファイルを作成できず、それに応じてボリュームを増やすことができないので、
/ var / lib / mysqlフォルダーに移動し、どこにでも削除または移動します(移動する方が良いため、常に削除する時間がある)
ib_logfile0やib_logfile1などの名前 。
次に、MySQLを再起動します。
service mysql restart
古いログファイルの代わりに、増加したボリュームの新しいログファイルが作成されたことを確認し、すべてが正常であることを確認します。 その後、隣接するマシンでブラウザーを開き、
ヘルプデスクにアクセスして、Apache2スタートページを開きます。 開いた? これですべて問題ありません— Apacheがインストールされました。
今Perl。
apt-get install perl libapache2-mod-perl2 libdbd-mysql-perl libnet-dns-perl libnet-ldap-perl libio-socket-ssl-perl libpdf-api2-perl libsoap-lite-perl libgd-text-perl libgd-graph-perl libapache-dbi-perl libyaml-libyaml-perl
ApacheがPHPおよびPERLスクリプトをどう処理するかを説明しましょう。これを行うには、/ etc / apache2 / mods-enabled / mime.confファイルの220行目のAddHandler行のコメントを外して、フォームに追加します。
AddHandler cgi-script .cgi .pl
また、この種類の別の1つを追加します。
AddHandler php5-script .php
php5、perl、およびcgiモジュールを有効にして、Apacheを再起動します。
a2enmod php5 a2enmod perl a2enmod cgi service apache2 restart
次に、すべてが機能するかどうかを確認しましょう。 これを行うには、
/ var / www / htmlに 2つのディレクトリを作成します。
mkdir /var/www/html/php mkdir /var/www/html/perl
そして、それぞれにテストファイルを作成します。
touch /var/www/html/php/index.php touch /var/www/html/perl/index.cgi
次のように入力する最初のファイル(index.php):
cat /var/www/html/php/index.php <html> <body> <div style="width: 100%; font-size: 40px; font-weight: bold; text-align:center;"> <?php print Date("Y/m/d"); echo "<br>Path :".$_SERVER['PHP_SELF']; echo "<br>Remote User :".$_SERVER['REMOTE_USER']; echo "<br>Auth type :".$_SERVER['AUTH_TYPE']; echo "<br>Auth User :".$_SERVER['PHP_AUTH_USER']; ?> </div> <?php phpinfo(); ?> </body> </html>
2番目では、次のように記述します。
cat /var/www/html/perl/index.cgi
権利を設定します。
chmod 755 /var/www/html/php/index.php chmod 755 /var/www/html/perl/index.cgi
そしてもう1つのニュアンス:スクリプトが
/ var / www / html / perl /ディレクトリにあり、それらを実行できることをApacheに説明する必要があります。 これを行うには、
DocumentRoot行の後に
/etc/apache2/sites-available/000-default.confファイルに次のブロックを追加します。
<Directory "/var/www/html/perl">
AllowOverride All
Options +ExecCGI
Require all granted
そして、apachephp5を再起動します。
service apache2 restart
ここで、ブラウザで
helpdesk / perl / index.cg iおよび
helpdesk / php / index.phpアドレスを開こうとし
ます 。 開く必要があります。phpスクリプトに注意してください。ページの最上部に小さなブロックがあり、現在の日付といくつかの環境変数があります。このブロックは、Kerberos認証をデバッグするときに役立ちます。
また、短い名前ではページが開かない場合があり
ます 。コンピューターのフルネーム、つまり
helpdesk.domain.ru/php/index.phpと
helpdesk.domain.ru/perl/index.cgiを入力する必要があり
ます 。 これを修正する方法は検討しませんが、トピックに関係ないので、DNSとApacheの設定の方向を掘り下げる必要があるとだけ言います。
5. Apache2でKerberos認証を構成します。 認証パフォーマンスの確認。 透過認証を設定します。
このアイテムを使用すると、すべてがさらにシンプルになります。 モジュールを配置します。
apt-get install libapache2-mod-auth-kerb
オンにします:
a2enmod auth_kerb
Apacheを再起動します。
service apache2 restart
そして、phpスクリプトがあるフォルダーの承認を追加します(実際、phpスクリプトで環境変数の出力を備えたハリネズミがあるので、それをデバッグします)。これを行うには、/ etc / apache2 / sites-available / 000-default.confを再度開き、perlフォルダーのブロックの後にphpフォルダーに別のブロックを追加します。ApacheにKerberosキーでファイルを読み取る権限を与えます。<Directory /var/www/html/php>
AuthType Kerberos
AuthName "Kerberos Authntication"
KrbAuthRealms DOMAIN.RU
Krb5Keytab /etc/httpd.keytab
KrbMethodNegotiate Off
KrbSaveCredentials Off
KrbVerifyKDC Off
Require valid-user
chmod 644 /etc/httpd.keytab
Apacheを再起動します。 service apache2 restart
ここで、helpdesk / php / index.phpのブラウザーに移動します。すべてが正常であれば、承認要求が表示されます。ドメインユーザーの資格情報を入力すると、アクセスが許可されます。空で、ページの上部のRemote_user、Auth_type、Auth_userの行に対応する値が表示されている場合、すべてが素晴らしいです。Kerberos認証が機能します。残っているのは、この認証を透過的にすることです。つまり、ユーザーはユーザー名とパスワードを入力せず、ドメインのセッションから直接取得されます。これを行うには、まず/etc/apache2/sites-available/000-default.confファイルで次の行を修正します。KrbMethodNegotiate Off
に
KrbMethodNegotiate On
次に、ユーザーのブラウザーを構成します。IE
IEでは、リソースを追加する必要があり、ヘルプデスクやhelpdesk.domain.ruを、信頼に:
[セキュリティ]タブで、Windows統合認証を許可する必要があります。
その後、IEを再起動してスクリプトにログインします。ユーザー名とパスワードを要求するのではなく、すぐにユーザーを認証する必要があります。Firefox
Mozilla Firefoxのセットアップに移りましょう。ここでは、再起動することなくすべてが簡単になります。アドレスバーに「about:config」、フィルターバーに「network.neg」と入力します。図に示すように、2行でドメインを入力します。
もう一度、ブラウザでhelpdesk / php / index.phpを開きます。ユーザー名とパスワードを要求せずにすぐにページが開き、上のブロックに完全なユーザーログインが表示された場合、おめでとうございます、透過認証が設定されています。すべての作業で最大かつ最も困難な段階を完了しました。! 注意! ブラウザでのすべての操作は、ドメインアカウントでドメインにログインしているマシンから実行する必要があります!