タガヤっす。
今まで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 したのに ディレクトリができてなかったりします。
コマンドでエラーが出る場合、ターゲットがちゃんと存在するか確認して、作成されて無かったりした場合は、再度コマンドを打ってください。
続けてタガヤっす。
なーんも考えずにペロペロっと設定してました(汗)
すると、名前解決できない事態に陥りました。
メールとか、ロストしてないことを切に祈ります・・・
今回、いろいろとミスったことが多かったので、
恥を承知で自分のミスを公開してみます。
◆
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
日々、勉強ですネ・・・
こんにちは、タガヤです。
今まで、何台ものUnix系OSのサーバを構築しました。
いろんなアプリケーションを試してみて、ある程度の「正解」を経験で覚えるわけです。
経験はお金では買えない、かけがえのないものですが、
反面、デメリットがあることをご存知ですか?
サーバ構築の話で例えると、その経験から安定動作するアプリケーションを
「無意識」のうちに選択して、それ以外を除外する傾向が現れます。
経験が固定概念を生む。
これは危険。
以前、qmail を運用したことがありましたが、
社内のPostfix派閥の圧力が強く、やむなくPostfixを標準としました。
しかし、最近では、vpopmail というアプリケーションが、
いろんな要件を吸収してくれるということで、
qmail の導入が増えている気がします。
メールヘッダを見てみればわかります。
当社が借りてるサーバも qmail のようです。
ある要件も重なって、ひさしぶりに qmail についていろいろ調べました。
インストールや設定方法は、グーグルくんに「qmail vpopmail」と聞いてください。
たくさんの情報を見つけることができます。
こうして改めて調べてみると、qmail と Postfix の長所や短所が見えて、
さらに選択肢の幅が広がりますネ。
経験と知識を
最新にアップデートする。
こういう作業は、いくつになっても必要ですネ。
こんにちはタガヤです。
いろいろとキャリアを積んだボクでも、日々勉強することがたくさんあります。
それだけ問題が起きてるってことですけども。
いやー、トラブルシューティングって楽しいです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/
こんにちはタガヤです。
いろいろとキャリアを積んだボクでも、日々勉強することがたくさんあります。
それだけ問題が起きてるってことですけども。
いやー、トラブルシューティングって楽しいです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/
こんにちは、タガヤです。
最近、規則正しい生活になってきました。
ケンコーってすばらしいっ!
さて、先日VineLinuxをインストールしてからサーバをいじりたおしてます。
ボクの環境は、
Apache2
MySQL(Tritonn)
PHP5
Python
上記が動いていれば、シアワセにコーディングできます。
VineにTritonnをインストールするとき、ちょっとだけつまづきます。
Tipsと言えばおおげさですが、Vineユーザを増やすために書いておきますw
◆
「Tritonnのインストール」
・各種必要なファイルをダウンロードする
・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ライフを!
おはよーございます、タガヤです。
めっちゃいい天気です、散歩に行こうかな・・・
さて、先日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できるようになります。
これだけで、かなりセキュリティレベルが向上すると思います。












最近のコメント