Asterisk の設定で、ハマったところだけ抜き書きしておく。
1)FXS の設定で「Register Expiration:
(in minutes. default 1 hour, max 45 days) 」 程度にしておかないと、テスト中 register 動作がうごかない
2)SIP User id/ secret の設定: asterisk(chan_sip/sip.conf) 側で、設定する場合
[phone number] →Authenticate ID:
secret → Authenticate Password:
に対応しているように思える。(特に[phone number] 側については検証が必要)
電話機なので呼び出し番号が入るのが普通だけれども、そこを変えてしまうと
どうも組み合わせが合わない。 - Wrong password
設定例などは、 [ht503fxs]とかになっているけど、これがAuthenticateに使われる
ように思える(推測の理由:phone number に揃えたら動いた)
3) host=dynamic にしないと register が失敗する - Peer is not supposed to register
固定IP、有線でつなげるアダプタなのだが、レジスタ動作が動的割り当てに即した
もののようである。なので、dynamicとすると動く(そうなる理由はわからないが、
dynamicじゃないからだとデバッグログがいうのでそのようにした)
どうも用語が一致しないなどの、いわゆる「業界標準ができてない」世界のゴタゴタを
理解するのに大変苦労すること。大昔から通信屋と電算屋は仲がとても悪いように思う。
以上
2016年12月26日月曜日
2016年3月8日火曜日
qmail-spamocontrol / STARTTLS
qmail-spamcontrol の 運用について少し書く。
このパッチをすると、qmail-remote は TLSに対応する。
/var/qmail/control/tlsdestinations
制御ファイルを設置する と 接続先の サーバが、STARTTLS 対応していいればセッションをTLSで保護することができる。
このパッチの 2.7.31 では SSLv3以前のプロトコルでセッションを行おうとするが、もう既に "POODLE" "HEARTBLEED"、先週(2016/03/01) 発表になった "BROWN" などの脆弱性を突いてくることがわかっているために、これらの古いプロトコルを迂闊に使えると、最悪は SMTP セッション開始を 拒否される。
故に、2.7.32 以降のパッチが必要なのだが、port作者がさぼっている。
letsencrypt が FreeBSDでも稼働するようなったので、STARTTLS には多くの問題を抱えながらも、今後は強制的になっていくのではないかと考えている。 DKIMがそれほど普及もせず、 SPFも適当すぎるため、これらの後付け SMTP の付属物がロクなことをしないのは知っているのだが、少なくともデータのやりとりにTLSの保護は役に立つだろう。
このパッチをすると、qmail-remote は TLSに対応する。
/var/qmail/control/tlsdestinations
制御ファイルを設置する と 接続先の サーバが、STARTTLS 対応していいればセッションをTLSで保護することができる。
このパッチの 2.7.31 では SSLv3以前のプロトコルでセッションを行おうとするが、もう既に "POODLE" "HEARTBLEED"、先週(2016/03/01) 発表になった "BROWN" などの脆弱性を突いてくることがわかっているために、これらの古いプロトコルを迂闊に使えると、最悪は SMTP セッション開始を 拒否される。
故に、2.7.32 以降のパッチが必要なのだが、port作者がさぼっている。
letsencrypt が FreeBSDでも稼働するようなったので、STARTTLS には多くの問題を抱えながらも、今後は強制的になっていくのではないかと考えている。 DKIMがそれほど普及もせず、 SPFも適当すぎるため、これらの後付け SMTP の付属物がロクなことをしないのは知っているのだが、少なくともデータのやりとりにTLSの保護は役に立つだろう。
qmail-spamcontrol 2.7.32 for FreeBSD-ports (private ed.)
さて qmail-spamcontrol が 古いので、 2.7.32 にしたい。
手順を以下に記す。
手作業でやっていたが、
FreeBSD port 作成者のためのハンドブック 3.3 に
qmail-spamcontrol の FreeBSD-ports には、これ以外にも問題があるのだが、とりあえず今回はこれで済ませることにする。
以上
手順を以下に記す。
- vi /usr/ports/mail/qmail-spamcontrol/Makefile
- 1,$s/2731/2732/
- wq
- make makesum
手作業でやっていたが、
FreeBSD port 作成者のためのハンドブック 3.3 に
とあり、それで問題は解決した。3.3. チェックサムファイルの作成
make makesumと入力するだけで、 (訳注:bsd.port.mkに書かれている) port 生成ルールに従い、 自動的にdistinfoファイルが生成されます。
qmail-spamcontrol の FreeBSD-ports には、これ以外にも問題があるのだが、とりあえず今回はこれで済ませることにする。
以上
qmail-spamcontrol
FreeBSD-ports で qmail-spamcontrol を使っている。
SPAMCONTROL
この記録を書いている時点(2016/03/8) で、FreeBSD-portsでは、 2.7.31 である。
少々古く
もあり、qmail-remoteにパッチを加えて STARTTLSが可能になるのだが、これにいささか問題
を抱えているので、 2.7.32 としたい。 さてどうするか。
過去において 1. の手続きをしたり、port author に伝えたところでも「ああそれは知ってる知ってる」みたいな態度、メンテナにスルーされたり、大抵ロクなことがないので、2.をやって Blogに書いて反応があるのをみることにした。 作業は大したことではない。
(続く)
SPAMCONTROL
この記録を書いている時点(2016/03/8) で、FreeBSD-portsでは、 2.7.31 である。
少々古く
" 30 Oct 2015 23:07:16
![]()
1.03.2731_2 "
もあり、qmail-remoteにパッチを加えて STARTTLSが可能になるのだが、これにいささか問題
[2.7.32] Fixed TLSv1 negotiation error for qmail-remote; disables SSLv2/SSLv3 connections for qmail-remote (Poodle bug in SSL).
を抱えているので、 2.7.32 としたい。 さてどうするか。
- FreeBSD-portsの正式な手続きを通して報告してパッチしてもらう
- 自分でパッチを拵えて満足する
過去において 1. の手続きをしたり、port author に伝えたところでも「ああそれは知ってる知ってる」みたいな態度、メンテナにスルーされたり、大抵ロクなことがないので、2.をやって Blogに書いて反応があるのをみることにした。 作業は大したことではない。
(続く)
2015年7月2日木曜日
nodejs、非同期、Promise 爺の手習い
四十の手習いで、node.js での開発をやってみる。
とりあえず、こんな感じである。
クロージャなんかもひいこら云ってるけど、もうjQueryで結構見てるので理解しないで動かしている恥ずかしい。理解したトコロで非同期処理されないのを保証しているクロージャ囲みのウザさ(例外処理がわやだコンチクショウ)的なところが。
・promise 使ってみた例(丸パクリだけど概念としてコレが一番大事だった)
- V8って何よ
- node.js ってscriptのくせにサーバ書けるの?かなり生意気じゃね
- javascript 型がないし、.で処理つなげたり function(hoge,function({} キモい
- げー、非同期処理なのかよ。順序よく処理させるの苦労するじゃねえか
とりあえず、こんな感じである。
クロージャなんかもひいこら云ってるけど、もうjQueryで結構見てるので理解しないで動かしている恥ずかしい。理解したトコロで非同期処理されないのを保証しているクロージャ囲みのウザさ(例外処理がわやだコンチクショウ)的なところが。
・promise 使ってみた例(丸パクリだけど概念としてコレが一番大事だった)
function p(str) {
return new Promise(function(resolve) {
setTimeout(function() {
resolve(str);
}, 1000);
});
}
//
p('Async 1').then(function(result) {
console.log(result);
});
console.log('Sync 1');
promiseで定義されている非同期型手続きを呼び出す場合 .then 使え。
今のところthenableでないものは不便としか思えない。初学者ならば
非同期処理を Promise(V8/node.jsなら最新のものにある)で括って
呼び出すとき .then使って resolve()メソッドの中身を引っ張る。
通常の return 文だけではどうにもならない。
2014年11月18日火曜日
OpenSSL1.0.1_16 + stone2.3e における SSLv3 関連の問題について
仙石氏(sengoku@gcd.org) の stone は、私が好んで使う SSLwrapperの中で、TLSに対応するパッチを行う必要のないものとして、重宝している。
このところ POODLE 攻撃に対応する作業を行っているが、それ以前に夏の「HeartBleed」騒ぎで、長らく OpenSSL1.0.1への移行を遅らせていたサーバ周りも、止む得ず更新することになっているが、SSL3.0使用禁止、というかインプリメンテーションから削除されているライブラリをリンクして以来、stone の監視ログでは、下記のようなエラーが繰り返し出ていた。
幸い、run オプション 以下を加えれば TLS1.0のみとすればSSLv3をサポートした状態で起動するのを回避できることが判明した。
このオプションを加えるだけでエラーが出なくなった。仙石さんもお忙しいのだろうが、SSL3.0を使うクライアントはいずれ消滅させられてしまうだろうから、コンパイルオプション以前にコードから削除してしまった方がいいのではなかろうか。 私が管理するサーバ側ライブラリも、libresslに移行するという荒業を行うか躊躇っているけれど、バグが残っているOpenSSLに頼るくらいなら、検証サーバでテストして移行してしまった方が、精神衛生上よいかもしれない。
このところ POODLE 攻撃に対応する作業を行っているが、それ以前に夏の「HeartBleed」騒ぎで、長らく OpenSSL1.0.1への移行を遅らせていたサーバ周りも、止む得ず更新することになっているが、SSL3.0使用禁止、というかインプリメンテーションから削除されているライブラリをリンクして以来、stone の監視ログでは、下記のようなエラーが繰り返し出ていた。
4000000054661be82e43fc8c Nov 15 00:12:30.776188 34380739584 Debug level: 1これらは、stone が もともと SSL3.0対応のコードを残しているためで、現在の FreeBSDのセキュリティパッチが完了したOpenSSL環境では異常終了してしまう。
@4000000054661be82e452954 Nov 15 00:12:30.776267 34380739584 SSL_CTX_new error
@4000000054661be92f846bcc Nov 15 00:12:31.797085 34380739584 start (2.3e) [36272]
@4000000054661be92f84e8cc Nov 15 00:12:31.797191 34380739584 Debug level: 1
@4000000054661be92f85c774 Nov 15 00:12:31.797278 34380739584 SSL_CTX_new error
@4000000054661bea30b5621c Nov 15 00:12:32.817076 34380739584 start (2.3e) [36274]
@4000000054661bea30b5df1c Nov 15 00:12:32.817182 34380739584 Debug level: 1
@4000000054661bea30b6a26c Nov 15 00:12:32.817258 34380739584 SSL_CTX_new error
@4000000054661beb31e8d90c Nov 15 00:12:33.837209 34380739584 start (2.3e) [36276]
@4000000054661beb31ea195c Nov 15 00:12:33.837327 34380739584 Debug level: 1
@4000000054661beb31ea5bc4 Nov 15 00:12:33.837418 34380739584 SSL_CTX_new error
@40000000546aec8e36c82d74 tcpserver: status: 0/40
幸い、run オプション 以下を加えれば TLS1.0のみとすればSSLv3をサポートした状態で起動するのを回避できることが判明した。
-z tls1
このオプションを加えるだけでエラーが出なくなった。仙石さんもお忙しいのだろうが、SSL3.0を使うクライアントはいずれ消滅させられてしまうだろうから、コンパイルオプション以前にコードから削除してしまった方がいいのではなかろうか。 私が管理するサーバ側ライブラリも、libresslに移行するという荒業を行うか躊躇っているけれど、バグが残っているOpenSSLに頼るくらいなら、検証サーバでテストして移行してしまった方が、精神衛生上よいかもしれない。
2012年9月6日木曜日
Express5800 GT110b 故障
急に機材が故障すると困る。
Express5800/GT110b まだ購入から2年も経っていない。
2世代前Core系1156な機材なのでよもや壊れると思わなかった。
原因はネコ。
ネコのやつがサーバの電源コンセントの付近に侵入し、稼働中の機材を
いきなり電源から止めてしまった。 無論、運用側の怠慢。キチンとした
電源タップを用意しておけば引っこ抜かれることはなかった。
まぁ、そんな事で壊れるようなことはめったにないと思っていた矢先、
ぶっ壊れてしまった事実は事実。 まあそんな事も有ろうかと予備機材として
同じ物を手元に持っていたからすぐに差し替えたけれども…
電源を入れるとBEEP音が次のパターンで鳴る。
"1-1-1-2"
こんなパターンは、PhenixBIOSのコードにもないようだ。
保証期間みたいなので取り敢えず日電さんに問い合わせすることにした。
はぁ。
取り敢えずBEEP音診断コードをサイトから取り寄せてみたので、載せておく。該当するものは無いのでこまった。
引用元:
http://www.bioscentral.com/beepcodes/phoenixbeep.htm
こっちのほうが最近の4分割パターンである。
Express5800/GT110b まだ購入から2年も経っていない。
2世代前Core系1156な機材なのでよもや壊れると思わなかった。
原因はネコ。
ネコのやつがサーバの電源コンセントの付近に侵入し、稼働中の機材を
いきなり電源から止めてしまった。 無論、運用側の怠慢。キチンとした
電源タップを用意しておけば引っこ抜かれることはなかった。
まぁ、そんな事で壊れるようなことはめったにないと思っていた矢先、
ぶっ壊れてしまった事実は事実。 まあそんな事も有ろうかと予備機材として
同じ物を手元に持っていたからすぐに差し替えたけれども…
電源を入れるとBEEP音が次のパターンで鳴る。
"1-1-1-2"
こんなパターンは、PhenixBIOSのコードにもないようだ。
保証期間みたいなので取り敢えず日電さんに問い合わせすることにした。
はぁ。
取り敢えずBEEP音診断コードをサイトから取り寄せてみたので、載せておく。該当するものは無いのでこまった。
引用元: http://www.pchell.com/hardware/beepcodes.shtml#phoenix
Phoenix BIOS Beep Codes
| 1-1-3 | Your computer can't read the configuration info stored in the CMOS. Replace the motherboard. |
| 1-1-4 | Your BIOS needs to be replaced. |
| 1-2-1 | You have a bad timer chip on the motherboard. You need a new motherboard. |
| 1-2-2 | The motherboard is bad. |
| 1-2-3 | The motherboard is bad. |
| 1-3-1 | You'll need to replace the motherboard. |
| 1-3-3 | You'll need to replace the motherboard. |
| 1-3-4 | The motherboard is bad. |
| 1-4-1 | The motherboard is bad. |
| 1-4-2 | Some of your memory is bad. |
| 2-_-_ | Any combo of beeps after two means that some of your memory is bad, and unless you want to get real technical, you should probably have the guys in the lab coats test the memory for you. Take it to the shop. |
| 3-1-_ | One of the chips on your motherboard is broken. You'll likely need to get another board. |
| 3-2-4 | One of the chips on your motherboard that checks the keyboard is broken. You'll likely need to get another board. |
| 3-3-4 | Your computer can't find the video card. Is it there? If so, try swapping it with another one and see if it works. |
| 3-4-_ | Your video card isn't working. You'll need to replace it. |
| 4-2-1 | There's a bad chip on the motherboard. You need to buy another board. |
| 4-2-2 | First check the keyboard for problems. If nothing, you have a bad motherboard. |
| 4-2-3 | Same as 4-2-2. |
| 4-2-4 | One of the cards is bad. Try yanking out the cards one by one to isolate the culprit. Replace the bad one. The last possibility is to buy another motherboard. |
| 4-3-1 | Replace the motherboard. |
| 4-3-2 | See 4-3-1 |
| 4-3-3 | See 4-3-1 |
| 4-3-4 | Time of day clock failure. Try running the setup program that comes with the computer. Check the date and time. If that doesn't work, replace the battery. If that doesn't work, replace the power supply. You may have to replace the motherboard, but that is rare. |
| 4-4-1 | Your serial ports are acting up. Reseat, or replace, the I/O card. If the I/O is on the motherboard itself, disable them with a jumper (consult your manual to know which one) and then add an I/O card. |
| 4-4-2 | See 4-4-1, but this time is your Parallel port that's acting up. |
| 4-4-3 | You math coprocessor is having problems. Run a test program to double-check it. If it is indeed bad, disable it, or replace it. |
| Low 1-1-2 | Your motherboard is having problems |
| Low 1-1-3 | This is an Extended CMOS RAM problem, check your motherboard battery, and motherboard. |
引用元:
http://www.bioscentral.com/beepcodes/phoenixbeep.htm
こっちのほうが最近の4分割パターンである。
Beeps
|
Description
|
| 1-1-1-3 | Verify real mode |
| 1-1-2-1 | Get CPU type |
| 1-1-2-3 | Initialize system hardware |
| 1-1-3-1 | Initialize chipset registers with initial values |
| 1-1-3-2 | Set in POST flag |
| 1-1-3-3 | Initialize CPU registers |
| 1-1-4-1 | Initialize cache to initial values |
| 1-1-4-3 | Initialize I/O |
| 1-2-1-1 | Initialize power management |
| 1-2-1-2 | Load alternative registers with initial POST values |
| 1-2-1-3 | Jump to UserPatch0 |
| 1-2-2-1 | Initialize timer initialization |
| 1-2-3-1 | 8254 timer initialization |
| 1-2-3-3 | 8237 DMA controller initialization |
| 1-2-4-1 | Reset Programmable Interrupt Controller |
| 1-3-1-1 | Test DRAM refresh |
| 1-3-1-3 | Test 8742 Keyboard Controller |
| 1-3-2-1 | Set ES segment register to 4GB |
| 1-3-3-1 | Autosize DRAM |
| 1-3-3-3 | Clear 512K base memory |
| 1-3-4-1 | Test 512K base address lines |
| 1-3-4-3 | Test 51K base memory |
| 1-4-1-3 | Test CPU bus-clock frequency |
| 1-4-2-1 | CMOS RAM read/write failure (this commonly indicates a problem on the ISA bus such as a card not seated) |
| 1-4-2-4 | Reinitialize the chipset |
| 1-4-3-1 | Shadow system BIOS ROM |
| 1-4-3-2 | Reinitialize the cache |
| 1-4-3-3 | Autosize the cache |
| 1-4-4-1 | Configure advanced chipset registers |
| 1-4-4-2 | Load alternate registers with CMOS values |
| 2-1-1-1 | Set initial CPU speed |
| 2-1-1-3 | Initialize interrupt vectors |
| 2-1-2-1 | Initialize BIOS interrupts |
| 2-1-2-3 | Check ROM copyright notice |
| 2-1-2-4 | Initialize manager for PCI Options ROMs |
| 2-1-3-1 | Check video configuration against CMOS |
| 2-1-3-2 | Initialize PCI bus and devices |
| 2-1-3-3 | initialize all video adapters in system |
| 2-1-4-1 | Shadow video BIOS ROM |
| 2-1-4-3 | Display copyright notice |
| 2-2-1-1 | Display CPU type and speed |
| 2-2-1-3 | Test keyboard |
| 2-2-2-1 | Set key click if enabled |
| 2-2-2-3 | Enable keyboard |
| 2-2-3-1 | Test for unexpected interrupts |
| 2-2-3-3 | Display prompt "Press F2 to enter setup" |
| 2-2-4-1 | Test RAM between 512K and 640K |
| 2-3-1-1 | Test expanded memory |
| 2-3-1-3 | Test extended memory address lines |
| 2-3-2-1 | Jump to UserPatch1 |
| 2-3-2-3 | Enable external and CPU caches |
| 2-3-2-3 | Configure advanced cache registers |
| 2-3-3-1 | Enable external and CPU caches |
| 2-3-3-2 | Initialize SMI handler |
| 2-3-3-3 | Display external cache size |
| 2-3-4-1 | Display shadow message |
| 2-3-4-3 | Display non-disposable segments |
| 2-4-1-1 | Display error messages |
| 2-4-1-3 | Check for configuration errors |
| 2-4-2-1 | Test real-time clock |
| 2-4-2-3 | Check for keyboard errors |
| 2-4-4-1 | Setup hardware interrupt vectors |
| 2-4-4-3 | Test coprocessor if present |
| 3-1-1-1 | Disable onboard I/O ports |
| 3-1-1-3 | Detect and install external RS232 ports |
| 3-1-2-1 | Detect and install external parallel ports |
| 3-1-2-3 | Reinitialize onboard I/O ports |
| 3-1-3-1 | Initialize BIOS Data Area |
| 3-1-3-3 | Initialize Extended BIOS Data Area |
| 3-1-4-1 | Initialize floppy controller |
| 3-2-1-1 | Initialize hard disk controller |
| 3-2-1-2 | Initialize local bus hard disk controller |
| 3-2-1-3 | Jump to UserPatch2 |
| 3-2-2-1 | Disable A20 address line |
| 3-2-2-3 | Clear huge ES segment register |
| 3-2-3-1 | Search for option ROMs |
| 3-2-3-3 | Shadow option ROMs |
| 3-2-4-1 | Setup power management |
| 3-2-4-3 | Enable hardware interrupts |
| 3-3-1-1 | Set time of day |
| 3-3-1-3 | Check key lock |
| 3-3-3-1 | Erase F2 prompt |
| 3-3-3-3 | Scan for F2 keystroke |
| 3-3-4-1 | Enter SETUP |
| 3-3-4-3 | Clear in-POST flag |
| 3-4-1-1 | Check for errors |
| 3-4-1-3 | POST done - prepare to boot operating system |
| 3-4-2-1 | One beep |
| 3-4-2-3 | Check password (optional) |
| 3-4-3-1 | Clear global descriptor table |
| 3-4-4-1 | Clear parity checkers |
| 3-4-4-3 | Check virus and backup reminders |
| 4-1-1-1 | Try to boot with INT 19 |
| 4-2-1-1 | Interrupt handler error |
| 4-2-1-3 | Unknown interrupt error |
| 4-2-2-1 | Pending interrupt error |
| 4-2-2-3 | Initialize option ROM error |
| 4-2-3-1 | Shutdown error |
| 4-2-3-3 | Extended Block Move |
| 4-2-4-1 | Shutdown 10 error |
| 4-2-4-3 | Keyboard Controller failure (most likely problem is with RAM or cache unless no video is present) |
| 4-3-1-3 | Initialize the chipset |
| 4-3-1-4 | Initialize refresh counter |
| 4-3-2-1 | Check for Forced Flash |
| 4-3-2-2 | BIOS ROM is OK |
| 4-3-2-4 | Do a complete RAM test |
| 4-3-3-1 | Do OEM initialization |
| 4-3-3-2 | Initialize interrupt controller |
| 4-3-3-3 | Read in bootstrap code |
| 4-3-3-4 | Initialize all vectors |
| 4-3-4-2 | Initialize the boot device |
| 4-3-4-3 | Boot code was read OK |
登録:
投稿 (Atom)