第10回 ACL設定のステップバイステップ
面 和毅サイオステクノロジー株式会社
インフラストラクチャービジネスユニット
Linuxテクノロジー部
OSSテクノロジーグループ
シニアマネージャ
2006/9/8
vsftpdの動作テストをする
ほかのftpクライアントから接続してみましょう。
lids@host1:~$ ftp 192.168.230.128 Connected to 192.168.230.128. 220 (vsFTPd 2.0.3) Name (192.168.230.128:lids): lids 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> get test1 local: test1 remote: test1 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for test1 (0 bytes). 226 File send OK. ftp> put test2 local: test2 remote: test2 200 PORT command successful. Consider using PASV. 553 Could not create file. ftp> by 221 Goodbye. |
ローカルユーザー(lids)でログインできています。また、ファイル(test1)をLIDSマシンからgetすることはできていますが、LIDSマシンにファイル(test2)をputしようとすると、ファイルが作成できないというエラーになっています。
LIDSマシンのログを見ると、次のようにLIDSのACL違反のエラーが出力されています。
Aug 3 16:04:04 localhost kernel: LIDS: vsftpd (dev 3:1 inode 241147) pid 786 ppid 784 uid/gid (1000/1000) on (null tty) : Attempt to open test2 for appending, flag = 36418 |
これは、vsftpdが/home以下にWRITE権限を持っていないためです。すべてのプログラムが書き込めるようにWRITE権限を与えてある/tmpディレクトリなどには問題なく書き込めます。
これを利用して、/var/www以下にvsftpdが書き込めるように、
# lidsconf -A POSTBOOT -s /usr/sbin/vsftpd -o /var/www -j WRITE |
としておけば、ftp経由のコンテンツのアップロード/置き換えは許可するが、そのほかからは改変を許さないといったWebサーバを構築できます(もちろん、LIDS以前のLinuxでのrwx、user/groupによるアクセス権で許可されている場合ですが)。
サンプルのVMwareイメージでは、lidsユーザーがwww-dataグループに所属しているので、上記のACLを追加するだけで実現が可能です。ftpクライアントでputしたログと、そのファイルの中身をWebを通して見た画面は次のようになります。
lids@host1:~$ ftp 192.168.230.128 Connected to 192.168.230.128. 220 (vsFTPd 2.0.3) Name (192.168.230.128:lids): lids 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> cd /var/www 250 Directory successfully changed. ftp> mput test2 mput test2? y 200 PORT command successful. Consider using PASV. 150 Ok to send data. 226 File receive OK. 15 bytes sent in 0.00 secs (244.1 kB/s) ftp> by 221 Goodbye. |
今回のすべてのACLが設定されたスクリプトは以下のようになります。
#!/bin/sh #Sandboxing /sbin/lidsconf -A -s /usr/sbin/vsftpd -o LIDS_SANDBOX -j ENABLE #Hide vsftpd.conf file except vsftpd itself /sbin/lidsconf -A -o /etc/vsftpd.conf -j DENY /sbin/lidsconf -A BOOT -s /usr/sbin/vsftpd -o /etc/vsftpd.conf -j READONLY #need to READONLY whole linked libraries /sbin/lidsconf -A BOOT -s /usr/sbin/vsftpd -o /lib/libwrap.so.0 -j READONLY /sbin/lidsconf -A BOOT -s /usr/sbin/vsftpd -o /lib/libnsl.so.1 -j READONLY /sbin/lidsconf -A BOOT -s /usr/sbin/vsftpd -o /lib/libpam.so.0 -j READONLY /sbin/lidsconf -A BOOT -s /usr/sbin/vsftpd -o /lib/libdl.so.2 -j READONLY /sbin/lidsconf -A BOOT -s /usr/sbin/vsftpd -o /lib/libresolv.so.2 -j READONLY /sbin/lidsconf -A BOOT -s /usr/sbin/vsftpd -o /lib/libutil.so.1 -j READONLY /sbin/lidsconf -A BOOT -s /usr/sbin/vsftpd -o /lib/libcap.so.1 -j READONLY /sbin/lidsconf -A BOOT -s /usr/sbin/vsftpd -o /usr/lib/i686/cmov/libssl.so.0.9.7 -j READONLY /sbin/lidsconf -A BOOT -s /usr/sbin/vsftpd -o /usr/lib/i686/cmov/libcrypto.so.0.9.7 -j READONLY /sbin/lidsconf -A BOOT -s /usr/sbin/vsftpd -o /lib/libc.so.6 -j READONLY /sbin/lidsconf -A BOOT -s /usr/sbin/vsftpd -o /lib/ld-linux.so.2 -j READONLY #for BIND ftp port /sbin/lidsconf -A BOOT -s /usr/sbin/vsftpd -o CAP_NET_BIND_SERVICE 21 -j GRANT /sbin/lidsconf -A POSTBOOT -s /usr/sbin/vsftpd -o CAP_NET_BIND_SERVICE 20,21 -j GRANT #for logging /sbin/lidsconf -A -s /usr/sbin/vsftpd -o /var/log/vsftpd.log -j APPEND #for changing UID/GID when it run from service /sbin/lidsconf -A POSTBOOT -s /usr/sbin/vsftpd -o CAP_SETUID -j GRANT /sbin/lidsconf -A POSTBOOT -s /usr/sbin/vsftpd -o CAP_SETGID -j GRANT #for anonymous ftp /sbin/lidsconf -A POSTBOOT -s /usr/sbin/vsftpd -o CAP_SYS_CHROOT -j GRANT #for run vsftpd as bootup service /sbin/lidsconf -A BOOT -s /sbin/start-stop-daemon -o /var/run -j WRITE /sbin/lidsconf -A SHUTDOWN -s /sbin/start-stop-daemon -o /var/run -j WRITE # for Web server maintainance /sbin/lidsconf -A POSTBOOT -s /usr/sbin/vsftpd -o /var/www -j WRITE |
次回は、LIDS-1系列で説明していなかったもう1つの機能「NETMARK」の説明と実際の応用例をお見せします。
3/3
|
Index | |
ACL設定のステップバイステップ | |
Page1 VMwareイメージのアップデート vsftpdを使ってのACLを設定してみる |
|
Page2 権限の継承 権限の継承の問題点 |
|
Page3 vsftpdの動作テストをする |
Profile |
面 和毅(おも かずき) サイオステクノロジー株式会社 インフラストラクチャービジネスユニット Linuxテクノロジー部 OSSテクノロジーグループ シニアマネージャ 学生時代よりUNIXに親しむ。1997年からサーバ構築およびセキュリティ全般を扱う仕事に従事、Linuxを使い始める。 現在はLIDSの普及活動に注力。LIDSユーザ会(LIDS-JP)の立ち上げやLIDS関連文書の日本語化、LIDSを用いたシステム構築の紹介などを行っている。また、サイオステクノロジーでビジネス面でのLIDSの普及活動に注力している。 2005年12月より、LIDS Teamに参加し、LIDSの公式な開発チームの一員として活動している。 |
Security&Trust記事一覧 |
Security&Trust フォーラム 新着記事
- Windows起動前後にデバイスを守る工夫、ルートキットを防ぐ (2017/7/24)
Windows 10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。 - WannaCryがホンダやマクドにも。中学3年生が作ったランサムウェアの正体も話題に (2017/7/11)
2017年6月のセキュリティクラスタでは、「WannaCry」の残り火にやられたホンダや亜種に感染したマクドナルドに注目が集まった他、ランサムウェアを作成して配布した中学3年生、ランサムウェアに降伏してしまった韓国のホスティング企業など、5月に引き続きランサムウェアの話題が席巻していました。 - Recruit-CSIRTがマルウェアの「培養」用に内製した動的解析環境、その目的と工夫とは (2017/7/10)
代表的なマルウェア解析方法を紹介し、自社のみに影響があるマルウェアを「培養」するために構築した動的解析環境について解説する - 侵入されることを前提に考える――内部対策はログ管理から (2017/7/5)
人員リソースや予算の限られた中堅・中小企業にとって、大企業で導入されがちな、過剰に高機能で管理負荷の高いセキュリティ対策を施すのは現実的ではない。本連載では、中堅・中小企業が目指すべきセキュリティ対策の“現実解“を、特に標的型攻撃(APT:Advanced Persistent Threat)対策の観点から考える。
|
|