Apache GuacamoleでAD認証(LDAP連携)の設定を行う
Pocket

sshやRDP、VNCの踏み台サーバとして利用できるApache Guacamoleでは、LDAP連携を行うことで、Active Directoryユーザでのログインが行える。
設定は簡単で、公式で配布されているjarファイルを所定の位置に配置してやり、かつLDAP連携の設定を設定ファイルに追記するだけだ。公式でも手順が公開されている(…今回は既存のADとの連携だったからかそのままは利用できなかったけど)ので、参照すると良いだろう。

まず、以下のコマンドでjarファイルのダウンロード・配置を行う。
(以下の例では、Guacamoleのバージョンが0.9.10となっているので、自身の環境に合わせてファイルをダウンロードすること。また、ファイルの配布先についても環境に応じて変更すること。)

wget http://archive.apache.org/dist/incubator/guacamole/0.9.10-incubating/binary/guacamole-auth-ldap-0.9.10-incubating.tar.gz
tar xzvf guacamole-auth-ldap-0.9.10-incubating.tar.gz
cp guacamole-auth-ldap-0.9.10-incubating/guacamole-auth-ldap-0.9.10-incubating.jar /var/lib/guacamole/extensions
Sponsored Links

jarファイルの配置が終わったら、guacamoleの設定ファイルを編集してやる。
以下、設定例。

●/etc/guacamole/guacamole.properties

# Hostname and port of guacamole proxy
guacd-hostname: localhost
guacd-port:     4822

# MySQL properties
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole
mysql-username: guacamole
mysql-password: P@ssw0rd
mysql-default-max-connections-per-user: 0
mysql-default-max-group-connections-per-user: 0

# Auth provider class
lib-directory: /var/lib/guacamole/extensions/
auth-provider: net.sourceforge.guacamole.net.auth.ldap.LDAPAuthenticationProvider

# LDAP properties
ldap-hostname:           ad.blacknon.local
ldap-port:               389
ldap-user-base-dn:       OU=XXXXX,DC=blacknon,DC=local
ldap-config-base-dn:     OU=XXXXX,DC=blacknon,DC=local
ldap-search-bind-dn:     CN=LDAP User,OU=XXXXX,DC=blacknon,DC=local
ldap-search-bind-password: XXXXXXXXXX
ldap-username-attribute: sAMAccountName

 

設定ファイル編集後は、Tomcat・guacdのプロセスを再起動してやれば設定が反映するはずだ。
ちなみに、各ADユーザの権限はローカルの同名のユーザと同じものが適用される。LDAPだけのユーザだと設定が面倒みたいなので、とりあえずパスワードをすごい複雑にした同名のローカルユーザを作っておいて、そこに権限を振るのが楽かも。

 

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。