パーミッション設定によるセキュアなアクセス制御

/ LPIC / Comment[2]
パーミッションとはファイルやディレクトリへアクセスするための権限のことです。
設定によってセキュリティが守られているわけです。
はWindowsには無い機能です。無いとは言い切れませんが。

権限には3種類あります。
r -読み
w -書き
x -実行


ls -lコマンドでパーミッションを表示します。
/をリストアップしました。
p@Phantom:/$ ls -l
合計 104
drwxr-xr-x 22 root root 4096 2010-02-07 13:43 .
drwxr-xr-x 22 root root 4096 2010-02-07 13:43 ..
drwxr-xr-x 2 root root 4096 2010-01-29 17:56 bin
drwxr-xr-x 3 root root 4096 2010-02-07 12:43 boot
lrwxrwxrwx 1 root root 11 2010-01-21 22:57 cdrom -> media/cdrom
drwxr-xr-x 18 root root 3940 2010-02-07 14:53 dev
drwxr-xr-x 148 root root 12288 2010-02-07 14:52 etc
drwxr-xr-x 3 root root 4096 2010-01-21 23:06 home
lrwxrwxrwx 1 root root 33 2010-02-07 12:43 initrd.img -> boot/initrd.img-2.6.31-19-generic
lrwxrwxrwx 1 root root 33 2010-01-30 16:26 initrd.img.old -> boot/initrd.img-2.6.31-17-generic
drwxr-xr-x 14 root root 12288 2010-01-29 17:56 lib
drwxr-xr-x 7 root root 4096 2010-01-25 11:57 lib32
lrwxrwxrwx 1 root root 4 2010-01-21 22:57 lib64 -> /lib
drwx------ 2 root root 16384 2010-01-21 22:57 lost+found
drwxr-xr-x 6 root root 4096 2010-02-07 14:52 media
drwxr-xr-x 2 root root 4096 2009-10-20 10:18 mnt
drwxr-xr-x 4 root root 4096 2010-01-22 21:45 opt
dr-xr-xr-x 175 root root 0 2010-02-07 13:41 proc
drwx------ 17 root root 4096 2010-02-07 13:33 root
drwxr-xr-x 2 root root 4096 2010-02-01 13:56 sbin
drwxr-xr-x 2 root root 4096 2009-10-20 09:48 selinux
drwxr-xr-x 3 root root 4096 2010-02-01 00:07 srv
drwxr-xr-x 13 root root 0 2010-02-07 13:41 sys
drwxrwxrwt 12 root root 4096 2010-02-07 15:58 tmp
drwxr-xr-x 11 root root 4096 2010-01-21 23:15 usr
drwxr-xr-x 16 root root 4096 2010-01-28 00:37 var
lrwxrwxrwx 1 root root 30 2010-02-07 12:43 vmlinuz -> boot/vmlinuz-2.6.31-19-generic
lrwxrwxrwx 1 root root 30 2010-01-30 16:26 vmlinuz.old -> boot/vmlinuz-2.6.31-17-generic
p@Phantom:/$


drwxr-xr-xこのような表示がパーミッション(アクセス権)です。

- --- --- ---
左から、オブジェクトのタイプユーザグループその他のユーザ
という感じになっています。

drwxr-xr-x 3 root root 4096 2010-02-07 12:43 boot

↑の「boot」を例に見ると以下のことが分かります。
d ディレクトリである
rwx root:読み書き実行を許可
r-x グループ:読み、実行のみを許可。書き換えは不可能
r-x その他のユーザ:読み、実行のみを許可。書き換えは不可能


また、パーミッションは数字で表すことが出来ます。
r=4
w=2
x=1


よって、
drw-r-xr-x = 655
と表せます。

dはディレクトリ、ファイル、リンクなどを判断するものであり、パーミッションとは関係ありません。


パーミッションが甘いディレクトリやファイルを検索

HORNETさんのような人に侵入された場合、被害を最小限に止めるためにパーミッション設定を点検しましょう。
情報セキュリティの基礎ですが、脅威が発生することを想定した上で対策するのが重要です。
必ず脅威が発生する確率が常にあります。
対策も重要ですが、それよりも発生した場合どう食い止めるかを考えましょう。

# find / -perm 666 -type d | less
このコマンドは/内で666つまりすべてのユーザが読み書き実行が自由に行えるディレクトリを検索するものです。
-type fに書き換えればファイルを検索することが出来ます。


アクセス権を変更

# chmod a-r file.txt
file.txtをrootを除く全てのユーザで読み取りを許可しないようにするというコマンドです。

例2# chmod 777 file.txt
file.txtをすべてのユーザで読み書き実行を許可する

例3# chmod 700 file.txt
file.txtを自分だけ読み書き実行を許可し、グループとその他ユーザにはアクセスを一切許可しない

例4# chmod 750 file.txt
file.txtを自分は読み書き実行を許可、グループでは読みと実行のみ。その他ユーザはアクセスを一切許可しない

パーミッションを最適に設定すれば不正アクセスが起こっても改竄などの被害が最小限に止まります。

rootを取られてしまっては無意味ですが。root権限を取られないようにまた別の対策をしておく必要がありますね。

Windowsをメインに使っているユーザの方には少し理解しにくいかと思いますがLinuxでは非常に重要な設定です。
関連記事

コメント

お役に立てて光栄です
ブラッディマンディ考察はもちろんやりますよ(・ω・)

| URL | Phantom#Zshd.bVo

No title

いつも勉強になりますねv-218^^
ブラッディマンデイ2の考察等はやるつもりでしょうか?

| URL | 数学の問題集#-

:
:
:
:
:
管理人のみ表示を許可