findコマンドには、inode 番号を指定するオプション '-inum' がある。
find /root/ -inum 261232 /root/.bash_history
このオプションは、今日「SELINUXシステム管理」という本を読んで知った(アクセス拒否の際 audit.log に対象のファイルのinode番号が出力されるので、inode番号からファイルを検索できると便利だよ、との文脈で)。
findコマンドには、inode 番号を指定するオプション '-inum' がある。
find /root/ -inum 261232 /root/.bash_history
このオプションは、今日「SELINUXシステム管理」という本を読んで知った(アクセス拒否の際 audit.log に対象のファイルのinode番号が出力されるので、inode番号からファイルを検索できると便利だよ、との文脈で)。
先月(2012年1月)、"SEAndroid"というのがリリースされたらしい。SELinuxの機能をAndroidでも使えるようにしようという話なので、開発はNSA関係の人が中心に行っている模様。WikiサイトからダウンロードできるPDFに、いろいろと例が載っていた。
このニュースで初めて知ったけれど、Kernel の LSM(Linux Security Module)でAndroidをセキュアOS化する試みはすでにスマートフォンメーカーによって行われているらしい。たとえばSHAPR製のIS01に導入された "Deckard LSM" が一つの例(IS01は、root化に対して確かにセキュアだけど、LSM自体を無効にする方法が発見されてしまったらしい。。。)
今後SEAndroidが普及したら、SELinuxとおなじ効果が享受できるだろうか。ポリシーがきちんと書けていれば侵入攻撃を防御できるので、IDS的な機能を入れなくて済む、セキュリティホールにパッチやアップデートを急いで適用しなくて済む、など(ただしLSM無効化は無しの前提で)。
システムの性能が思ったより出ないときなどに、原因の切り分けに使えるツール。
# ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 1000Mb/s (略)
# ethtool -s eth1 speed 100 duplex full autoneg off
ethtoolで調べてみると、LinuxホストのNICが 1Gbps まで対応しているのに、古いスイッチングハプを使っているせいで Speed: 100Mbps で通信している、なんてことがごくまれだけどある。
ちなみにWindowsの場合はコマンドプロンプト(cmd)で調べたり設定したりするのはかえって手間がかかるみたい。素直にNICを右クリックしてプロパティを開いてください、と。
たとえば Ruby や Python で "4444" という文字列を出力したいときは、'*'演算子を使って次のように書く。
$ ruby -e 'p "4" * 4' "4444"
$ python -c 'print "4" * 4' 4444
一方、Perlの場合は'x'演算子(アルファベットのx)を使う。
$ perl -e 'print "4" x 4, "\n"' 4444
さらに、リストコンテキストで使った場合はリスト内の要素を複製できる。
perl -e '@a = (1, 2) x 4; print join (":", @a), "\n"' 1:2:1:2:1:2:1:2
ちなみに、この演算子は"perldoc perlop"によると"repetition operator"と呼ばれている。
"sesearch" は、SELinuxが動いている環境でポリシー設定を調査するときに使うコマンド。CentOS-6.0の場合は "setools-console" というパッケージに入っている。
コマンドの使用例が "man sesearch" しても出てこないので、ちょっと探してみた。
# sesearch --role_allow -t httpd_sys_content_t /etc/selinux/targeted/policy/policy.24
# sesearch --role_allow --role_source unconfined_r Found 1 role allow rules: allow unconfined_r system_r; # sesearch --role_allow --role_target sysadm_r Found 2 role allow rules: allow system_r sysadm_r; allow staff_r sysadm_r;
# sesearch --allow | wc -l
# sesearch --dontaudit | wc -l
# sesearch -t shadow_t -c file -p write -A
# sesearch -t file_type -c file -p write -A -d
# sesearch -b global_ssp -A -C -d
# sesearch -A -C -s httpd_t -t httpd_sys_content_t