無料ブログはココログ

パソコン・インターネット

2012年9月23日 (日)

ホームゲートウェイ BL172HWのポート開放

RTX1100を買ったので、以下を参考にポート開放を設定。

http://www.akakagemaru.info/port/atermBL170HV.html

BL172HVも内容は同じ。仕様書などで見当たらなかったので、かなり悩んだが、
ポート開放を行うには『第四オクテットが40~140』である必要があった。
最初、192.168.254.240をローカルルータのWAN側に設定していたので、まったく通信が通らず、PPTP・IPsecでのVPN接続ができなかったのだ。

ローカルルータに192.168.254.100を充て、ポート500・4500・ESPをポートマッピングを設定したところ、L2TP/IPsecで外部からVPN接続できることを確認。

フレッツ光+RT57iでPPTPを接続をしていたのが、auひかりにしてからできなくなって不便だったのだが、これで解消できた。

2011年3月 4日 (金)

bingバーをインストールすると、ユーザーの意思に関係なく、Amazon・google・facebookにTracerouteが行われる。

最近気がついたこと。

snortで、"Cyberkit 2.2 ping"というものを引っ掛けるのがやけに多いと思ったら、
bing barのせいだったらしい

検出されたPCでブラウザのプラグインを無効にしたら出なくなった。

とりあえず、マイクロソフトフォーラムには質問を投げておいたけれど、ユーザーに
知らせずに他社にtracerouteをかけるなんて、下手したらDDoS攻撃といわれかねない
話だと思う。
特にマイクロソフトなんて巨大企業だと、bingバー入れる人だって結構な
数いるだろうし。

確か一部のメーカー製PCではプリインストールされているものすらなかったっけ・・・?

オプションを変えれば出なくなるのかも知れないが、初期ではTracerouteが出るように
なっていること自体が問題な気がする・・・・・・・。

(追記)

たまにごらんになっている方がいるようなので、解消方法を。

bingバーのオプションに「品質」という項目があり、そこでMicrosoftに協力するかどうかを選択することができるのだけど、そこで協力しないように選択肢を選ぶとpingはでなくなるようです。

バージョンが変われば動きも変わるかもしれないので責任は持ちませんが、お試しあれ。

2011年2月17日 (木)

なぜかスパムに標的にされるアドレス

普通、スパムが標的にするアドレスといったら、webadminとか、infoとかのアドレスだと思うのだけれど、うちに来るアドレスの一番人気はなぜか"fitivufesedd""nuxi"といったアドレス。

しかも、いずれもひとつの地域だけではなく、いろいろなところから来ている。
特に意味のある単語でもなさそうなのに、何故・・・・・・・??

2011年2月13日 (日)

Sort -Mは日本語環境ではうまく並べ替えできない。

sortコマンドは、月の略称の並べ替えの時、環境変数LANGの影響を受ける。

そのため、JanFebなどで並べ替える場合、LANG"ja_JP"だとうまく働かない。

この場合は、envコマンドの後にsort -Mを設定して、一時的にLANGを英語モードに

してあげればよい。

#grep -h ntpd /var/log/messages*|env LANG=C sort -M|less

2011年1月19日 (水)

サーバーのCPU負荷などを調べるときに、psは使用できない。

CPU負荷を調べる時には、pstopsarなどを組み合わせれば監視できる・・・

と思っていたのだが、psは監視にはまったく向かないことが判明。

manpage of ps

http://linuxjm.sourceforge.jp/html/procps/man1/ps.1.html

から抜粋

  %cpu  %CPU  プロセスの cpu 使用率は "##.#" というフォーマットである。

  現在のところ CPU 使用率は、プロセスの生存期間中に実行に利用した時間のパーセンテージで表される。

ということは、psを取った瞬間に、どのプロセスがCPUを使っているか、なんて情報はpsでは返してはくれないわけ。

あくまで、プロセスを起動してから、psを実行した瞬間までの時間の中で、どれくらいの時間CPUを使用したか、ということが割合で示されているだけになる。

なんともはや・・・・・。

ついでにsartopCPU割合の時間についても確認

sarは、CentOSではcron.dに最初から以下の項目が入っているので、10分ごとに1秒間でCPUにどれくらいの負荷がかかったかを記録してくれる。
たとえば、6:00:00から6:00:01の間にどれくらいCPU負荷があったか、とか。

*/10 * * * * root /usr/lib/sa/sa1 1 1

topは、manpageによると・・・・

k: %CPU  --  CPU 使用率

前回のスクリーン更新からの、タスクの所要 CPU 時間の占有率。総 CPU 時間のパーセンテージで表される。

全体のデフォルト

   * 'd' - 遅延時間         3.0

ってことだから、topを見ている間、3秒間隔でCPUにどれくらい負荷がかかったかを表示してくれるということ。

このあたり、調査のためにログを作成するとなるとかなり重要なことなんだけど、併記してくれるところは見た感じどこにも無い。

企業が作っているような比較的固いページですら、取得間隔やどのような数字なのか、はっきり書いてくれているところはどこにも見当たらない。

なぜだろう・・・・・・・。

2010年12月31日 (金)

VALUE-DOMAINの引っ掛かりがちな罠(というほどのものではないけど)

ダイナミックDNSで、サーバー名を*にすると全ホストが更新されるとある。
が実はこれはもともとの登録に「A * (IPアドレス)」を設定しておかないと有効にならない。

サブドメインに*以外を登録してある(@、www、mailなど)場合は、それぞれについて更新を
かけるよう、スクリプトを組むなり、DiCEなんかの設定をしておくなりする必要がある。

更新はたまに失敗するので、エラーを検出できるようにしておいたほうが確実かも。

2010年11月 6日 (土)

dovecotのファイル命名規則

ちょっとしたメモ。

dovecot 1.0.7では、Maildirでファイルを保存するときに、ファイル名が[数字9桁].V[数字+英字].サーバー名になっている。

IMAPで同期してサーバーにアップロードした場合は、ファイル名が、二つ目の部分が、Vの代わりにP[数字+英字]になる。

2010年9月13日 (月)

FTPでアップロードさせるためのSElinuxの設定

先日の続き。
SElinuxのポリシーを追加させて、vsftpdでファイルの操作ができるように設定します。

本来は、permissiveモードでログを吐き出させてから処理するわけですが、前回すでに
permissiveでの動作確認はしているので、省略。

問題は、/var/log/messagesログに吐き出されなかったこと。では一体どこにログはあるのか。

正解は/var/log/audit/audit.logでした。前回コマンドでみたログがばっちり吐き出されてます。

type=AVC msg=audit(1284210656.848:43949): avc:  denied  { remove_name } for  pid=24544 comm="vsftpd" name="init.cgi" dev=hda1 ino=
1279561 scontext=user_u:system_r:ftpd_t:s0 tcontext=user_u:object_r:httpd_sys_content_t:s0 tclass=dir
type=AVC msg=audit(1284210656.848:43949): avc:  denied  { rename } for  pid=24544 comm="vsftpd" name="init.cgi" dev=hda1 ino=12795
61 scontext=user_u:system_r:ftpd_t:s0 tcontext=user_u:object_r:httpd_sys_content_t:s0 tclass=file
type=AVC msg=audit(1284210656.848:43949): avc:  denied  { unlink } for  pid=24544 comm="vsftpd" name="init.cgi.old" dev=hda1 ino=1
279564 scontext=user_u:system_r:ftpd_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=file

ログがわかったので、「audit2allow」コマンドで結果を吐き出させます。

audit2allow -i /var/log/audit/audit.log -m vsftpd
[-i]オプションはインプット用ログの指定、[-m]は対応したモジュール名の指定。
一応、上記のコマンドで結果だけ表示させます。

module vsftpd 1.0;

require {
        type ftpd_t;
        type httpd_sys_content_t;
        class dir { write remove_name add_name };
        class file { write rename create unlink append };
}

#============= ftpd_t ==============
allow ftpd_t httpd_sys_content_t:dir { write remove_name add_name };
allow ftpd_t httpd_sys_content_t:file { write rename create unlink append };

どうやら大丈夫そうなので、モジュールを作成します。

audit2allow -i /var/log/audit/audit.log -M vsftp

これで、カレントディレクトリに「vsftpd.te」「vsftpd.pp」が作成までされます。
後は、再読み込み。

semodule -i vsftpd.pp

しばらくして、プロンプトが表示されれば終了です。
結果、FFFTPからファイルの削除・書き込みなどができるようになりました。

参考:
AUDIT2ALLOW -- コマンドの説明
CentOS 5.2 でSELinuxを設定する方法

2010年9月 9日 (木)

FTPでファイルをアップロードできない・・・・

自宅のサーバーではvsftpdを使用して、FTPサーバを動かしています。

しばらく前まで、特に問題なくつかえていたのですが・・・
最近になって、FFFTPからファイルのアップロード・名前変更・ファイル削除などができなくなっていたことに気付きました。

ファイルのパーミッションなどをみても特に問題がありそうな様子がなく、実際SSHで
目的のユーザーでログインしたときにはファイルが削除できます。

SSH上でftpクライアントを使用してアクセスしてもファイルの削除に失敗するため、
FFFTPの問題ではありませんでした。

たいがい、こんな時は悪さをしているのがSElinuxなんですが、SElinuxでファイル削除を拒否しているはずのログが/var/log/messagesにでてこない・・・・。

仕方ないので、一度SElinuxをenforceからpermissiveに変更して動作を確認します。

#setenforce 0
#getenforce
permissive

この状態でファイルの削除ができました。SElinuxのせいではないのははっきりしましたが、
ではなぜログがでてこないのか・・・・・。
別のコマンドでログを表示させることができました。

#/sbin/ausearch -m AVC
(中略)
type=AVC msg=audit(1283960056.850:42236): avc:  denied  { remove_name } for  pid=9086 comm="vsftpd" name="init.cgi.new" dev=hda1 ino=1279561 scontext=user_u:system_r:ftpd_t:s0 tcontext=user_u:object_r:httpd_sys_content_t:s0 tclass=dir

これで確実。
今日はちょっと時間がないので、permissiveモードでファイルのアップロードだけして、enforceに戻しておきました。

2010年1月11日 (月)

CentOS復旧顛末記2 -- apache復旧

データが吸い出せたので、apache、HPデータの復旧に入ることにしました。
HPにはMovableTypeを使っていたため、データベースを復旧させなければいけないかと思っていましたが、データベース復旧前にとりあえず復活できました。

※※復旧できたconfデータは/salvageディレクトリに、各ユーザーのデータは/salvageディレクトリに各ユーザーごとのディレクトリを作って置いています。

---------------------------------------------
※先にファイアーウォールのルールを復旧させ、iptablesを起動しなおします。
 #mv /etc/sysconfig/iptables /etc/sysconfig/iptables.default
  #cp /salvage/iptables /etc/sysconfig/iptables
  #service iptables restart

1.HPを公開していたユーザーを新規で作り直します。
 #useradd hogehoge
  #passwd hogehoge

2.作り直したユーザーのホームディレクトリに、HP用のディレクトリを作成しなおし。
  #mkdir /home/hogehoge/public_html

3.HPのデータはすべて復旧できていたので、上記のディレクトリにすべてコピー。
 #cp -rf /salvage/hogehoge/public_html/* /home/hogehoge/public_html

4.あらかじめ、yumでapacheをアップデート
 #yum update httpd

5.SElinuxを有効にしているので、public_htmlのタイプを修正
 #/sbin/restorecon -R ~/public_html

6./etc/httpd.confを復旧
 #mv /etc/httpd.conf /etc/httpd.conf.default
  #cp /salvage/httpd.conf /etc

7.apacheを起動
 #service httpd start

8.HPが見えることを確認して、chkconfigで再起動時にもhttpdが起動するようセット
 #chkconfig --level 3 httpd on

----------------------------------

以上で復旧。
とりあえず、ブログ・cgiは正常に動作しました。
まだデータベースを復旧させていないため、管理はできませんが、最悪の事態は回避できたのでとりあえず一安心です。

なお、表示だけなら、上記の手順でよいのですが、root権限などで手順を実行するとあとで困ります。HPデータを管理する際、各ユーザーに権限がないので、データの削除などができなくなってしまいます。
できれば、コピーは各ユーザー権限で行うようにsuで入りなおすか、コピー後に以下のコマンドで所有者を変えておきましょう。

#chown hogehoge:hogehoge *

その他のカテゴリー