Hatena::Groupbook

すまいりブックレビュー

「Smily Books Blog」(2014年からはこちら)

2003-05-12

[][]ピープルウェア(第二部 オフィス環境と生産性) 22:51

トム・デマルコ/ティモシー・リスター(日経BP社)

1.プログラムは夜できる(のはゆゆしき問題)

(1)深夜残業、朝早い出社、自宅で仕事、いずれもオフィス環境の悪さに起因する場合が多い。

(2)オフィス環境、企業の雰囲気、あるいは企業文化に魅力がないと、優秀なプログラマーも去っていく。

(3)プログラマーが通常就業時間内に仕事に打ち込めないのは、オフィスの環境改善を図らない管理者の責任。

2.頭脳労働時間対肉体労働時間

(1)時間のたつのを忘れ、作業が自然にスムーズに流れる状態(=フロー状態)が長いと仕事は効率化されるが、

フロー状態になるには通常15分以上の精神集中が必要。その間にTEL等で邪魔されるとそこからまた15分以上かかる。

(2)プログラマには論理的思考を司る左脳が重要。

ただし、ヒラメキが起こる余地を残しておくには、右脳を利用する。

音楽は右脳が処理するので、聴きながら作業を行うとクリエイティブな仕事には効率が悪い。

3.オフィス環境進化論

(1)通常の開放型オフィスは管理者が容易にコントロールし、縄張りを取り仕切る所を誇示するには適している。

しかし、これは部下にとっては仕事は集中しにくい。

各個人にとって、十分なスペース、静かさ、プライバシーが確保された環境が望ましい。

(2)ビル建築のマスタープランは同形同一規格という考え方。

(サンフランシスコのトランスアメリカンビル(アパートの鍵貸します))

メタプランでは、各部門の要望を取り入れ、建物全体の機能はそれぞれ少しずつ進化するという考え方。

メタプランにより、各部門の有機的秩序が形成される。

(3)背後の壁により自分以外の発生音(=騒音)を遮断し、前方2.4m以内は壁を設けない

(視覚的圧迫感からの解放)。また、各人がまちまちの方向を向いて同じ動きをした仕事を行うオフィス環境が望ましい。

(4)オフィスビルの中に入るに従い、プライバシー深度が高まるのが良い。

入り口は全従業員にとって暖炉のように安心して集まることのできる共通の場とし、

チームミーティングエリアでは会食可能とし、個人用エリアでは各人が静かに仕事に没頭できる環境が望ましい。

[][]Miracle Linux Webminの設定 22:51

自席すぐ近くにMiracle Linux導入サーバはあるのだが、やはり自席でそのまま作業できた方が便利。そこでWebminを設定することに。

1.サーバ機上でWebminを起動し、「 Webmin の設定 ( Configuration ) 」-「 IP アクセス制限 」を選択

2.「登録したアドレスあらのアクセスのみ可能」をチェックし、

右側のテキストエリアに「 127.0.0.1 」とリモートアクセスしたいクライアントIPアドレスを記入し保存

3.クライアントPC から「 https://(サーバ固定ローカルIPアドレス):10000/ 」にアクセス

4.Webminのログイン画面が表示されるので、サーバに登録済みのアカウント、パスワードでログイン


That's all.It's easy!

※参考Webmin について - Linux で自宅サーバ [ Home Server Technical.

[][][]Linuxセキュリティ対策(日経Linux 2003.3~5) 22:51

0.不要サービスの停止(アプリケーションレベルのサービス停止)

(1)デーモン単体で起動する不要サービスの停止

①runlevelコマンドを実行し、システムの現時点でのランレベルを調べる

(N 5と表示された場合、1つ前のランレベルはなし、現在のレンレベルは5)

②/etc/rc.d/rc5.dディレクトリ内のSで始まるファイルを.Sに変更

(sendmail停止の場合、S80sendmailを.S80sendmailに変更)

(2)スーパーデーモン経由の不要サービスの停止

①/etc/xinetd.dディレクトリ内の不要サービスファイルの内容を以下のように変更

disable=yes

②以下の通り/etc/xinetd.d/telnetファイルの

only_fromにtelnet接続を許可するホストのみ列挙する

③以下の通りrcスクリプトを手動で実行し、xinetdを再起動

/etc/rc.d/init.d/xinetd restart

(3)chkconfig等を利用する(Red Hat Linux8.0の場合)

(4)netstatコマンドでサービスが停止しているかどうか確認する

(5)nmapでも確認する

nmap -p 1-65535 ホストIPアドレス

(6)トランスポートレベルの制御はipchans、iptablesで行う

1.パケットフィルタリング

「Guarddog」(http://www.simonzone.com/software/guarddog/)で設定する。

(/etc/rc.firewallをスクリプトファイルとして作成し、実行制御する。)

2.FTPとTelnetのSSH化

OpenSSHを利用する。

/etc/ssh/sshd_configの「PermitRootLogin」をnoとして、rootでもログイン不可とする。

3.suによるroot権限奪取の制限

(1)/etc/groupファイルに以下の通り利用可能なユーザのみ追加する

wheel:x:10:root,[username]

(2)/etc/pam.d/suを以下の通り修正

auth required /lib/security/pam_wheel.so use_uid group=wheel

4./etc、/var/log配下のファイルのアクセス権限の制限

(1)root以外のユーザ書込み不可

①chown root [filename]

②chgrp root [filename]

③chmod g-w [filename]

③chmod o-w [filename]

(2)SetUIDビット解除

①SetUIDコマンド/アプリケーション確認

find / -perm -4000 -ls

②SetUIDビット解除(例.passwdコマンド)

chmod -s /usr/bin/passwd

5.不正行為を検知したらサーバ自動停止させる

(1)swatchをインストールする

①以下のファイルを入手する

Time-HiRes-1.42.tar.gz(http://www.cpan.org/)

File-Tail-0.98.tar.gz(http://www.cpan.org/)

Date-Calc-4.3.tar.gz(http://www.engelschall.com/~sb/)

TimeDate-1.14.tar.gz(http://www.cpan.org/)

swatch-3.0.4.tar.gz(http://www.oit.ucsb.edu/~eta/swatch/)

②以下の手順でインストールする

tar zxvf (ソース・アーカイブ)

cd (ソース・アーカイブを展開してできたディレクトリ)

perl Makefile.PL

make

su

make test

make install

(2)swatch設定ファイルを作成する(指定文字列はLinux毎に異なるため要確認)

①/etc/swatchrcディレクトリを作成

②/etc/swatchrc配下に.swatchrc_messageを以下の内容で作成し、

/var/log/messageを監視する(panic、halt発行時のみサーバ自動停止する)

watchfor /authentication failure/

mail=hoge@hoge.co.jp

watchfor /reject|Rejected|not connected/

mail=hoge@hoge.co.jp

watchfor /Linux version/

mail=hoge@hoge.co.jp

watchfor /(panic|halt)/

exec "/sbin/shutdown -h now"

③/etc/swatchrc配下に.swatchrc_secureを以下の内容で作成し、

/ver/log/secureを監視する(認証に5回失敗した場合ネットワークを切断する)

watchfor /SSH_Version_Mapper/

mail=hoge@hoge.co.jp

watchfor /Failed passwd/

mail=hoge@hoge.co.jp

watchfor /last message repeated 5 times/

exec "/etc/rc.d/init.d/network stop"

(3)/etc/rc.localに以下の実行コマンドを追記し、

swatchをシステム起動時に自動起動とする

swatch -c /etc/swatchrc/.swatchrc_secure -t /var/log/secure

swatch -c /etc/swatchrc/.swatchrc_message -t /var/log/message

(4)snortをインストールする

①以下のファイルを入手する

snort-1.9.0.tar.gz(http://www.snort.org/)

libpcap-0.7.1.tar.gz(http://www.tcpdump.org/)

②以下の手順でインストールする

tar zxvf (ソース・アーカイブ)

cd (ソース・アーカイブを展開してできたディレクトリ)

/.configure

make

su

make install

(5)snort設定ファイルを作成する

①検査結果ログ保存用として/var/log/snortディレクトリを作成

②設定、ルールファイル保管用として/etc/snortディレクトリを作成

③最新のルールファイルをダウンロードし、更新(http://www.snort.org/dl/rules)

④設定、ルールファイルを以下の通りコピーする

cp -ra ./rules /etc/snort/

cp ./etc/snort.conf /etc/snort/

cp ./etc/classification.config /etc/snort

⑤/etc/snort/snort.confを以下の通り設定

・「var HOME_NET」のanyを監視対象マシンIPアドレス/32に変更

・「var HTTP_SERVERS」の$HOME_NETを監視対象マシンIPアドレス/32に変更

・「RULE_PATH」を/etc/snort/rules/とする

・「#Include all relevant rulesets here」以下のルールファイルを編集

(6)/etc/rc.localに以下の実行コマンドを追記し、

snortをシステム起動時に自動起動とする

snort -Dde -c /etc/snort/snort.conf

(7)SnortSnarfをインストールする

①以下のファイルを入手する

XML-Parser-2.31.tar.gz(http://www.cpan.org/)

Mail-Sendmail-0.78.tar.gz(http://www.cpan.org/)

SnortSnarf-021111.1.tar.gz(http://www.silicondefense.com/software/snortsnart/)

②以下の手順でインストールする

tar zxvf (ソース・アーカイブ)

cd (ソース・アーカイブを展開してできたディレクトリ)

perl Makefile.PL

make

su

make test

make install

(SnortSnarfのみ以下追加)

cd ../

mkdir /usr/local/snortsnarf

cp snortsnarf.pl /usr/local/snortsnarf

cp -r include /usr/local/snortsnarf

(8)snortのパケット監視結果のうちアラートログを

/home/httpd/html/snortにHTML形式で出力する

/usr/local/snortsnarf/snortsnarf.pl -d /home/httpd/html/snort /var/log/snort/alert

(9)/etc/swatchrc/.swatchrc_snort_alertを以下の通り設定

watchfor /DOS/

mail=hoge@hoge.co.jp

watchfor /Virus/

mail=hoge@hoge.co.jp

watchfor /DNS/

mail=hoge@hoge.co.jp

watchfor /WEB/

mail=hoge@hoge.co.jp

watchfor /BACKDOOR/

exec "/etc/rc.d/init.d/network stop"

(10)swatchでsnortのログを監視する

swatch -c /etc/swatchrc/.swatchrc_snort_alert -t /var/log/snort/alert &

(11)chkrootkitをインストールする

①以下のファイルを入手する

chkrootkit.tar.gz(http://www.chkrootkit.org/)

②以下の手順でインストールする

tar zxvf (ソース・アーカイブ)

cd (ソース・アーカイブを展開してできたディレクトリ)

make sense

(12)chkrootkit_dairyファイルを以下の内容で作成する

#!/bin/sh

cd /var/log/

/(chkrootkitコンパイルディレクトリ)/chkrootkit > chkrootkit_log_alert(

結果をファイル出力)

grep "INFECTED" chkrootkit_log > chkrootkit_log_alert(アラートメッセージ表示行ファイル出力)

chmod 600 chkrootkit_log_alert(root以外ファイルアクセス不可)

(13)毎日chkrootkitが自動実行され、検査結果を/var/logに出力する

①chmod +x chkrootkit_dairy

②cp chkrootkit_dairy /etc/cron.dairy

(14)/etc/swatchrc/.swatchrc_chkrootkitを以下の通り設定

watchfor /INFECTED/

exec "/sbin/shutdown -h now"

(15)swatchでchkrootkitのログを監視し、アラートログ発行時にサーバ自動停止する

swatch -c /etc/swatchrc/.swatchrc_chkrootkit /var/log/chkrootkit_log_alert &