CentOS5+ENMAを試す

iij からSPFチェックのプログラムが公開されているので試してみた。

公開しているところ
http://sourceforge.net/projects/enma/

RPM形式のファイルをダウンロードして
(wgetなら)
wget http://jaist.dl.sourceforge.net/sourceforge/enma/enma-1.1.0-1.i386.rpm
rpm -ivh enma-1.1.0-1.i386.rpmでインストール

変更したところは2ヶ所です。
/etc/enma.conf を修正
milter.socket: inet:10027@127.0.0.1
milter.postfix: true

/etc/postfix/main.cf に追加
smtpd_milters = inet:127.0.0.1:10027

socketは他で使っていたので変更しました。
これで、OKでした。
外部からメールを送信してみて、ヘッダーにAuthentication-Results:…が追加されていることを確認しておしまいです。
他にもenma.conf内の設定でdkimもチェック出来るようです。
メモ dkim-milterのRPMパッケージは
http://www.topdog-software.com/oss/dkim-milter/
の中にあります。

パーマリンクの設定で悩む

元々が普通のHTMLで組んだサイトにWordPressを放り込んでブログも出来ますよ的に作っていましたが、Pageを使うと普通のサイトのようになることを今頃になって知ったので、いくつかのテンプレートを用意してWordPressに移しました。
よく分からないのまま、作ったページへのリンクを設定しようとした時に宛先のURLが ?page_id=”Number” になっていることに気づき、このままじゃ頂けないのでウェブで探すと、こーゆー時はパーマリンクを設定すると良いらしいことが分かった。
htaccessとか、その都度つまづいてきたが、なんとかパーマリンクを設定できた。
が、ブログのページだけはアクセスできず、???の状態でしたが、最初にhttp://mydomain/blogで設定したので、今回のブログのページに設定した、http://mydomain/blogと同じになってしまうことがアクセスできない原因らしい。ようやく原因も分かり、今はちゃんと http://mydomain/blogでアクセスできるようになりました。
当初の設定でWordPressにアクセスできるようにApacheにAliasを設定していたのが原因でした。

APC 940-0023Aのまとめ

940-0023Aについてのまとめ

APC SmartUPS に AP9607の拡張カードを増設した際には、Linuxマシンとの接続には AP9823 InterfaceKit B のケーブルが必要になります。

APC Part# – 940-0023A

Signal Computer UPS
DB9F DB9M
DCD 1 ——————– 2 On Battery

      3.3K ohm
TxD 3 –[####]-*
          |
DTR 4 ———*
GND 5 —————*—- 4 Ground
             |
             *—- 9 Common

APCUPSDの公式サイトよりコピペ

940-0024CのケーブルについてはAPCでも販売していますし、Yahoo!オークションでも安価に入手が可能です。
結線図が有るので工作が得意又は、できる人なら自作も可能ですが、私みたいに自作できない人はケーブル加工をしてくれるところでオーダーするとお金が掛かりますが、940-0023Aと同等品が入手可能になります。
純正品にこだわるのであればPowerChute Business Edition Deluxe for Linux,Unix Expander用 型番:SSPCBEL1SJ を購入すると940-0023Aが付属されています。

オーダーしたケーブルが届いたので、PCとUPSに接続してみました。

apcupsd.conf
UPSCABLE 94-0023A
UPSTYPE dumb
DEVICE /dev/ttyS0

の3箇所を変えるとPCで動作するようになりました。

一つのUPSにつなぐPCのIPアドレスが同じセグメントに無い場合や、余計なポートを開かなくても良いのでパケットフィルターの設定も不要になります。

APCのケーブル(940-0023A)をオーダーしてみました

APCのSmartUPSにオプションの拡張カード(2-Port Interface Expander Card (AP9607))を挿すことでシリアルケーブルで接続できるパソコンを増やすことができます。なので、ヤフーオークションで拡張カードを入手して、ケーブルをつないだら、何故かUPSの情報を取得できません。検索して分かったことは拡張カードのポートをLinuxマシンと接続する時は別のケーブルが必要になるということでした。このケーブルはInterface Kit: B (AP9823)7245円として販売されていましたが、現在な販売していません。このケーブルを入手するにはAPCのソフトウェアに同梱されているので、PowerChute Business Edition Deluxe for Linux,Unix Expander用 (SSPCBEL1SJ)を購入する必要が有ります。しかしながら、APCUPSDを使っているのでPowerChuteは必要ない事と、お値段が少々お高い(インターネットで調べても15000円位)ので悩んでいましたが、ケーブル加工してくれる所にオーダーする事にしました。前述のInterface Kit: Bは3000円しない程度の価格で販売されていたのでオーダーするとどの程度か心配でしたが、税込みで4515円となりました。ケーブルの加工を受け付けてもらえる所は他にもあるので価格については、安いところがあるかもしれません。

オーダーしたお店
   アイ・ビー・エス・ジャパン

結線に関してはAPCUPSDの公式サイトのマニュアルを参考にしました。これで拡張ボードが無駄にならなくて済みそうです。

apcupsdのエラー(2)

apcupsdでセグメントが異なるネットワークの使用ができないと書いてしまいましたが、ちゃんとできました。パケットフィルターの設定が不足していたためにダメだったようで、パケットフィルターの設定を追加した所、正しい動作をするようになりました。

apcupsdのエラーのメモ

CentOS-5.3、rpmforgeのリポジトリからyumでapcupsdをインストールしてみました。(因みにapcupsdのバージョンは3.14.3)

UPSとシリアルケーブルで接続されたPC(サーバ)
apcupsd.confの変更箇所
   UPSCABLE 940-0024C
   UPSTYPE smartups
   DEVICE /dev/ttyS1
   UPSCLASS standalone
   UPSMODE disable
   TIMEOUT 180

UPSサーバと連動させるPCの設定
   UPSCABLE ether
   UPSTYPE net
   DEVICE サーバのIPアドレス:3551
   UPSCLASS standalone
   UPSMODE disable
   NETTIME 60
   TIMOUT 160

最低限の設定で、サーバとクライアントの接続ができたけれど、クライアントでapcupsdを起動させるとWarning communications lost with UPSと表示される。iptablesでTCP 3551はチャンと開けた。ログもそれらしいのは記録されていない。何故だろうと???のまま、検索して見つかりました。
答えは、サーバとクライアントは同一のネットワークに接続されていないと、apcupsdのネットワーク機能は働かない。当然ですが、同一ネットワーク内で設定したらエラーは出なくなりました。
サーバ(192.168.100.x)とクライアントPC(192.168.200.x)のネットワークセグメントが違っていたのが原因でした。
一つのUPSで異なるネットワークの機器を管理するようにするにはオプションのカード(AP9607)を挿してシリアルポートを増設しないとダメらしいです。(ケーブルも必要です)—>両方共にYahoo!オークションでも入手可能。
apcupsdの情報は検索すればすぐに見つかるけれど、バージョンの古い設定方法が多く結局公式サイトのマニュアルを参照して上手く行きました。

Rapid-SSLのサーバー証明書の更新

MD5の脆弱性が見つかり、サーバー証明書が偽造できるらしい。その時のテストに使用したのが、Rapid-SSLの証明書だった訳ですが、当サイトもRapid-SSLからの証明書を使用している身としてはちょっと不安でしたが、https://www.geotrust.com/support/ssl-certificate-reissuance/にアクセスして、SHA1で署名された証明書に更新できます。SHA1も完全では無いらしいのですが、しばらくは安心できそうです。

DNS Csche Poisoningの攻撃

最近、DNSのキャッシュ汚染の攻撃が多いです。一応対策はしてあるので問題はないのですが、ログが気になるので何とかしたいと思って検索してみれば、

iptablesで何とかできるようです。

(1) recentを使う方法

(2) hashlimitを使う方法

(3) u32を使う方法

OSがCentOSなのでu32を使う場合はカーネルの再構築が必要になるようなので、u32を使う方法はあきらめました。

参考 https://lists.dns-oarc.net/pipermail/dns-operations/2009-January/003488.html

iptables -A INPUT -p udp –dport 53 -m u32 –u32
“0>>22&0x3C at 12>>16=1&&0>>22&0x3C at 20>>24=0&&0>>22&0x3C at 21=0×00020001″ -j
DROP

(2)のhashlimitを使う場合の設定は下記の設定を参考にすれば動くと思います。

参考 http://dsas.blog.klab.org/archives/50208645.html

(1)のrecentを使う設定はググるとたくさん出てきます。

参考 http://www.dit.co.jp/service/bruteforce_def/index.html

基本的にはSSHのブルートフォースアタックに対しての対策法と同じで、連続して接続する相手を閉め出すというものです。

u32が使えないので、まずはhashlimitを使って設定してみて様子を見てます。

CentOS-5 NFSが変

CentOS-5でNFSを設定したがうまくいかない。

CentOS-5 では通常、 /etc/sysconfig/nfs 内に

LOCKD_TCPPORT=32803

LOCKD_UDPPORT=32769

MOUNTD_PORT=662

STATD_PORT=662

と記述しておくと、NFSの使用ポートを固定できるようになっています。

NFSクライアントでマウントはできるのですが、マウント後の動作が安定していない。

rpcinfo -p を見てみると nlockmgr の値が指定した値になっていないことに気がついた。ウェブで検索してしてみても同様のトラブルは見つからないので、再三設定を見直してみても、変な箇所は見つからず、どうしたものか分からなかったが、とりあえずの処置で nfs の再起動をして回避できることが分かったので、/etc/rc.local に追記した。

/etc/rc.local

/etc/rc.d/init.d/nfs restart

これで起動後にNFSを再起動させて、指定したポートを使うようになった。

BONDING(Active-BackUp)を設定してみた

サーバ機にはNICが2つ付いている。そこで冗長化を目的としてBONDINGを設定してみた。Active-Backupは特別なスイッチやNICを必要としないので、お手軽に冗長化ができます。

CentOS-5で確認

/etc/modprobe.conf に追記

alias eth0 bnx2

alias eth1 bnx2

alias bond0 bonding

 

/etc/sysconfig/network-scripts/ifcfg-eth0 以下に修正

DEVICE=eth0

MASTER=bond0

SLAVE=yes

BOOTPROTO=none

HWADDR=NICのMAC-Addr

/etc/sysconfig/network-scripts/ifcfg-eth1 以下に修正

DEVICE=eth1

MASTER=bond0

SLAVE=yes

BOOTPROTO=none

HWADDR=NICのMAC-Addr

 

/etc/sysconfig/network-scripts/ifcfg-bond0 以下の様に作成

DEVICE=bond0

IPADDR=サーバー機のIP-Addr

NETMASK=サーバ機のサブネット

NETWORK=ネットワークアドレス

GATEWAY=ゲートウェイアドレス

ONBOOT=yes

BOOTPROTO=static

BONDING_OPTS=”mode=1 primary=eth0 miimon=100 updelay=5000″

 

設定が終わったら再起動させて、eth0側のケーブルを引っこ抜いてみる。

ログを見てみて、eth1がアクティブになっていることを確認、通信できるか確認する

抜いたケーブルを接続して、ログを確認 –> eth0がアクティブになっていることを確認して、通信できる確認する。

 ネタ元 IBMのサイト内のPDFファイルです。

Bonding ドライバー利用ガイド for RHEL5