« 手動でクロスのdebianをインストールする方法のメモ | メイン | Etymotic ResearchのHF2を買ってみた »

JailKitで特定ユーザにchrootな限定コマンドの安全な環境を作るメモ

Linuxで特定のコマンド以外実行できないようなユーザのためのchroot環境を作るメモです。

外部ユーザ等に対してサービスを提供する際にLinux等でログインを許すことはセキュリティ的にかなりなリスクを冒すことになります。実行できるコマンドによってはLAN内にも侵入でき、例え悪意が無くとも不用意に思いがけないファイルへのアクセスを許したりしてしまいます。

最近では仮想化で簡単に比較的安全な箱庭が作れますが、根本的にサーバを丸ごと使うことになるので制限としてはもうひとつですし、なによりリソースを食い管理の手間も単純に倍になることになります。

伝統的なchroot環境は以降のファイルアクセスを特定ディレクトリ以下に制限してしまうことで、コマンドやユーザのアクセス出来る範囲を制限するもので、これである程度ユーザのコマンドやアクセス出来る範囲を制限できます。

この方法だと動作も軽く、容量も食わず、sftpやsvnのみ実行可能なんていうかなりいい感じの環境を構築できる訳です。もちろんchrootも破れたりしますので100%安全というわけでもありませんが、少なくとも比較的ライトなサービス提供のためにユーザにシステム全体へのアクセスを許さないようには簡単にできます。

が、chroot環境っていうのがまず面倒。親環境のアップデートへの対応も面倒。コマンドの制限はそもそも入れないということで対処できるもののさらに細かい制御は不可能。

というお悩みを一気に解決してくれたのがこのJailKitです。

そんなに新しいソフトではないのですが、便利な割に日本で紹介がないみたいですね。

使い方は簡単でドキュメントをチラ見するだけでOKな感じで解説するまでもないのですが。。。

  1. 基本
    Jail(上のような制限された環境)を作成。特定ユーザがログインするとそこにchrootして閉じ込めてしまう。

  2. 準備
    fedoraなどで/sbin, /usr/sbinにパスが通っていないとエラーになるので通す
    export PATH=/sbin:/usr/sbin:$PATH

  3. jailの作成(sftp/scp/svnだけの環境を作る例)
    1. グループなどからの書き込み権限のない安全な親ディレクトリを用意する
      sudo mkdir /jail
      sudo chown root.root /jail
      sudo chmod 755 /jail
    2. jailを作成
      jk_init -v -j /jail/hoge sftp scp svn jk_lsh
    3. 権限関係のエラーが出る場合 -- 適当になおす
    4. ld.so.confが無いとか言われる場合/etc/ld.so.confを<jail>/etc/にコピー

  4. 特定ユーザをjailに閉じ込める
    1. ユーザが既に存在していないと行けないので必要なら追加
      sudo adduser testuser
    2. その人をjailに入れる
      sudo sudo jk_jailuser -m -j /home/hoge testuser

  5. ユーザにコマンドの実行権限を与えてあげる
    /home/hoge/etc/jailkit/jk_lsh.iniファイルを開いて以下のような感じでコマンドの設定を追加する

    [testuser]
    paths= /usr/bin, /usr/lib/
    executables= /usr/bin/scp, /usr/lib/sftp-server

  6. ログインしてみる
    1. 普通にログイン。直ぐに蹴られる -- OK
    2. sftpで入る -- OK
    3. svnしてみるetc

以上でsftp/scp/svnだけできるユーザのできあがり。svnの場合は管理作業は通常のユーザでchroot外で行えば楽。

トラックバック

このエントリーのトラックバックURL:
http://blog.browncat.org/cgi-bin/mt/mt-tb-abc.cgi/825


コメントを投稿

(お書きになったコメントはすぐには表示されません。ご了承ください。)


About

2009年03月30日 01:40に投稿されたエントリーのページです。

ひとつ前の投稿は「手動でクロスのdebianをインストールする方法のメモ」です。

次の投稿は「Etymotic ResearchのHF2を買ってみた」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

           

カテゴリー

Powered by
Movable Type 3.36

Twitter


最近のエントリー

デル株式会社ads

注目エントリー