John Lettice, Richard Forno及び Thomas C Greeneの書いたPalladiumに関する優れた記事をRegisterが発表した。このうちの3番目 third of these は、PalladiumがLinux社会に及ぼす影響に重点をおいており、良くないと言う(殆どのハードウエア産業がマイクロソフトに踊らされるのだから、当たり前の話だ)。Robert Cringelyが書いたように has written、Palladium はインターネットのインフラストラクチャ全体に取って悪いニュースだ。
Palladium及び DRM (デジタル権利管理)技術一般に関する詳細な情報が入用であれば、cryptome がMS DRM OS パテント原文も載せた有用なリンクsome useful links を持っている。特に興味があるのは、Ross Andersonの TCPA / Palladium Frequently Asked Questions (TCPA=Trusted Computing Platform Alliance)だ。
● 政府とLinux
BBC は、ドイツがLinuxベースの大型公共部門コンピュータ契約につきIBM及びSuSEと署名したと報じた reported 。ドイツ政府筋の語る決定理由は、コストとセキュリティである。BBCの記事は、裏話も紹介しており、読む価値がある。SuSEの新聞発表SuSE's press release及び、 at The Register や at Slashdot.にあるこのニュースの記事も面白い。
別の吉報は、フィンランドMPが国及び地方自治体にそのITシステムをLinux OSに移行するよう要求したと been reported by DesktopLinux.com 及び by LinuxTodayが報じていることだ。これは大きな流れの一部だ。Slashdotは台湾での進展を「自由ソフトウエアの開発と使用に踏み切る計画」と報じたreported。IDGネットは、オープンソースに移行してマイクロソフト依存を脱しようとする国々の調査書a survey を発行した。
この動きは新聞でも論じられた。Siliconvalley internet.comは、これを支配的Linux販売者たるIBMを脅かすものと解釈した has interpreted it 。IDG はこの発展を、Linuxの究極的発展への反応 a reaction to the UnitedLinux development. と特徴付けた。 Don Marti もまた、RedHat に有利に働くOracleの役割が市場で発揮されると論評した commented 。
政府及び軍部の中のオープン/フリーソフトウエアの役割に関する肯定的解析については、the MITRE paper にある。最後に、皮肉なことにNewsForge はADTI自身のウエブサイトがApache. を走らせていることを喜んで報告している pleasure of reporting。
殆どの人が承知だが、6月にMozilla 1.0がリリースされた released。
Mozillaが100% GPL になるまでは、プロジェクトに接触して貰う人がもっと必要だが、今まで貢献した人は殆どいない a few contributors ことに留意されたい。見付け出すのと手伝うことが出来る人がいるだろう。
Linux Game Publishing が、MajestyのLinux版から最初のスクリーンショットscreenshotをリリースした。Majestyは、LGPで開発中のリアルタイム戦略ゲームである。
ファックス・サーバー・ソフトウエアの開発者Faximum Softwareが、そのFax Messaging Server (FMS) 製品の新リリースを発表した。FMS2は、組織に既存のe-メールサーバーと一体になってLinux上で走り、Windows, Mac, Linuxのユーザーがファックスをe-メールと同様容易に送受信することが出来る。www.faximum.com/demoでFaximumのサーバーを走らせるソフトウエアをテストすることが出来る。
Command Prompt, Inc.は、RedHat Linux 7.2/7.3 用Mammoth PostgreSQLの評価版が直ぐに入手出来ると発表した。リリースには、5接続Mammoth PostgreSQL, PostgreSQL 用XML アプリケーションサーバーLXP 、及びGUIベースのデータ管理アプリケーションMammothブラウザが含まれる。
製品は、 http://www.commandprompt.com/ にあるCommand Prompt, Incのウエブサイトを訪ねて電子販売で入手出来る。
Linux 及び FreeBSD サーバープラットホーム用のホストベース侵入検出、撃退システムの提供者Cylantは、CylantSecureのバージョン1.2.3のリリースを発表した。CylantSecureは、kernel監視を利用してセキュリテイに対し予防的、行動的方法を適用し、署名やルールセットを連続的に更新することなく攻撃の検出が出来るようにする。
CylantSecureの新バージョン1.2.3の利点は:
最新のデータ保護を提供するReliatyが、ネットワークデータ管理プロトコル(NDMP)基金で開発されたソフトウエアReliaty Backupを導入した。これにより、サーバー及びプラットホーム又は接続点の位置に関係なく、記憶環境内の任意の点から任意の装置に対しデータをバックアップし回収することが可能となる。Reliaty Backupは、この継ぎ目なし方法論を多重プラットホーム環境に提供し、経費節減、使用の便、迅速なデータ取得の改善をはかる。このソフトウエアは、ネットワーク付属記憶(NAS)装置及び、NASがなくともUNIX、Linux及びWindowsで使用することが出来る。
Linuxソリューションに対する需要の増加に応えて、IBM は、ニューヨーク市に初めてセンターを開設し、金融サービス産業のLinux展開を援助すると発表した。マンハッタンにおかれるLinuxセンターには、IBMと同時にそのパートナーからの、金融業カスタマがLinux実施を評価し計画するのを助けるハードウエア、ソフトウエア及びサービスを盛り込む。SunGard, JD Edwards,Veritas, Sybase などが、IBMのLinuxセンターで技術の利用出来る主要パートナーである。
南カリフォルニアのArkeiaネットワーク・バックアップ・ソフトウエア供給者Arkeia Corporationが、Plasmon自動データ記憶ライブラリと互換性テストを完了した。 Arkeia 4.2 は、Plasmon V-シリーズとの互換性を、間もなくリリースされるArkeia 5のベータ版とともにテストした。Arkeiaの最高執行責任者Philippe Rousselはこれを「Plasmon ライブラリにLinux及びUnix環境での新しい将来性を持ち込むもの」と言う。
フロリダ州Boca Ratonの(IBM退職者による)OmniCluster Technologies が開発した SlotShield 1000 及びSlotShield 3000 ブレードサーバーが、セキュリテイ装置市場を変えつつある。OmniCluster はCheck Point Software Technologiesと提携し、Check Pointの VPN-1/FireWall-1 にOmniClusterのSlotShield 装置ブレード技術を組み込んだ。両製品とも、PCI互換で任意の工業標準サーバーシステムに搭載することの出来るプラグ&プレーセキュリティ・ソリューションである。SlotShield 3000のプラグ&プレー機能により、インストレーションがサーバーのネットワークインターフェイスカードの交換と同じ位簡単になった。SlotShield 3000は、Windows NT サービスパック6, Windows 2000, Windows XP、Linux kernel 2.2x 及び2.4x.を走らせる人のサーバーをサポートする。
OmniCluster は、セキュリティ・ブレード装置を現在三つの変形で提供する:
広範囲の産業用リアルタイム及び埋込コンピュータ製品の設計、製造、販売をおこなうMEN Microが、二つの新PXIシステムのリリースを発表した。MENの新PXIシステムは、21個の PXIスロットが付いた19インチ7Uラックと、7個のPXIスロットが付いた4Uハイラックの二つのサイズがある。Pentiumベースの6U及び3Uコントローラが、これらPXIシステム用処理プラットホームの心臓部にある。MENは、2002年末にPentium IVベースのPXIシステムコントローラを発表の予定でいる。MENの製品ラインは、Windows NT, VxWorks, OS-9, QNX, Linuxなど広く使われるOSをサポートする。
Wolfram Research,が、Mathematica 4.2. 新パケージをリリースした。XML 機能及びJava接続性が加わった。
Samba チームは、Sambaの最新版Samba 2.2.5のリリースを発表した announce
Galeon 2.5 was released が6月8日にリリースされた。Mozilla 1.0 互換が特徴。
PosgreSQL用PI/PgsqlのPI/Python及びカーソル
注記:この記事の基には Red Hat 7.2 を使っている。Linuxの別の版では違う事項もある。
以下のコマンドを実行する:
\c postgres
drop table contact;
create table contact (
first text, last text, phone text, address text,
city text,state text, zip text
);
drop function replace_e_to_a(text);
CREATE FUNCTION replace_e_to_a(text) RETURNS text AS
'
import re
Text1 = re.sub(''e'', ''a'',args[0])
return Text1
'
LANGUAGE 'plpython';
drop function replace_numbers_to_z(text);
CREATE FUNCTION replace_numbers_to_z(text) RETURNS text AS
'
import re
Text1 = re.sub(''[0-9]'', ''z'',args[0])
return Text1
'
LANGUAGE 'plpython';
insert into contact values ('Mark','Nielsen','123-123-1234',
'1234 Somewhere St.', 'Some City 123', 'TX','12345-1234');
insert into contact values ('Mark','Nielsen2','123-123-1234',
'3456 Somewhere St.', 'Some City 444', 'MI','12345-1234');
insert into contact values ('Mark','Nielsen3','123-123-1234',
'5678 Somewhere St.', 'Some City 654', 'AX','12345-1234');
select first, last, address from contact;
drop function select_contact();
CREATE FUNCTION select_contact () RETURNS refcursor AS '
DECLARE
cursor1 CURSOR FOR select replace_e_to_a(first)as first,
replace_e_to_a(last) as last,
replace_numbers_to_z(address) as address
from contact;
BEGIN
open cursor1;
return (cursor1);
END;
' LANGUAGE 'plpgsql';
begin;
select select_contact();
FETCH cursor1; FETCH cursor1;FETCH cursor1;
end;
DROP CREATE DROP CREATE DROP CREATE INSERT 255188 1 INSERT 255189 1 INSERT 255190 1 first | last | address -------+----------+-------------------- Mark | Nielsen | 1234 Somewhere St. Mark | Nielsen2 | 3456 Somewhere St. Mark | Nielsen3 | 5678 Somewhere St. (3 rows) DROP CREATE BEGIN select_contact ---------------- cursor1 (1 row) first | last | address -------+---------+-------------------- Mark | Nialsan | zzzz Somewhere St. (1 row) first | last | address -------+----------+-------------------- Mark | Nialsan2 | zzzz Somewhere St. (1 row) first | last | address -------+----------+-------------------- Mark | Nialsan3 | zzzz Somewhere St. (1 row) COMMIT
これはカーソルへの不満ではなく、Perl用DBD:Pg及びPostgreSQLへの−カーソルがサポートされていない−他のサポート−に関するものである。だから、Pl/PgSQLが多数項目の多数列を返すことが出来れば、この問題を始末することができるだろう。
プロシージャからデータを記憶する唯一の別法は、プロシージャ終了後にアクセスすることの出来る一時テーブルの中に対してだ。入手したいデータの99% について、これは少し極端だと思う。極端だと言うのは、欲しいのは1列のデータで、1列のデータのためだけにテーブルを作るのは、その労力に値しないからだ。
悲しいのは、Perl用 DBD::Pg の私のバージョンと、私のPythonインターフェイスがカーソルをサポートしないので、殆どの部分が役立たないことだが、少なくとも良くなっている。有望ならしいものを http://developer.postgresql.org/todo.php で見付けた。私の使うプログラム言語ではカーソルがサポートされていないので、実際に沢山のデータを記憶する必要があるときは、一時テーブルを使う必要があるだろう。プロシージャ言語が、普通のsqlコマンドで出来るようにデータを返すことが出来ない理由が未だ分からない。限界が何であれ、これが解決すると素晴らしい。
私のUSB カメラとマウスは、Red Hat 7.3 で働くけれども、それにusbハードドライブを使うことが出来なかったので(新kernelを初めからコンパイルしないといけないが、いつもそれに失敗した)、Emperor Linux から買ったLinuxノートパソコンでusbハードドライブとカメラを使うことにした。
http://lhd.datapower.com/db/dispproduct.php3?DISP=3101
値段は$179で価格の割に性能は満足な最良のカメラだ。同じ性能の他のカメラはすべて2倍から3倍の値段だ。 市場が変わったのに他のメーカーが未だ値下げしないためと思われる。私の用途には完璧だ。解像度は十分で、jpg画像をセーブしたが、必要ならメモリ拡張も出来る(8メガで十分なので拡張しなかった)。
Red Hat 7.3 と私のEmperor Linux コンピュータでのm重要点は、記事にある通り:
### for my camera. /dev/sda1 /mnt/camera vfat noauto,sync,nosuid,user,unhide 0 0
5年以内に殆どの人がデジカメを使い、普通カメラはプロが使うか使い捨てカメラだけになると思う。デジカメのメモリが大きくなって、5年以内には小型カメラに数百枚を記憶出来るようになると思う。フィルムカメラは要らなくなるだろう。
私が3ギガのデータをハードドライブにコピイして、エラーを探した。悪いセクターがあると思われたので、"-c"オプションを使って一日掛かりでmdfsを走らせた。結局mkfsが吹っ飛んだので、Linuxで外付けハードドライブが使えるようになるまで、もう少し待った。ハードウエア互換性を調べて新しいハードドライブ(多分USBでなくfirewire)を買うことになるだろう。
TitleBar=true Browser=true LockPosition=false SetPosition=true PositionX=0 PositionY=700
私の /etc/X11/gdm/Init/Default スクリプトを示す。
#!/bin/sh
/usr/X11R6/bin/xsetroot -solid "#363047"
### この次の項目はセキュリティリスクが巨大である
### これはユーザー "mark" を使って基本的にxterm を設定する.
xterm -r -fn 6x12 -geometry +0+25 -e '/etc/X11/gdm/mark.sh' &
#xterm -r -fn 6x12 -geometry +0+25 -e '/etc/X11/gdm/dummy.sh' &
### これは背景に絵をおく
/usr/bin/xsri -geometry 500x500+600+300 /etc/X11/gdm/im000048.jpg
### これは xeyes を画面上においてマウスポインタを監視する。
xeyes -geometry +800+650 -bg white -fg green -outline blue &
### 年中クリスマス
xsnow -santaspeed 10 -santa 2 -snowflakes 1000 -whirl 4 -windtimer 30 &
### 秒まで時間を計る
xclock -digital -geometry +600+650 -update 1 &
### 有名な mine ゲーム。残念乍ら、位置は決められそうにない
### 画面の真ん中に飛び出すだけ。
gnomine &
### Maelstrom は一寸良い
Maelstrom &
## GDMの後にxboard が飛び出すので、使えない。
#xboard &
### Chromium は素晴らしいアーケード上の古いゲームだ。
chromium-setup &
### 地球上で輝く光を見ること
kworldclock -geometry +750+0 &
### デスクトップには似合わない生物だ。
amor &
ここでf '/etc/X11/gdm/mark.sh' の内容だ。
#!/bin/bash trap "" HUP trap "" INT trap "" QUIT trap "" KILL trap "" TSTP su -l mark exit exit
以下は '/etc/X11/gdm/dummy.sh' の内容である。
#!/bin/bash trap "" HUP trap "" INT trap "" QUIT trap "" KILL trap "" TSTP chroot /chroot/dummy su -l dummy exit exit
gdm 活動の背景でゲームを動かしたいと思うだろう。色々なゲームを試したが、うまく行くものも行かないものもあった。プログラムを走らせるときは、誰かが、プログラムを通じ何とかしてコマンドを実行するか、コンピュータを滅茶々々にする方法を知っていると、セキュリテイの穴が在ることに注意。こんなことをクライアント・コンピュータでやったら、必ず首になる。
これをお読みになったら自分のマウスに安心されるだろう。他の人が苦労しているのに、ふと、うまい考えが浮かぶことがある。考えるに、初心者の失敗の元は、ネコが獲物に飛びかかって逃がすまいとするように、マウスを上からシッカリと持つことだ。そしてボタンを手荒に押す。するとマウスはビックリして目標から外れる。
こんな人達に対しては「必死で握らず、手をマウスの後の面に置き、親指と小指で静かに動かすだけにし、必要な時穏やかにボタンをクリックしなさい」と説得している。「手と目の共同作業がグラグラするようなら、L型に働かせて(横に押し下げて)真っ直ぐの動きが勝手に入り込むのに任せる」。これらの人は、1週間も経つとうまく行ったと御礼を言いに来る。
だが、コンピュータマウスが多くの人々に取って珍しいものだった初期の頃は、学生がマウスを裏返しにして、マウスボールを指先で回すのを見るのは、余り変わったことではなかった。画面の動きは大変不安定で、選択方法としてボタンクリックにも問題があるのは明らかだった。
ある時、女子学生がそうしているのを見て、正しいマウスの使い方を懇切に教えた。微笑んで有り難うと言ったが、次の瞬間には、またマウスを裏返しにしていた。馬鹿なのじゃない。彼女達なりのやり方なのだ。トラックボールの起源はこんなところかも知れない。
数年前、初めてLinuxに接したとき、具合の悪いときの用心のため、待機Windows OSを別のパーティションにインストールした。だが、間もなくこのオープンソースOSは無料で何もかも呉れることが分かった。だが、全くWindows専用に書かれたアプリケーションをお払い箱にするまでは時間が掛かった。こんな時どうしますか?答はWineだ。
Wine はお酒ではありません !
Windowsプログラムを走らせるため、Linuxが走っているマシン上で別のOS(主としてWindows)を走らせるVMWare & Win4Linのような製品がある。Windowsを搭載した別パーティションを持つとの在来方法もある。しかし、これらの既存の方法は、システムに対する負担が大きい。
Wine はこれらオプションとは全く別物だ。「WINEはエミュレータではない」との意味を持つWineは、Windowsライセンスのコピイを買う必要がない。マイクロソフトコードとは全く異なる完全なWin32 APIを書き直してこれを達成する。
乾杯しよう
WINEを試すには、最新ソースを http://www.winehq.com/にあるWINE本社から入手することが出来る。ソースからのビルドは必要ない。サイトには多くの異なるフォーマットで日常ビルドへのリンクがある。自分のためソースとビルドを入手するのは、全く簡単だ。
次のステップを踏むと君の課題を果たすことが出来る:
gunzip Wine-20020411.tar.gz tar -xvf Wine-20020411.tar cd wine-20020411 ./configure make depend make make install
export CVSROOT=:pserver:cvs@cvs.winehq.com:/home/wine cvnpres login
cvs -z 3 checkout wine
現在のディレクトリに対し“wine”と言う名のディレクトリに、定常な流れでファイルが流入するのが分かるだろう。全部の手続はが終わった後、上と同じコンパイルの手順を踏むことが出来る。
Wine のコンフィギュレーション
"~/.wine/” directoryの中に“config”と言う名のコンフィギュレーションファイルが必要だ。このサンプルはソースディレクトリ:
cp documentation/samples/config ~/.wine/config
からコピイすることが出来る。この“config”ファイルは、一見といかめしいが、規定値に拘泥して自分のシステムに関連する重要点のみを変更するのが良い。次のようなセクションに出会うだろう:
[Drive A]
"Path" = "/mnt/fd0"
"Type" = "floppy"
"Label" = "Floppy"
"Serial" = "87654321"
"Device" = "/dev/fd0"
[Drive C]
"Path" = "/c"
"Type" = "hd"
"Label" = "MS-DOS"
"Filesystem" = "win95"
[Drive D]
"Path" = "/cdrom"
"Type" = "cdrom"
"Label" = "CD-Rom"
"Filesystem" = "win95"
; make sure that device is correct and has proper permissions !
"Device" = "/dev/cdrom"
Wine は実際にDOS-類似のドライブとフォルダ構造をエミュレートしようとするので、“[Drive C]” で始まるセクションは、君のLinuxディレクトリに対する仮想ドライブC:のマッピングを示す。これは私の場合“/c”に当たる。
次ぎに、“windows” 及び “system” などのシステムフォルダもまた“[wine]” セクションの中でこれと同じようにマップされる:
"Windows" = "c:\\windows"
"System" = "c:\\windows\\system"
"Temp" = "e:\\"
"Path" = "c:\\windows;c:\\windows\\system;e:\\;e:\\test;f:\\"
"Profile" = "c:\\windows\\Profiles\\Administrator"
"GraphicsDriver" = "x11drv"
; Wine doesn't pass directory symlinks to Windows programs by default.
; Enabling this may crash some programs that do recursive lookups of a whole
; subdir tree in case of a symlink pointing back to itself.
;"ShowDirSymlinks" = "1"
"ShellLinker" = "wineshelllink"
“config”ファイルの中の“[wine]” セクションで述べたように、基本的Windowsディレクトリ構造(“windows”," system”ディレクトリ)幾つかを作らなければならない:
cd /c mkdir -p windows/system mkdir -p windows/Start\ Menu/Programs
configファイルの “[DllOverrides]”は、DLLを取り扱う。これはWindowsの相手先及び本来のWindows DLLで使いたいものの代わりに使用するためWineにより供給される:
; Be careful here, wrong DllOverrides settings have the potential
; to pretty much kill your setup.
[DllOverrides]
"commdlg" = "builtin, native"
"comdlg32" = "builtin, native"
"ver" = "builtin, native"
"version" = "builtin, native"
"shell" = "builtin, native"
"shell32" = "builtin, native"
"shfolder" = "builtin, native"
"shlwapi" = "builtin, native"
"shdocvw" = "builtin, native"
"lzexpand" = "builtin, native"
"lz32" = "builtin, native"
"comctl32" = "builtin, native"
"commctrl" = "builtin, native"
"advapi32" = "builtin, native"
"crtdll" = "builtin, native"
"mpr" = "builtin, native"........
各種ポート及びデバイスもまた、 “[serialports]” セクションで設定することが出来る:
Com1=/dev/ttyS0 Com2=/dev/ttyS1 Com3=/dev/modem,38400 Com4=/dev/modem
ウインドウの見掛けは、“[Tweak.Layout]” セクションで変えることが出来る。
;; supported styles are 'Win31'(default), 'Win95', 'Win98'
;; this has *nothing* to do with the windows version Wine returns:
;; use cmdline option --winver if you want that.
"WineLook" = "Win98"
Windows レジストリを覚えているか ?
次ぎに、Windowsボックスにレジストリが存在する方法に完全に一致する規定値レジストリをインストールする必要がある。だが、その前に “/etc/ld.so.conf” に一寸した変更を加える必要がある。ソフトウエアがWindowsの雰囲気を真似るため使用するライブラリすべてに関連する行 “/usr/local/lib/wine” を加える。
このステップの後、“/sbin/ldconfig” を走らせるのを忘れないこと。
次ぎに、regapi を使って規定値レジストリをインストールする。Wineソースディレクトリから次のコマンドを発する:
programs/regapi/regapi setValue < winedefault.reg
働かせる!!
休むことなく、簡単なWindowsアプリケーションを走らせて見よう。Windowsに付いて来る標準電算機(“calc.exe”)を走らせて見る。
Windowsパーティションを取り付けるか又はフロッピイを用いて “calc.exe”ファイルをシステムの中のフォルダ “/c/windows”にコピイし、スタート方法の任意の一つを使う:
cd /c/windows; wine calc.exe
wine /c/windows/calc.exe
wine "c:\windows\calc.exe"
これが私のLinuxボックス上に現れたものである。
これでおしまい!
Windows実行可能プログラムをLinuxボックス上で走らせるときWine はかなり必要だが、一つ注意しなければならないのは、全部のアプリケーションがWine上で働くとは限らないことだ。好みのアプリケーションを働かせる方法を考えて微調整をしなければならない。だが、殆どの場合、Wineは大変役に立つ。
この記事では、私のホームコンピュータとデータ通信の安全を確保するステップを説明する。コンピュータ・セキュリティに積極的に関わって来た人には復習になるだろうし、 今のところセキュリティ対策を取っていない人には、Linuxボックスの安全確保の方法に対する一般概念が得られるであろう。これは、明らかに一般的なセキュリティ参考文献ではない。私は安全対策に熱心だが、自分のコンピュータに対する以上に用心深くはない。この記事に述べた事項が、皆さんのため十分なセキュリティを与えるか否かはご自分で考えられたい。
私は家でDebian Linux ボックスを働かせている。常時電源を入れてインターネットにつないでいる。このコンピュータの安全確保には二つの理由がある。私のデータを勝手に見られないことと、私のコンピュータ資源を勝手に使われないことだ。私のコンピュータには重要なデータが入っていて、私以外のものに触らせたくない。 侵入者が私のコンピュータを使って別の目標を攻撃することが出来るのも困る。誰かが私のマシンを使って別のシステムに不法侵入すると思うと腹が立つ。
新たにインストールした後、直ちに行うのは、私のkernelの中の configure iptables (ijptable設定)だ。Iptables があると私のコンピュータに出入りするパケット全部をブロックすることが出来る。私のコンピュータは常時ネットに接続されていて、攻撃に曝されるのでこれは重要だ。iptables の設定は臆病だからではない。それには、kernelソースコードのダウンロード、正しい設定、全く間違いのないインストールが必要だ。前に経験がなければ、Linux Kernel HOWTO, をチェックして、iptable設定の前に何度もkernelをコンパイルしてみるのが良い。
次は LIDS −Linux 侵入検出システム−だ。 LIDS は、kernel用のパスと、二つのユーザースペース・ユティリティ−lidsconf とlidsadm −から成る。このシステムの目的は、ファイルとプロセスへのアクセスを制限し、これらの制限を破ろうとする試みがあると警報を発して、コンピュータの安全レベルを向上させることにある。LIDSの偉大な点は、ルートアカウントのパーミッションを制限することが出来ることである。これにより、アカウントの力を減じ、侵入者がルート特権を得たときおこなう危害を限定することが出来る。私はLIDSを、システムバイナリ、/var/logにあるログファイル、及び/etcにあるコンフィギュレーション・ファイルの防護に用いる。バイナリはREADONLY(読取専用)とし、ルートを含むどのユーザーもこの修正及び削除が出来ないようにする。ログファイルは APPEND(追加)とし、プログラムはこのファイルにデータを書き込めるが、既存データの消去又は変更が出来ないようにする。
次ぎにおこなったのは、コンピュータ上で走るサービスの数を最小にすることだ。走らせるサービスが少ないほど、他の者が私のマシンに不法侵入することの出来る機会が少なくなる。ディストリビューションは規定値で沢山のデーモンを走らせる傾向があるが、私は良くないと思う。私はtelnet, FTP, named, 及びR* デーモン全部を切って、少数を指名する。基本的には、全部を切ってセキュリティ対策などのため更新し続ける配慮をしないで済むようにする。私の走らせるサービスについては、どんなセキュリテイ対策でも作られ次第出来るだけ早くインストールする。適切な対策無しで弱点が明らかになったときは、サービスを切る。
私のコンピュータで働くサービスの数を減らした後、"netstat -l" とタイプして、接続を聴取するソケットを見付ける。必要のないサービスを逃していないか確かめるためだ。偶に重要なことを見逃すので、netstat を使って捕える。
インストレーションの後、ほぼ毎週 chkrootkit を走らせる。このプログラムは、コンピュータに何かrootkitがあると警報を出す。rootkitとは、クラッカが痕跡を消すため使うツールである。このkit には、ps, ifconfig その他のような各種ユティリティの trojaned(変更)版が含まれる。侵入者が、私のコンピュータに侵入してrootkitをインストールすると、基本的には私のコンピュータ資源を思いのままに使うことが出来る。システムに余程の注意を払っていないと検出することが出来ない。各種rootkitは packetstorm からダウンロードすることが出来る(教育目的だけですぞ!)。殆どの人が話すのを見たのはLRK5で、これは後の方に記載した。
インターネットからファイルをダウンロードするときは、md5sum を使って、そのためのチェックサムを作る。ダウンロードを提供するサイトは殆ど自分のchecksumをリストにしているので、ダウンロードしたものが提供されたものと一致するか調べることが出来る。これは簡単なチェックだが、正しいビットが得られたことを確認する。勿論ファイルとchecksumの両方に手が加えられていることもあるが、この場合は多分ウエブサイトが発見して、問題を修復する筈だ。
世界中のセキュリテイ全部でも君のコンピュータのクラッカーに対する安全を保証することは出来ない。正直のところ、私のコンピュータが危機に曝されず100%安全であるとは、言い切れない。私がLinuxを使った初めの2ヶ月ほど、セキュレティを馬鹿にして、OSを働かせることに専念した。基本ユーザースペースコマンドの習熟だけに興味があり、他のことに悩まされたくなかった。攻撃に全く無防備だった。Redhatシステムを搭載したVA Linuxを使っていた。多分沢山のサーバーを走らせたと思うが、何も知らなかった。
将来、もし私のコンピュータが危なくなったら、The Coroner's Toolkit.のためのメインサイトに向かうだろう。TCTは、危なくなったマシンに起こったことを解決するツールキットだ。それを走らせて待っていると、ハードドライブからデータを集める。私はこのツールを使ったことはないが、ウエブサイトの言うところでは、結構な仕事をするらしい。このウエブサイトからの別の印象は、このツールは初心者には使い方が極めて難しいことだ。だからTCTに経験がないと、読んだり習ったりすることが沢山ある。メインペイジの下にハウツーを幾つか載せたので、ここから始めるのが良い。
Honeynet Project も調べる。このプロジェクトの目的は、研究を弁論形式でおこなって、その研究を公表し、セキュリティに関する関心を高めることにある。月例の弁論コンテストがあり、ネットワークの実際の屈服に関する情報を示し、侵入捜索の方法に関する論文を募集する。このコンテストに関する文庫にはセキュリティ専門家の書いた沢山の提出論文がある。私も実は教えられた。Coroner's Toolkit は、これを見てこれら捜索について沢山書いている。コンピュータ弁論について関心のある人は、このサイトで出来るだけ沢山読むのが良い。暫くは忙しくなる。
規定値による送信は安全でない。皆さんのデータがインターネットを飛ぶ間に誰でも見ることが出来るが、皆さんにはそれが分からない。tracerouteプログラムを使ってこの作用を見ることが出来る。コマンドプロンプトで "traceroute www.google.com" とタイプすると、ウェブサーチの間にgoogleに送ったデータを見たマシンが分かる。
サイトにログインするときはいつでも、私は安全なペイジ、-https、を使う。HTTPSはSSLを使うが、これは転送中にデータを暗号化する。例えば、Yahoo! では、各種ウエブサイトに私のユーザー名とパスワードを送るとき安全なログイン方法を提供する。私は、Yahoo! e-メール口座を持っているので、私のメールの点検にはこの安全ログインを使う。
遠隔管理用に私はssh and scp を使う。これら二つのプログラムは、telenetとFTPの代替品である。これらはインストールが楽で、置き換えたプログラムと同じように働く。インストールしたら、iptableに対応するポートを開いて外部からマシンに接続出来るようにする。
私はe-メールに GnuPG を使って、読まれたくないデータを暗号化する。誰かに重要情報を送るときは、その暗号化にそれらの公開キイを使う。重要情報を私に送る人にも同じことを頼む。私の公開キイは、私の web site からダウンロードすることも出来るし、各種の public key servers.からも入手することが出来る。これらの手順により、私のメール受けに送られたe-メールを読むのは確実に私だけになる。
私のコンピュータとデータ通信の安全確保のため私が踏むステップを出来るだけ明確に説明したこの記事が、お役に立ったことを望む。明らかな間違いや脱落があったら、兎も角お知らせ頂きたい let me know。私のセキュリティ方針は完璧には遙かに離れているので、是非皆様の実際と経験をお聞かせ頂きたい。
以下は、各種セキュリティ問題に関する情報を得るため私が定期的に訪ねるサイトとリストである: