2007年03月25日

 Dovecotに自前で作ったSSLを適用する。

 前回作成したSSL証明書を利用して、Dovecotのimapsを有効にする。

 $ vi /etc/dovecot.conf

 # Protocols we want to be serving:
 # imap imaps pop3 pop3s
 protocols = imap imaps

 とする。

 デフォルトでもexample.comの証明書と鍵ファイルが指定されていてしっかり機能しているので証明書と鍵ファイルの読み込み先を指定しているパスを変更すれば良い。

 ssl_cert_file = /usr/share/ssl/cert.pem
 ssl_key_file = /usr/share/ssl/serverkey.pem

 とする。鍵ファイルのパスフレーズ入力を解除していない場合はパスフレーズも入力する。

 これで設定完了。

 $ /etc/init.d/dovecot restart
 
 $ ps -A
 
 を行い、imap-loginサーバプロセスがしっかり起動しているのを確認する。起動に失敗している場合はdovecot,dovecot-authのみでimap-loginプロセスは起動していない。
 起動を確認後、各種メールクライアントのSSL認証の設定をONにして接続、うまくいけば警告が表示され接続することができる。
posted by ぴぺ at 10:12| Comment(0) | TrackBack(0) | UNIX系 | このブログの読者になる | 更新情報をチェックする

自前のSSL認証局を構築する

 MTA,httpdのSSL暗号化をしたくなったので自前のSSL認証局を構築してみることにしました。認証局の作成はスクリプトを用い、驚くほど簡単にできてしまいました。

 $ cp /usr/share/ssl/misc/CA /usr/share/ssl/
 $ /usr/local/ssl/CA -newca


 // /usr/share/ssl/misc内にある認証機関構築スクリプト"CA"を/usr/share/ssl内に移動させ、 -newcaオプションをつけて起動。
 ここからは対話形式で設定が行われていく。注意しておくのは一番最初に問われる上位CAの証明書のパス。当然これはないので"Enter"を押して新規作成を選択する。

 // これで/usr/share/ssl/demoCA内に認証機関の証明書及び秘密鍵が作成された。ファイルはそれぞれ
  cacert.pem 認証機関の証明書
  cakey.pem  認証機関の公開鍵


 これで認証局の構築は完了。続いてサーバー用の証明書を発行する。

 $ openssl genrsa -rand ~/.test -des3 -out /usr/share/ssl/serverkey.pem 1024

 //OpenSSLコマンドを用いてサーバー用鍵ファイルを作成する。
  -rand 鍵の生成に利用するファイルを指定する。
  -des3 暗号化のの方式を指定している。-ideaも有り。 
  -out 鍵ファイルの出力先の指定

 //これを実行すると、利用するときに必要になるパスフレーズの入力を求められる。これは各種サーバを起動するときに毎度入力を求められる不便なものなのでちょいとセキュリティは落ちるが、内容を暗号化したいだけなのでパスフレーズを解除する。

 $ openssl rsa -in /usr/share/ssl/serverkey.pem -out /usr/share/ssl/serverkey.pem

 //続いて認証機関への申請書を作成する。

 $ openssl req -new -days 365 -key /usr/share/ssl/serverkey.pem -out /usr/share/ssl/csr.pem
 
 //
 -days 有効期限の指定
 -key  サーバー用鍵ファイルの指定
 -out  出力先の指定

 //コマンドを実行すると認証局作成時と同じような対話形式による設定を行う。

 //できた申請書を自前で作った認証局で署名する。

 $ openssl ca -in /usr/share/ssl/csr.pem -keyfile /usr/share/ssl/demoCA/private/cakey.pem -cert /usr/share/ssl/demoCA/cacert.pem -out /usr/share/ssl/cert.pem

  -in 申請書ファイルの指定
  -keyfile 認証機関の鍵ファイルの指定
  -cert   認証機関の証明書の指定
  -out 出来たサーバー用証明書出力先の指定

 //コマンドを入力すると鍵の作成時に入力したパスフレーズが要求されるので入力。その後、2度、証明書発行に関する質問をされるが、yesと入力すれば良い。

 //これで/usr/share/ssl内に
  ・cert.pem サーバー用証明書
  ・serverkey.pem  サーバー用鍵ファイルが作成できた。

 これでSSLの証明書作成は完了。

 ■参考サイト
  ・Linux Square : 第12回 SSLによる安全なWebサイト作り
posted by ぴぺ at 09:44| Comment(0) | TrackBack(0) | UNIX系 | このブログの読者になる | 更新情報をチェックする

2007年03月24日

買う前に読む!! そこが知りたい『Apple TV』

 ASCII.jp : 買う前に読む!! そこが知りたい『Apple TV』にてApple TVのスペックがどのようなものが分かりやすく説明されているます。

 ちらっと見た感じ、うちにあるAVeL LinkPlayerに40GBのHDDが搭載された感じがします。っといっても対応してる動画フォーマットはH.264とMPEG-4とのこと・・。DiVXは対応してないみたいですね。
 使うとしたら内蔵HDDの40GBじゃ入れないメディアファイルは全部入らないので結局、お気に入りは内蔵HDDに保存して残りは全部NAS+mt-daapdを利用することになりそうです。
 ってWMAには対応してないんですねぇ・・。
 総評はAppleマニア専用ってことで・・

 ■参考記事
  ・ASCII.jp : 買う前に読む!! そこが知りたい『Apple TV』

 ■その他
  ・slashdot : Folding@home on PS3、開始2日で全体の約6割の貢献度
  ・マウスコンピュータの新品PCが3万円代な件
posted by ぴぺ at 19:28| Comment(0) | TrackBack(0) | コンピュータ | このブログの読者になる | 更新情報をチェックする

Mediatomb 0.9.0 pre releaseバージョンを試してみました。

 インストール環境はは0.8.1-patchedをインストールしてある環境でいちおうmake uninstallしておきましたが、どうなってるよくわかってません。

$ wget http://nchc.dl.sourceforge.net/sourceforge/mediatomb/mediatomb-0.9.0-pre.tar.gz
$ cd mediatomb-0.9.0-pre.tar.gz
$ ./configure
$ make
$ make install

$ vi ~/.mediatomb/config.xml
 
  ui enabled="yes"
 として、

$ mediatomb

 起動中のメッセージ内に表示されるINFO:http〜を入力してweb UIにアクセスする。

 ver0.8.1のweb UIは試したことありませんが、ver0.9.0preのweb UIはレスポンスも速くてストレスはありませんでした。データベースへのファイルの追加/削除、その上登録されているファイルの編集ができるようです。
 更にホームページの説明によると、今度のバージョンは自動的に再スキャンしてくれるようです。

 参考サイト
  ・MediaTomb - Free UPnP MediaServerその後
posted by ぴぺ at 04:35| Comment(0) | TrackBack(0) | UNIX系 | このブログの読者になる | 更新情報をチェックする

2007年03月19日

IBM ThinkPad X23にいくつかにディストロを導入して試験

 大分前にLinuxマシン用として買ってきたIBM ThinkPad X23に一番しっくりくるディストロをいろいろ模索して参りましたが、
  ・CentOS
  ・Ubuntu Linux
  ・Debian Etch
  ・Vine Linux
 これら4つを導入して動作試験してみました。まだ素人なのでわかっていないところもあると思いますが、使いやすさと安定性を重視して、更に面倒臭がりなので初期導入時から安定して動作するのを最低条件で試験しました。使い道は8割CUIで2割ぐらいGUIもつかいます。
  ・CentOS ・・ 導入は非常にスムーズに完了し、RHELのクローンだけあって非常に使いやすかった。更にSELinuxのポリシも簡単に導入できたんですが、何故か4日にいっぺんフリーズしてしまいました・・。何が原因かは調べてませんが、何が原因にしても4日にいっぺんフリーズがするのはマズいので却下。

  ・Ubuntu Linux ・・ 最近はもっぱらUbuntuブームといった感じでCentOSが駄目ならUbuntu!と思ったのですが、デフォではビデオカードの問題のようですが、Xが起動せず・・。

  ・Debian Etch ・・ まだtestingですが、もうそろそろ正式版が出るっていうことなので導入。非常にスムーズに導入。Xも問題無く、非常に居心地のいい環境だったのですが、何故かEthernetカードが動作せず・・。何故かXが起動しているときは正常に動作するも一度ifconfigでdown/upすると再起動するまで動作せず。後、放置していると勝手に画面がついてそのままの状態になることが多々ありました。10日間使って見ましたが使いづらいので却下。

  ・Vine Linux ・・ 導入してただいま2日目です。導入に際してPXEブートでは自らFTPサーバのURIと読み込むファイルの位置を記述しなければならないのが面倒でした。導入後は素直にXも立ち上がり、今のところ何も問題は無いです。それと日本語環境についてはどうでもよかったんですがやっぱりあると便利ですね。今のところ、一番満足度高いです。

  これが駄目だったら次はSuseあたりを検討中。何度もPXEブートを試しているうちにPXEブートに関してはかなり慣れてしまいました。
posted by ぴぺ at 14:40| Comment(0) | TrackBack(0) | UNIX系 | このブログの読者になる | 更新情報をチェックする

2007年03月13日

PXEブートでUbuntuを導入する

 CD-ROMが搭載されていないノートPCにUbuntuを導入することになったのでPXEブートでのインストールを決行しました。

 PXEブートを行う環境は
 ・[Windows XP] tftpd/dhcpdサーバ
 ・[OS無]    インストール先のThinkpad X23です。
 
 ・ネットワーク構成はこんな感じ

 [インターネット]
    |
    |
[ブロードバンドルータ]
    |
    |ーーー Windows XP tftpd/dhcpdサーバ(192.168.0.8)
    |
    −ーーー Thinkpad X23



 それからPXEでブート後はネットワーク経由でインストールイメージを取得するので、インターネットに接続可能なナットワークで行います。

 まず、準備段階としてPXEブート用のファイル群を取得します。たとえば、ubuntu-dapperならここからブート用のファイル群をダウンロードすることができます。

 必要なファイルとそうで無いファイルが存在しますが、大した容量では無いので/netbootフォルダの内容を全てダウンロードします。

 フォルダも含めて/netboot以下のファイルをフォルダ構成を維持したまま、全てハードディスクにコピーしてください。

 ダウンロードしたら、フォルダを好きな名前に変更してください。
 (私の場合はd:\ubuntuとしており、今後はd:\ubuntuとして進めていきます。)


 次にWindowsのサーバにtftpd及びdhcpdを動作させるサーバーソフトをインストールします。今回はTFTPD32をインストールすることにします。
TFTPD32を解凍したら、tftpd32を起動し、以下の項目を設定します。


  ・ウインドウ下部のSettingをクリック。一番上のBase Directoryをブートイメージを格納するフォルダに設定する。(例 d:\ubuntu)

03.jpeg

  
02.jpeg


  ・更にSetting内の PXE Compatibilityのオプションにチェック。
  ・Settingウインドウを閉じてDHCPの欄を設定します。

04.JPG



各種ネットワークの欄を記述、Boot Fileにはブートローダであるpxelinux.0を指定する。

01.jpeg


 これでサーバーの設定は完了。
 ルータでDHCPサーバ機能を使っている方はDHCP機能をオフにします。
 これですべての設定が終了です。

 二つのホストを同一ネットワーク上に設置してインストール対象のPCをNetwork Bootで起動すればPXEブートが開始されます。

 WANニ接続できないネットワークでインストールを行う場合はローカルなFTPサーバを立ち上げればうまくインストールできるみたいです。

 参考サイト
  ・notepad + : PXEブート
  ・The dream is invincibility. PXEを利用してDebianをネットワークインストールする
  ・archive ubuntu.com
  ・TFTPD32
  ・Ubuntu PXE Install - C4 Wiki(激重)その後の続き
posted by ぴぺ at 17:21| Comment(4) | TrackBack(2) | UNIX系 | このブログの読者になる | 更新情報をチェックする

2007年03月10日

CentOSにホスト型IDS Tripwire導入メモ

 GLANTANKは完全にメディアサーバに変貌してしまったのでもう一台サーバ用PCを用意して設定を始めていました。そこでTripwireを導入するに当たっていろいろ苦労したのでメモ。

 まず、TripwireのCentOSのRPMパッケージは存在していないので調達してくる必要があります。これについてはRPM PBONE.NETのRPM SEARCHで検索。Redhat Enterprize Linux 4向けのRPMを発見したのでこれを利用することにしました。
 
 //ダウンロードとインストール
 # wget ftp://ftp.pbone.net/mirror/ftp.silfreed.net/repo/rhel/4/i386/silfreednet/RPMS/tripwire-2.3.1-22.el4.i386.rpm
 # rpm -ivh tripwire-2.3.1-22.el4.i386.rpm
 
 RPMパッケージ版はセットアップ用スクリプトが用意されているのでこれを利用。

 # /usr/sbin/tripwire-setup-keyfiles
  
 実行するとTripwireを管理するのに必要なサイトパスフレーズとローカルパスフレーズの入力を要求されます。

 ----------------------------------------------
The Tripwire site and local passphrases are used to sign a variety of
files, such as the configuration, policy, and database files.

Passphrases should be at least 8 characters in length and contain both
letters and numbers.

See the Tripwire manual for more information.

----------------------------------------------
Creating key files...

(When selecting a passphrase, keep in mind that good passphrases typically
have upper and lower case letters, digits and punctuation marks, and are
at least 8 characters in length.)

Enter the site keyfile passphrase: // サイトパスフレーズの入力
Verify the site keyfile passphrase: // サイトパスフレーズの再入力
Generating key (this may take several minutes)...Key generation complete.

(When selecting a passphrase, keep in mind that good passphrases typically
have upper and lower case letters, digits and punctuation marks, and are
at least 8 characters in length.)

Enter the local keyfile passphrase: // ローカルパスフレーズの入力
Verify the local keyfile passphrase: // ローカルパスフレーズの再入力
Generating key (this may take several minutes)...Key generation complete.

----------------------------------------------
Signing configuration file...
Please enter your site passphrase: // サイトパスフレーズを入力
Wrote configuration file: /etc/tripwire/tw.cfg

A clear-text version of the Tripwire configuration file:
/etc/tripwire/twcfg.txt
has been preserved for your inspection. It is recommended that you
move this file to a secure location and/or encrypt it in place (using a
tool such as GPG, for example) after you have examined it.


----------------------------------------------
Signing policy file...
Please enter your site passphrase: // サイトパスフレーズを入力
Wrote policy file: /etc/tripwire/tw.pol

A clear-text version of the Tripwire policy file:
/etc/tripwire/twpol.txt
has been preserved for your inspection. This implements a minimal
policy, intended only to test essential Tripwire functionality. You
should edit the policy file to describe your system, and then use
twadmin to generate a new signed copy of the Tripwire policy.

Once you have a satisfactory Tripwire policy file, you should move the
clear-text version to a secure location and/or encrypt it in place
(using a tool such as GPG, for example).

Now run "tripwire --init" to enter Database Initialization Mode. This
reads the policy file, generates a database based on its contents, and
then cryptographically signs the resulting database. Options can be
entered on the command line to specify which policy, configuration, and
key files are used to create the database. The filename for the
database can be specified as well. If no options are specified, the
default values from the current configuration file are used.

 これでパスフレーズの設定が完了する。
 最後に" Now run "tripwire --init"と書かれているが、この時点ではポリシーファイルがデフォルトの状態なので実行しても多くのエラーが出てしまうので実行しない。

 //設定ファイルの設定
  
 tripwireのポリシーファイル及び設定ファイルは/etc/tripwire内に格納されている。まずは、設定ファイルの設定を行う。

 # vi /etc/tripwire/twcfg.txt

POLFILE =/etc/tripwire/tw.pol
DBFILE =/var/lib/tripwire/$(HOSTNAME).twd
REPORTFILE =/var/lib/tripwire/report/$(HOSTNAME).twr
SITEKEYFILE =/etc/tripwire/site.key
LOCALKEYFILE =/etc/tripwire/$(HOSTNAME)-local.key
EDITOR =/bin/vi
LATEPROMPTING =false
LOOSEDIRECTORYCHECKING =true
MAILNOVIOLATIONS =true //trueの場合、何も変化が無かった場合でも通知する
EMAILREPORTLEVEL =4
REPORTLEVEL =4
MAILMETHOD =SENDMAIL //PostfixのコマンドはSENDMAIL互換だったので何も変更しないで送信することができました。
SYSLOGREPORTING =false
MAILPROGRAM =/usr/sbin/sendmail -oi -t
 
 
 # /usr/sbin/twadmin -m F -c /etc/tripwire/tw.cfg -S /etc/tripwire/site.key /etc/tripwire/twcfg.txt //Tripwire用の暗号化設定ファイルを作成。

 # rm -f /etc/tripwire/twcfg.txt 完了後は速やかに暗号化されていない設定ファイルを削除。

 //ポリシーファイルの作成
 
 後はポリシーファイルを設定しそれを読み込ませれば設定は完了する。このポリシーファイルの設定は非常に面倒なので今回は自動最適化スクリプトを利用して瞬時に設定しまう。

 # vi /etc/tripwire/twpolmake.pl

#!/usr/bin/perl
# Tripwire Policy File customize tool
# ----------------------------------------------------------------
# Copyright (C) 2003 Hiroaki Izumi
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# ----------------------------------------------------------------
# Usage:
# perl twpolmake.pl {Pol file}
# ----------------------------------------------------------------
#
$POLFILE=$ARGV[0];

open(POL,"$POLFILE") or die "open error: $POLFILE" ;
my($myhost,$thost) ;
my($sharp,$tpath,$cond) ;
my($INRULE) = 0 ;

while () {
chomp;
if (($thost) = /^HOSTNAME\s*=\s*(.*)\s*;/) {
$myhost = `hostname` ; chomp($myhost) ;
if ($thost ne $myhost) {
$_="HOSTNAME=\"$myhost\";" ;
}
}
elsif ( /^{/ ) {
$INRULE=1 ;
}
elsif ( /^}/ ) {
$INRULE=0 ;
}
elsif ($INRULE == 1 and ($sharp,$tpath,$cond) = /^(\s*\#?\s*)(\/\S+)\b(\s+->\s+.+)$/) {
$ret = ($sharp =~ s/\#//g) ;
if ($tpath eq '/sbin/e2fsadm' ) {
$cond =~ s/;\s+(tune2fs.*)$/; \#$1/ ;
}
if (! -s $tpath) {
$_ = "$sharp#$tpath$cond" if ($ret == 0) ;
}
else {
$_ = "$sharp$tpath$cond" ;
}
}
print "$_\n" ;
}
close(POL) ;

 # perl /etc/tripwire/twpolmake.pl /etc/tripwire/twpol.txt > /etc/tripwire/twpol.txt.new //スクリプトを利用して最適化、twpol.txt.newに出力

 # vi /etc/tripwire/twpol.txt.new // email配送先はポリシーファイル内に記述する。email配送先の設定はポリシーファイル内の78行目から始まる Tripwire Binaries欄から順に通知して欲しいポリシー設定に記述する。Tripwire Binariesの例を下記に記述。

 # Tripwire Binaries

(
rulename = "Tripwire Binaries",
severity = $(SIG_HI),  <= ","の追加を忘れずに・・
emailto = root //追加(rootの場合)
)
{
$(TWBIN)/siggen -> $(SEC_BIN) ;
$(TWBIN)/tripwire -> $(SEC_BIN) ;
$(TWBIN)/twadmin -> $(SEC_BIN) ;
$(TWBIN)/twprint -> $(SEC_BIN) ;
}


 # /usr/sbin/twadmin -m P -c /etc/tripwire/tw.cfg -p /etc/tripwire/tw.pol -S /etc/tripwire/site.key /etc/tripwire/twpol.txt.new //Tripwire用の暗号化ポリシーファイルを作成

 # rm -f twpol.txt* //作成したポリシーファイルの削除

 //データベースの作成

 # /usr/sbin/tripwire --init 

 //Tripwireの起動

 # /usr/sbin/tripwire --check -M // -Mを追加することによって結果をメールで配信するようにする。

 数分間のチェック後、結果が出力され、rootのメールボックスに結果が通知される。
 
 参考記事
  ・ Fedoraで自宅サーバ : ファイル改竄検知システム導入(Tripwire)
  ・Tripwire ポリシー作成メモ
  ・Crimson Snow : ファイル改竄検知システム(Tripwire)の導入
posted by ぴぺ at 23:47| Comment(31) | TrackBack(91) | UNIX系 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。