» Linuxのブログ記事

以前ちょと入用でCDから起動するGrubのイメージをつくった。
 
 

また必要になって作ったので、もうここに置いておこう。
 

バージョンは0.97、lvmとかext4とか言わなければだいたい役に立つだろうと。
 

http://sawano.members.icraft.jp/wpa/wp-content/uploads/grub097.iso
 

add to hatena hatena.comment (0) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 0

XenでVM起動するときに、組み込みのVNCを使うことができる。
Qemuのライブラリ使ってるとか何とか。
 

しかし、適当に順仮想で導入したCentOS5.4では、起動と同時にVNC接続できるのはいいんだがペンギンしか見えない。
 

DISPLAY情報とか起動シーケンスの文字が流れなくて実に寂しい思いをしたので出す方法を探ってみた。grub.confの書き換えでOK。
 
 

grub.conf をみたら デフォルト起動になっているセットのカーネルオプションに、
(略) console=xvc0
の記述が。

なるほどね、Xenの consoleコマンドで入る仮想端末にはちゃんと名前があって、それを指定していたのか。
 
 

ということでこれを丸ごと削除。
無事にVNCクライアント上で起動終了の様子が流れるようになった。

add to hatena hatena.comment (0) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 0

VNCを適当に入れたら、ポート5800でWEBサーバが立つじゃない。
RealVNCのJavaのアプレットがぽつんと置いてある奴。
 

あれが重たい&ちょっと別用途でWEBブラウザから使いたいと思ったので別のものを探してみた。
 
 

TightVNC
http://www.tightvnc.com/
 
これが良かった。
 
 

Viewer Only のアーカイブをダウンロードしたら、サンプルのindex.htmlをclassesの中に放り込み、適当にWEBサーバの公開領域におこう。
それだけでVNCのクライアントが使える。まあ普通のJavaアプレットの展開と同じなんだけど。
 

TightVNCの利点はこのビュワーの手軽さと、軽快な動き。
RealVNCの奴は重たくてなかなか使い物にならなかったけど、これは軽い。CLIならほとんどストレスなく動かせた。
 
 

ちなみにサンプルのHTMLはこんな感じ。
最初直接叩いてみたが、*.jarが同一ディレクトリに無いと怒られる。
 
<HTML>
<TITLE>
TightVNC desktop
</TITLE>
<APPLET CODE="VncViewer.class" ARCHIVE="VncViewer.jar"
WIDTH="800" HEIGHT="632">
<PARAM NAME="PORT" VALUE="5901">
</APPLET>
<BR>
<A href="http://www.tightvnc.com/">TightVNC site</A>
</HTML>

 
 

このファイルを編集して、パラメータを渡せば別サーバに接続とか行ける。
<param NAME="HOST" VALUE="hoge.example.com">
 
 

さてこれをどっかに組み込んでみたいなと思ってる。
なぜ今更こんなのかっていわれると、VNCで使い勝手が上がるものがあるじゃない、Qemuとか、Xenとか・・・
 
 

ただ、これを別サーバ接続用のクライアントとして使おうとしたら、ポリシーの関係で なんだっけ、SocketPermission の違反が起きちゃうんだよね。
この制限解除はどこでやるんだ?できると助かる、サーバ側で指定できるといいんだがなあ。
 


追記
やっぱクライアント側か。。

add to hatena hatena.comment (2) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 2

以前のものでiptablesのipt_recentをつかって、2行のコマンドでsshのアタックを防ごうという記事があるのだけど、とあるサーバで適用できなかったので別手段を。
 
 

(ほぼ)共同で借りているVPSレンサバがあるんだが、OpenVZかVirtuozzoかのコンテナらしくてiptablesのモジュールが自由にできないのがある。
そこではipt_recentをつかうとエラーになってしまい、前述の簡単ブルートフォース対策が使えないのだ。
 
 

仕方ないので fail2ban を使うことに。
pythonで動く、アクセス制限操作用のプログラムだ。
ちなみに導入先はCentOS5.4。
 
 

fail2banのインストール

開発元のサイトから最新のStableを落とそう、記事の時点では0.8.4だった。
http://www.fail2ban.org/wiki/index.php/Main_Page
 

RPM があるみたいだけど、ここはtarボールで。簡単だから。
 

展開したらPythonのスクリプトを流そう、Python2.3以上がいるらしいが、
まあ問題ないだろう。
# python ./setup.py install
 
なんとこれだけで終わりだ、便利になったもんだ。

 
 

"/etc/fail2ban/" に設定が一式、"/usr/share/fail2ban"にpythonのスクリプトが入る。

  1. fail2ban.conf:基本の設定
  2. jail.conf:サービス別設定

これだけ覚えてりゃなんとかなる、今回は jail.conf しかいじらない。
 
 

fail2banの動作パターン

ログを30秒ごとに監視する⇒パターンマッチしたらアクション(iptables設定追加など)
一定時間経過⇒適用済みのアクションを解除
 
という感じだ。
 
 

色々細かい設定やテストが出来るが基本はこのパターン。シンプルで他に影響が出ない。
導入の敷居としては低いんじゃないかな。
 

※当然iptablesを動かして無いと効果がない。
 
 

sshの制限(設定)

じゃあ導入のきっかけ、sshの制限をしよう
 
 

jail.confにもともと書いてある設定をちょっといじる。太字は大事なとこで、他も適当に書き換えよう。
 

[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
# sendmail-whois[name=SSH, dest=hogehoge@example.com, sender=fail2ban@mail.com]
logpath = /var/log/secure
maxretry = 5

 

有効にして、メール通知やログパスの設定を環境に合わせる。
通知はコメントアウトしているが、動作確認などでは便利なので安定動作を確認するまで使ったほうがいい。
 
 

sshの制限(デーモン稼働)

fail2banの軌道方法だけど、スクリプトが用意してある。
デーモンモードとなり、制御端末は切り離されるのでログアウトしても心配いらない。
# /usr/bin/fail2ban-client start
 

設定を変更した場合などは、
# /usr/bin/fail2ban-client reload
 
 

自動起動についてだけど、init.d/に置くスクリプトはとくに用意してないみたいだったので、inittabに書いちゃったな。
これについてはきっちり試してないのだが多分大丈夫だろう。
 
 

fail2banの様子

とりあえず同一のIPから600秒以内に5回ログインミスったらbanするように(さっきの設定)した。
デフォルトではbanして600秒たったら元に戻る。
 

"/var/log/fail2ban.log" にbanの様子が記録されるので見てみよう。

# tail /var/log/fail2ban.log
2010-03-23 18:20:55,628 fail2ban.actions: WARNING [ssh-iptables] Ban 211.142.19.251
2010-03-23 18:30:55,810 fail2ban.actions: WARNING [ssh-iptables] Unban 211.142.19.251
2010-03-23 21:35:14,533 fail2ban.actions: WARNING [ssh-iptables] Ban 211.142.19.251
2010-03-23 21:45:14,707 fail2ban.actions: WARNING [ssh-iptables] Unban 211.142.19.251
2010-03-23 22:33:37,424 fail2ban.actions: WARNING [ssh-iptables] Ban 211.157.108.132
2010-03-23 22:43:37,616 fail2ban.actions: WARNING [ssh-iptables] Unban 211.157.108.132
2010-03-24 00:00:34,088 fail2ban.actions: WARNING [ssh-iptables] Ban 64.3.96.221
2010-03-24 00:10:34,310 fail2ban.actions: WARNING [ssh-iptables] Unban 64.3.96.221
2010-03-24 00:53:33,939 fail2ban.actions: WARNING [ssh-iptables] Ban 211.142.19.251
2010-03-24 01:03:34,114 fail2ban.actions: WARNING [ssh-iptables] Unban 211.142.19.251

おお、引っかかってるね。Banして、10分後にUnban、10分もすりゃたいがい攻撃は終わってる。
こいつらほっといたら万単位で試行しやがる、まったく。
 
 

ついでにログを何秒間隔で掘っているのか気になったのでstraceして測ってみた。
# strace -p 26424
Process 26424 attached - interrupt to quit
poll([{fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 1, 30000) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 1, 30000) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 1, 30000) = 0 (Timeout)

30秒間隔見てるね、まー十分だろう。
 
 

他にも各種サービス用の設定がプリセットされていた、使いやすいツールの一つとして覚えておこう。
 

add to hatena hatena.comment (9) add to del.icio.us (0) add to livedoor.clip (1) add to Yahoo!Bookmark (0) Total: 10

Androidを試したいという要望があったので調べたら、x86で動かすプロジェクトがあるじゃない。これならPCで動くんだ。
http://www.androidx86.org/
 
 

リモートデスクトップで操作することを考慮して、VirtualBoxに入れてみた。
 

 

公式のISOファイルを落としてきてそれから起動して仮想HDDにインストール、導入は数分で完了してしまったな。
ダウンロードに掛かった時間の方が長かった。
 

画像:android1.6 on Virtualbox
 

これはカンタン面白いので是非。
Nexus Oneはandroid2.1なので、1.6はちょっと古いのかな?
 
 

アプリケーションを追加するなど、もう少しちゃんと触ってみたいという場合は、このへんの情報を参考に導入したらよいようです。
>> Android-x86で各種設定、アプリケーションインストール
 

add to hatena hatena.comment (1) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 1

普通に入れたら起動しないし、前回記事みたいにオプションを変更しても無理だった。
 

http://08thse.blog87.fc2.com/blog-entry-185.html
を見て、Genericの下の、RCU Subsystem あたりで調整。
CONFIG_SYSFS_DEPRECATED_V2=y
になるように。
 
 

画像:最新カーネル on Hyper-V
 

一応起動したが、Hyper-V用の追加機能が入れられなかった。
これじゃあちょっと使いもんにならない気がするので、yumで入れたバージョンに戻した。
カーネルとドライバ、どっちのせいで入らないのかなあ。
 

add to hatena hatena.comment (1) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 1

したら次回起動で止まる。
 

性格にはvmbusを有効にすべく、追加機能をインストールしている場合に止まる。自動で追加されるオプションの影響みたい。
 

追加機能導入後の状態でyumからカーネルをアップデートしてしまうと、 起動時に switchroot の所で新しいルートをマウントできずに止まっちゃう。
 

いったん grub.confでカーネル指定のオプションから
hda=noprobe hdb=noprobe
を消したらOKだった。

マトモに起動したら、追加機能を改めてインストールすればよろし。

add to hatena hatena.comment (0) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 0
Page 1 of 1212345...Last »

他のサイト

■OSC関西@神戸
資料公開中

はてなの別館
・犬の話
・家の話
・政治の話

※注意

I
KOBE×
BUSINESS.

これは個人ブログです、内容についてアイクラフト(株)は責任を負いません。
にほんブログ村 IT技術ブログへSawanoblogのフィード
人気ブログランキングへ
この日記のはてなブックマーク数
はてなRSSに追加
Googleに追加
My Yahoo!に追加
livedoor Readerに追加
goo RSSリーダーに追加
フィードメーター - SawanoBlog.
MCP
MCTS
CCNA

ミニブログとか

あわせて読みたいブログパーツ
  • 第17回まっちゃ139勉強会に行ってきました
    写真:東本願寺前から京都タワー


    pythonのコマンド一行WEBサーバは便利、ファイル転送やWEBアプリの確認に
    画像:WEBブラウザでアクセス


    ポストに神戸市長選挙公報
    写真:神戸市長選挙公報


    Googleのページランク ”1” がついた
    画像:その時のSEOSTATS


    Windowsのバッチファイル、.bat, .cmd どっちを使うか
    図:cmdファイルのプロパティ


    借り物づくし
    Integral-102V
  • Amazon用