8月 14

VMWare6 に BackTrack3 Final をインストール

Linux Tips, タガヤ, 技術情報 VMWare6 に BackTrack3 Final をインストール はコメントを受け付けていません

この記事をブックマークする : このページをはてなブックマークに追加 このページをLivedoorクリップ! このページをニフティクリップに登録 newsing it! このページをdel.icio.usに登録 このページをBuzzurlにブックマーク

タガヤっす。

今までCD起動で問題なかったのですけど、
いろいろやってるうちに設定を保存したいなーって思い、VMWareへのインストールに挑戦しました。

ええ、ドハマリましたよ(涙)
日本語で説明してくれてるトコがないのでエントリ。

ちなみに、BackTrack3 Beta にあったインストーラーが無くなっていたので苦労したわけですけど。
さらにフォーラムにあったHowtoは記述ミスがあるわけですけど。


ボクは負けませんでした(滝涙)



1.仮想マシンの準備

 ・標準
 ・Linux
 ・Other Linux Kernel 2.6
 ・ISOを指定
 ・FDDを削除
 ・容量は4G以上を指定
 ・メモリは256M

2.パーティションの設定

 # fdisk /dev/sda
 1.n
 2.p
 3.1
 4.[enter]
 5.+50M
 6.n
 7.p
 8.2
 9. [enter]
 10. +256M
 11.n
 12.p
 13.3
 14.[enter]
 15.[enter]
 16.a
 17.1
 18.t
 19.2
 20.82
 21.w

3.ファイルシステムの作成

 # mkfs.ext3 /dev/sda1
 # mkfs.ext3 /dev/sda3
 # mkswap /dev/sda2
 # swapon /dev/sda2

4.パーティションのマウント

 # mkdir /mnt/bt3
 # mkdir /mnt/bt3/boot
 # mount /dev/sda3 /mnt/bt3
 # mount /dev/sda1 /mnt/bt3/boot

5.ファイルのコピー
 # cp –preserve -R {bin,dev,home,pentest,root,usr,etc,lib,opt,sbin,var} /mnt/bt3/
 # mkdir /mnt/bt3/{mnt,proc,sys,tmp}
 # mount –bind /dev/ /mnt/bt3/dev/
 # mount -t proc proc /mnt/bt3/proc/
 # cp /boot/vmlinuz /mnt/bt3/boot/
 # chroot /mnt/bt3/ /bin/bash

6.lilo.conf の編集
 # nano /etc/lilo.conf
 root=/dev/sda1 → root=/dev/sda3
 read-only → # read-only(コメントアウト)

 # lilo -v
 # reboot

これでブートローダーで「Linux」を選べば、VMWareから起動しますデス。

なお経験上、mkdir したのに ディレクトリができてなかったりします。
コマンドでエラーが出る場合、ターゲットがちゃんと存在するか確認して、作成されて無かったりした場合は、再度コマンドを打ってください。

5月 20

ファーストサーバに萎える

Linux Tips, タガヤ, 技術情報, 雑談 ファーストサーバに萎える はコメントを受け付けていません

この記事をブックマークする : このページをはてなブックマークに追加 このページをLivedoorクリップ! このページをニフティクリップに登録 newsing it! このページをdel.icio.usに登録 このページをBuzzurlにブックマーク

ウチのクライアントのひとつに、ファーストサーバを借りてるトコがあります。
実は別件で請けた依頼を実施中に発覚したことが。

「5月末でPHP5に強制バージョンアップ」
#6月末まで延長措置があったので、それに申し込みましたけど

ええー!
現在動いているシステムは、2005年にPHP4で書かれたもの。

実は請けたときに、
軽い気持ちでPHP5環境にごっそり移動しました。

結果、動きませんでした(汗)
PHP4と共存させる方法は知ってますけど、
本番環境にそぐわないと考え、VMWareの上で作業してました。


ああ、PHP5の環境でやり直しやん(涙)

5月 19

DNSの設定でつまずく

Linux Tips, タガヤ, 技術情報 DNSの設定でつまずく はコメントを受け付けていません

この記事をブックマークする : このページをはてなブックマークに追加 このページをLivedoorクリップ! このページをニフティクリップに登録 newsing it! このページをdel.icio.usに登録 このページをBuzzurlにブックマーク

続けてタガヤっす。

なーんも考えずにペロペロっと設定してました(汗)
すると、名前解決できない事態に陥りました。

メールとか、ロストしてないことを切に祈ります・・・

今回、いろいろとミスったことが多かったので、
恥を承知で自分のミスを公開してみます。



named.conf に、
  ・allow-recursion
  ・allow-query
を設定しました。

攻撃に利用されないための防御策なのですが、
option に記述していたので、
許可してないIPからの問い合わせを
全てシャットアウトしてました(汗)

asens.jp の名前解決ができない状態に。

asens.jp のzone に、

  ・allow-query { any; };

を追記して、asens.jp への問い合わせのみ、
どこからの問い合わせでも、回答するように修正しました。



すると、今度は社内から他の名前解決ができない。

  ・allow-recursion { none; };

が問題になってました。
社内のDNSは、自社DNSが担当しているので、
自社DNSのキャッシュにないものは、
レジストラへ問い合わせてくれると思い込んでました。

  ・allow-recursion { xxx.xxx.xxx.xxx/29; };

自分トコのIPは許可するようにしました。


DNSの世界は奥が深いw

日々、勉強ですネ・・・

2月 27

qmail + vpopmail のトラブル

Linux Tips, スタッフ別, タガヤ, 技術情報 qmail + vpopmail のトラブル はコメントを受け付けていません

この記事をブックマークする : このページをはてなブックマークに追加 このページをLivedoorクリップ! このページをニフティクリップに登録 newsing it! このページをdel.icio.usに登録 このページをBuzzurlにブックマーク

こんにちは、タガヤです。

今まで、何台ものUnix系OSのサーバを構築しました。
いろんなアプリケーションを試してみて、ある程度の「正解」を経験で覚えるわけです。

経験はお金では買えない、かけがえのないものですが、
反面、デメリットがあることをご存知ですか?

サーバ構築の話で例えると、その経験から安定動作するアプリケーションを
「無意識」のうちに選択して、それ以外を除外する傾向が現れます。

経験が固定概念を生む。

これは危険。

以前、qmail を運用したことがありましたが、
社内のPostfix派閥の圧力が強く、やむなくPostfixを標準としました。

しかし、最近では、vpopmail というアプリケーションが、
いろんな要件を吸収してくれるということで、
qmail の導入が増えている気がします。
メールヘッダを見てみればわかります。
当社が借りてるサーバも qmail のようです。

ある要件も重なって、ひさしぶりに qmail についていろいろ調べました。

インストールや設定方法は、グーグルくんに「qmail vpopmail」と聞いてください。
たくさんの情報を見つけることができます。

こうして改めて調べてみると、qmail と Postfix の長所や短所が見えて、
さらに選択肢の幅が広がりますネ。


経験と知識を

最新にアップデートする。



こういう作業は、いくつになっても必要ですネ。

2月 02

この記事をブックマークする : このページをはてなブックマークに追加 このページをLivedoorクリップ! このページをニフティクリップに登録 newsing it! このページをdel.icio.usに登録 このページをBuzzurlにブックマーク

こんにちはタガヤです。

いろいろとキャリアを積んだボクでも、日々勉強することがたくさんあります。
それだけ問題が起きてるってことですけども。
いやー、トラブルシューティングって楽しいですw(ドMか?)

さて今回見舞われたトラブルですが、
VineLinux4.2 に Tritonn をRPMでインストールして使ってます。
トランザクションが大目のテーブルには、InnoDBを使おうと思ったら、
InnoDBでCreateしても、作成されるテーブルはMyISAMになってしまいます。


mysql > SHOW INNODB STATUS;


するとエラーメッセージが表示されます。


ERROR 1235 (42000): Cannot call SHOW INNODB STATUS because skip-innodb is defined


skip-innodb なんて有効にしてたっけか?と思いつつ、
/etc/my.cnf をチェックします。

コメントアウトどころか、そんな記述さえありません。
もちろん、InnoDBの設定記述のコメントアウトは解除してます。

つまり、このエラーメッセージは間違いなのです。
さらに掘り下げて、InnoDBの状態を見てみます。


mysql > SHOW ENGINES;
mysql > SHOW VARIABLES LIKE 'have_innodb';
mysql > SHOW TABLE STATUS;


恐らくInnoDBが有効になっていないことがわかると思います。

可能性として、設定ファイルの記述内容がMySQL5に対応していない
場合が考えられますので、記述を変更します。

#innodb_data_file_path = ibdata1:10M:autoextend
innodb_data_file_path = ibdata1:10M:autoextend:max:128M
※設定内容は適宜読み替えてください

これでも改善が見られない場合、エラーログにヒントがあるかも知れません。

InnoDB: Error: data file /var/lib/mysql/ibdata1 is of a different size

ありました(汗)

どうせバックアップ取らなきゃいけないデータなんてないので、
一旦、コイツらを削除しました。

そしてmysql を再起動して、エラーをはかなくなったことを確認しました。

すると、やっと InnoDBが使えるようになりましたとさ。
参考になったサイトが英語だったので、わかりやすくはしょって日本語にしました。

http://www.xaprb.com/blog/2007/03/08/what-to-do-when-mysql-says-skip-innodb-is-defined/

2月 02

なぜ “skip-innodb is defined” って言われるの?

Linux Tips, タガヤ, 技術情報 なぜ “skip-innodb is defined” って言われるの? はコメントを受け付けていません

この記事をブックマークする : このページをはてなブックマークに追加 このページをLivedoorクリップ! このページをニフティクリップに登録 newsing it! このページをdel.icio.usに登録 このページをBuzzurlにブックマーク

こんにちはタガヤです。

いろいろとキャリアを積んだボクでも、日々勉強することがたくさんあります。
それだけ問題が起きてるってことですけども。
いやー、トラブルシューティングって楽しいですw(ドMか?)

さて今回見舞われたトラブルですが、
VineLinux4.2 に Tritonn をRPMでインストールして使ってます。
トランザクションが大目のテーブルには、InnoDBを使おうと思ったら、
InnoDBでCreateしても、作成されるテーブルはMyISAMになってしまいます。


mysql > SHOW INNODB STATUS;


するとエラーメッセージが表示されます。


ERROR 1235 (42000): Cannot call SHOW INNODB STATUS because skip-innodb is defined


skip-innodb なんて有効にしてたっけか?と思いつつ、
/etc/my.cnf をチェックします。

コメントアウトどころか、そんな記述さえありません。
もちろん、InnoDBの設定記述のコメントアウトは解除してます。

つまり、このエラーメッセージは間違いなのです。
さらに掘り下げて、InnoDBの状態を見てみます。


mysql > SHOW ENGINES;
mysql > SHOW VARIABLES LIKE 'have_innodb';
mysql > SHOW TABLE STATUS;


恐らくInnoDBが有効になっていないことがわかると思います。

可能性として、設定ファイルの記述内容がMySQL5に対応していない
場合が考えられますので、記述を変更します。

#innodb_data_file_path = ibdata1:10M:autoextend
innodb_data_file_path = ibdata1:10M:autoextend:max:128M
※設定内容は適宜読み替えてください

これでも改善が見られない場合、エラーログにヒントがあるかも知れません。

InnoDB: Error: data file /var/lib/mysql/ibdata1 is of a different size

ありました(汗)

どうせバックアップ取らなきゃいけないデータなんてないので、
一旦、コイツらを削除しました。

そしてmysql を再起動して、エラーをはかなくなったことを確認しました。

すると、やっと InnoDBが使えるようになりましたとさ。
参考になったサイトが英語だったので、わかりやすくはしょって日本語にしました。

http://www.xaprb.com/blog/2007/03/08/what-to-do-when-mysql-says-skip-innodb-is-defined/

1月 14

Vine4.2にTritonnをインストール

Linux Tips, タガヤ, 技術情報 Vine4.2にTritonnをインストール はコメントを受け付けていません

この記事をブックマークする : このページをはてなブックマークに追加 このページをLivedoorクリップ! このページをニフティクリップに登録 newsing it! このページをdel.icio.usに登録 このページをBuzzurlにブックマーク

こんにちは、タガヤです。
最近、規則正しい生活になってきました。
ケンコーってすばらしいっ!

さて、先日VineLinuxをインストールしてからサーバをいじりたおしてます。
ボクの環境は、

Apache2
MySQL(Tritonn)
PHP5
Python

上記が動いていれば、シアワセにコーディングできます。
VineにTritonnをインストールするとき、ちょっとだけつまづきます。

Tipsと言えばおおげさですが、Vineユーザを増やすために書いておきますw


「Tritonnのインストール」

・各種必要なファイルをダウンロードする

http://qwik.jp/tritonn/download.html

・rpmのインストールの前に、必要なライブラリをインストールしておく。

# apt-get install libstdc++34
# apt-get install perl-DBI

・rpmを順番にインストールする。

# rpm -i mecab-0.96-tritonn.1.0.7.i386.rpm
# rpm -i mecab-ipadic-2.7.0.20070801-tritonn.1.0.7.i386.rpm
# rpm -i senna-1.0.9-tritonn.1.0.7.i386.rpm
# rpm -i MySQL-shared-5.0.45-tritonn.1.0.7.i386.rpm
# rpm -i MySQL-client-5.0.45-tritonn.1.0.7.i386.rpm
# rpm -i MySQL-server-5.0.45-tritonn.1.0.7.i386.rpm

以上です。ライブラリが標準で入ってないので、そこだけ注意してください。

では、快適なVineライフを!

1月 11

Vine Linux4.2で久しぶりに初期設定

Linux Tips, タガヤ, 技術情報 Vine Linux4.2で久しぶりに初期設定 はコメントを受け付けていません

この記事をブックマークする : このページをはてなブックマークに追加 このページをLivedoorクリップ! このページをニフティクリップに登録 newsing it! このページをdel.icio.usに登録 このページをBuzzurlにブックマーク

おはよーございます、タガヤです。
めっちゃいい天気です、散歩に行こうかな・・・

さて、先日Linuxをクリーンインストールしました。
インストールから公開サーバとして仕上げるまでに、1時間程度かかりました。
それが早いのか遅いのかはさておき、
一番時間をかけて検証する項目は、「セキュリティ」です。

ボクは、備忘録的に初期設定に必要な作業をメモ書きするクセがあります。
最近では、その初期設定のメモを見ながら作業をするので、
昔に比べてかなり効率的に作業できるようになりました。

大体の作業はこんな感じ。

・インストール&アップデート 5分
・不必要なデーモンの自動起動をストップ(chkconfig)
・ユーザの作成
・SSHの設定(RSA鍵認証、接続できるユーザの限定)
・suできるユーザの限定
・cron設定(初期はNTPDATEのみ追加)
・Apache2のIndexesを削除
・アクセス制限(許可IPなどを記述)
・DNS設定
・IPアドレスの変更(ローカルからグローバルへ)

こんな感じです。
「suできるユーザの限定」だけ、詳しく書いてみます。
#これ以外はみんなやってることやと思ってw

/etc/login.defsに以下の行を追加。
SU_WHEEL_ONLY yes

/etc/pam.d/suの先頭に以下の行を追加。
auth required /lib/security/pam_wheel.so group=wheel

/etc/groupのwheelグループにroot権限を取得できるユーザIDを追加
wheel:x:10:root,ユーザID

これで、wheelグループに追加されたユーザのみが
suできるようになります。
これだけで、かなりセキュリティレベルが向上すると思います。