僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
おもてに出した。念のため、AirHでAPOP確認。しかし、そっからの別アカウント 向けのsmtpは (考えてみれば当り前だが)見事にrejectを喰らった。 さて、どこをどう緩めたものか。さらに、締めるところを〆なければ。
携帯じゃ読めないのか。そうか。他に手段あった希ガス。
↓でふと気になり、 ldd $(which filefox-bin)|grep "not found"してみた。 色々出てきたので、/etc/ld.so.conf にfirefoxのディレクトリを追記して ldconfig -v。 not foundは出なくなったが、はたしてやった方がよかったのか、無駄だったのか。 今のところ、何も変ったことはないが。
libtiffを3.7.1にあげた。めんどいのでCVS版をゲットして、 PREFIX=/usr make install。幸か不幸か一発で通った。ldd $COMMANDで ライブラリを追っかけると、一応更新できてる模様。
携帯からアクセス。PC(qwerty配列)からは入力し易い文字列が、非常に面倒。 画像をもっと小さくしなければ。原版の3%くらいに縮小しないと。
と考えて携帯向けのページも作成。 てっぺんの!<DOCTYPE(ryはいらなかったかも。 index.htmlをコピペしたが、外部cssなんか指定しても重いだけ? 中身はShift_JISにgifファイル8つだけ。特に凝ったタグはない。 width,heightイラネだろ。altはつけといたけど。 画像も大(原版の7%)小(3%)よりわけて2ページ。 でもパスワードの入れ難さは変らない。
大きめの画像は、自分の携帯では全部は読めなかった。 小さめの画像が7枚しか読めない機種もあるらしい。
つーか、そもそも一ページに全部詰め込め、という設計が間違っている。と 気づいたのは、かなり時間が経ってからであった。
使ってないのをremovepkgしまくった。x430**とかいろいろ。
jpegからgifへ。
$ file hoge.jpg hoge.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI),\ 72 x 72 $ jpegtopnm hoge.jpg > hoge.pnm $ ppmtogif hoge.pnm > hoge.gif ppmtogif: computing colormap... ppmtogif: too many colors - try doing a 'pnmquant 256' おっとっと。それでは、 $ pnmquant 256 hoge.pnm > hoge.ppm $ ppmtogif hoge.ppm > hoge.gif $ file hoge.gif hoge.gif: GIF image data, version 87a, 179 x 118
ImageMagickのconvert コマンドなら、さふぃっくすを変えるだけでよさげ。
$ convert anti_ms.jpg anti_ms.gif $ file anti_ms.* anti_ms.gif: GIF image data, version 89a, 365 x 88 anti_ms.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, 1 x 1
メールサーバ上でfetchmailすると、 大失敗の前回とは異って、 メールのたらいまわしはうまくできたようだ。
プロバイダのアカウントに向けて、自サイトより
送信したメールと、携帯から
放ったメールを apopで取ってlocalhost にsmtpで投げると、
無事 /var/mail/$USER に配信された。らしい。
後はcronに回させればいい筈である。
実験を繰り返すうちに、関係ないメールが某MLから 来ていたが、これも無事に配送されたようだ。 少なくとも、エラーメールを放った形跡は$MAILLOGにはない。
MSERVER$ fetchmail -v \ -u $ACCOUNT.DOMAIN.TLD \ -p apop \ $MAILBOX.DOMAIN.TLD \ -S localhost
ただし、mew で自サイトのメールを 取ったら、返信にはプロバイダ向けの~/.mew.elを 再度読み込まないと、送受信の 辻褄が合わなくなるかも。
おまけ。
fetchmailの脆弱性情報。MultiDropモードでメールヘッダ
なしのメッセージを喰わされたら、同じメールを何度も受信しようと
してコケる、とかいってるようだ。うろんなサイトと
通信しなければいいようにも思えるが、どうなのか。
SingleDropなら大丈夫かもしれない?
Linux で loopback の暗号化を試す。
# dd if=/dev/zero of=secret.img # losetup -e XOR /dev/loop0 secret.img # passwd:******** # mkfs -t ext3 /dev/loop0 (ry # mount /dev/loop0 /mnt/point # cp SECRET.TXT /mnt/point && umount /mnt/point # mount -t ext3 -o loop secret.img /mnt/point mount: wrong fs type, bad option,...(ry
別のホストにsecret.imgをコピーして、復元に成功。操作手順は
mkfs以外変わらない。
違うパスワードや暗号化なしではマウントできない
事が確認できた。
雑誌記事には暗号化アルゴリズムにblowfishが
指定されていたが、手許環境ではうまくできなかった。
また、losetupのManpage には DES と XOR しか載っていなかった。
結局、Manpageに言わせれば"terribly weak"なXORしか
利用できなかった。
$ telnet MAILSERVER 25。
もちろん、
こないだの失敗 を考えるためだ。
helo localhost とか mail from: USER@localhost と書いたりすると
bounce されて エラーメールが発行されてしまうようだ。
fetchmail: SMTP< 220 SERVER.DOMAIN.TLD ESMTP Postfix SMTP> EHLO localhost SMTP< 250-SERVER.DOMAIN.TLD SMTP< 250-PIPELINING SMTP< 250-SIZE 10240000 SMTP< 250-VRFY SMTP< 250-ETRN SMTP< 250-AUTH LOGIN PLAIN OTP \ DIGEST-MD5 CRAM-MD5 SMTP< 250 8BITMIME SMTP> MAIL FROM:<ADMIN@DOMAIN.TLD> \ BODY=7BIT SIZE=3876 SMTP< 250 Ok SMTP> RCPT TO:<USER@MSERVER> SMTP< 250 Ok SMTP> DATA SMTP< 354 End data with <CR><LF>.\ <CR><LF> #******************SMTP>. (EOM) SMTP< 250 Ok: queued as 83360468A8
は、サーバ側はこんな感じである。
SERVER postfix/smtpd[6180]: connect from \ ADDR_AT_ISP[XXX.XXX.XXX.XXX] SERVER postfix/smtpd[6180]: 83360468A8: \ client=HOST.DOMAIN.TLD[XXX.XXX.XXX.XXX] SERVER postfix/cleanup[6184]: 83360468A8: \ message-id=<NEWUSER@DOMAIN.TLD> SERVER postfix/qmgr[12979]: 83360468A8: \ from=<ADDR_AT_DOMAIN>, size=4293, nrcpt=1 (queue active) SERVER postfix/smtp[6185]: 83360468A8: \ to=<USER@MSERVER>, relay=none, \ delay=2, status=bounced (mail for MSERVER \ loops back to myself) SERVER postfix/cleanup[6184]: 22CB8468AC: \ message-id=<20051222073302.22CB8468AC@SERVER.DOMAIN.TLD> SERVER postfix/qmgr[12979]: 22CB8468AC: \ from=<>, size=6050, nrcpt=1 (queue active) SERVER postfix/qmgr[12979]: 83360468A8: removed SERVER postfix/smtp[6188]: 22CB8468AC: \ to=<ADMIN@DOMAIN.TLD> , \ relay=DOMAIN.TLD[XXX.XXX.XXX.XXX], delay=1, \ status=sent (250 2.0.0 jBM7X2gC036171 Message \ accepted for delivery) SERVER postfix/qmgr[12979]: 22CB8468AC: removed
FreeBSDのFTP鯖更新を決意する。
/etcなどのバックアップを取り、 サービスを別マシンに変えて、FreeBSD-6.1のCDROMを突っ込み再起動。
スライス、パーティションの再利用はやめたがよさげ。と、
わかるまで、インストールを何度も失敗した。
いざファイルシステム作成時に、/devがどうのこうのと
意味不明の警告。でも選択股はEnterだけ。
そしてNetからイメージをとってきて展開しようとすると
失敗メッセージ、そして次のイメージも同じく
失敗メッセージ。、、、ちぇ。
中断する方法がわからずに電源断したり、CDが
起動時に動かずにひやりとしたり(もう一度試すと
起動できた)。
さて、とにかくSourceとPortsを...
ずっと忘れていたが、Anthy-8419とscim-1.4.4とscim-anthy-1.2.0 を入れる。デフォルトのキーアサインはやっぱりいまいち、だ。
つい無意識にCtrl-oする。でも何とか。
某忘年会の席上で聞いた Tips。
$ echo ' よいお年を' | \ nkf --numchar-input よいお年を
nkf-2.0.9より前と後で、挙動がちょっと違った。
具体的には、行頭からの文字参照を解釈できていたのが、
2.0.9以降できなくなってるみたい。
$ echo 'よいお年を' | \ nkf --numchar-input Jt$
アカウントは作っておいた。
報告する前に、(既知の問題点かどうかも含めて)もう少し突っつくことにする。
とりあえず、debian lenny と FreeBSD-6.4 で確認(双方とも自分でmake)。
ついでにWinXPでもnkf-2.0.9(2009-01-20)で確認(コマンドプロンプトでは
-s オプションも必要らしい)。こちらは 2.0.8 以前はまだ試せていない。
してみた。gst の他、Squeak3.9でも確認。
three := Set new. five := Set new. myprint := [:argument| Transcript show: argument]. mynprint := [:argument| Transcript show: argument printString]. 1 to: 100 do: [:x| x \\ 3 = 0 ifTrue: [three add: x]. x \\ 5 = 0 ifTrue: [five add: x]. (three includes: x) ifTrue: [myprint value: 'fizz']. (five includes: x) ifTrue: [myprint value: 'buzz']. ((three includes: x) = false) & ((five includes: x) = false) ifTrue: [mynprint value: x]. Transcript cr. ]
複雑になった結果、"Global garbage collection... done" が最後に出るようになった。
ssh でいつものようにログインしようとしたが、
いつまで待っても。
すわサーバが落ちたかと慌てかけたが、Webは
見えている。というか、nmap やってから
ブラウザを後であげている。
iptables のことを思い出し、ISP
のttyからログイン。跳ねないIPアドレス
の一つを、/16から/14に書き換える。
動作がいまいちなので、手動で再度
iptables を設定。こと無きを得た。
Apacheで名前ベースのバーチャルホストは 十年くらい前に少し遊んだだけで、 Debianに移ってからは試してなかった。
まずDNSサーバに同じIPアドレスで違う名前を追加。
基本的にはsites-enableにシンボリックリンクを貼ってある
configをコピーして、違うServerNameを追記するだけ。
コンテンツを別にしたければDocumentRootも別にすれば。
w3m -dump で、違うコンテンツが得られることを確認。
例によってletsencrypt。あまり使い捨てのただ乗りはまずいかも。
httpへの接続をhttpsに
リダイレクトしてみたあと、逆も可能なことを確認。
追加したバーチャルホストもTLS追加してみる。この場合、
letsencrypto-auto は鍵を作ってくれるだけで、configを変えては
くれないようだ(念の為バックアップを取ってから実行)。
で、各ホストで、SSL有りとなしで、それぞれ違ったコンテンツを返す
ことを確認。
$ w3m -dump http://$HOST_1.$DOMAIN/ | head | sha1sum cb3385c1b9ebf9fac3f74f1938d1aabcc6c5d6c9 - $ w3m -dump https://$HOST_1.$DOMAIN/ | head | sha1sum 6ee2114c68227d522fb3ed1f63c4b0c4993ac355 - $ w3m -dump http://$HOST_2.$DOMAIN/ | head | sha1sum 8da18ac60b337107a3055509fd52111a45eab2dd - $ w3m -dump https://$HOST_2.$DOMAIN/ | head | sha1sum 89c2036f3a0eb9af57037aa7e676f95d3d160c37 -
Firefoxでも追試。証明書で怒られずに表示できた。
TLS拡張の恩恵と見えた。
関係ない接続をできるだけDROPしようとファイアウォールをきつめに閉めていたが、 letsencrypt-auto が通信できなくなってエラーに。
Postfix+Dovecot-imapd。初めに書いたところの
一部は間違いだったっぽいと。
今回はファイアウォールをきつく閉めて、
テストメールを受けるメールサーバ(TCP/25送受信)と、
テストメールを出すメールクライアント(TCP/587, TCP/993受信)
にIPアドレスを限定してメールの送受信を確認。
仮想環境色々。
RasPi3のraspbianに
新しめのansibleを入れて、vagrantのクラウドに
ぶつけてみた。一応通るようだった。
VPSのLXCホストにうっかりlxc3を入れると挙動が怪しくなった。
面倒なので再インストール。今度はbusterをやめてstretchにする。
暴れるのは仮想環境だけにしておきたい。
lxcでvethを使うためにはdnsmasqがないとlxcbr0が作成されなかった。
ほか、vagrant(libvirt)の仮想マシンにlxcを入れて、そちらから vagrantでもって クラウドの仮想マシンを作って消したりもした。
ベースになってる環境に入れたvagrantのプラグインがちゃんと動けば、 そんな面倒なことはしなくてもいいはずなのだけど。
サーバの一部をiptables直書きからufwに変えてみた。
$ sudo ufw status Status: active To Action From -- ------ ---- 25,80,443,587/tcp ALLOW Anywhere 22/tcp ALLOW A_IPv4_ADDR 60000:60004/udp ALLOW A_IPv4_ADDR 25,80,443,587/tcp (v6) ALLOW Anywhere (v6) 22,993/tcp ALLOW A_IPv6_NET 60000:60004/udp ALLOW ANO_IPv6_NET 22,993/tcp ALLOW ANO_IPv6_NET 60000:60004/udp ALLOW A_IPv6_NET
まだ終わってないが、とりあえず。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。