冬雨

sendmaildovecotでテストサーバを作る。

1.インストール

# yum install sendmail
# yum install sendmail-cf


sendmail-cfが無いとm4コマンドで設定変更ができない。
/etc/mail/sendmail.mc:10: m4: cannot open `/usr/share/sendmail-cf/m4/cf.m4': No such file or directory


2.設定ファイル変更
(1)SMTPの接続元をループバック以外からも受け付けるようにする。
# vi sendmail.mc
----------------------------------------------
変更前:
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
変更後:
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
----------------------------------------------

(2)不正中継を禁止する。(初期設定のままで良い)
# vi sendmail.mc
----------------------------------------------
FEATURE(`access_db', `hash -T -o /etc/mail/access.db')dnl
----------------------------------------------

・不正中継禁止の設定
# vi access
----------------------------------------------
変更前:
Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1 RELAY

変更後:
#Connect:localhost.localdomain RELAY
#Connect:localhost RELAY
#Connect:127.0.0.1 RELAY
----------------------------------------------
※その他の設定例
・To制限(test1.example.comは良い)
To:test1.example.com OK
To:com REJECT
・接続元制限(ホスト固定)
Connect:192.168.1.10 REJECT
・接続元制限
Connect:192 SKIP

・DB作成
# makemap hash access.db < access


(3)メールを受け付けるドメインを設定する。
# vi local-host-names
----------------------------------------------
example.com
----------------------------------------------

(4)example.comへのメールをすべてtestuserアカウントのメールボックスに振り分ける。
# vi virtusertable
----------------------------------------------
@example.com testuser@localhost
----------------------------------------------
・DB作成
# makemap hash virtusertable.db < virtusertable


(ローカルホストから外部にメール送信するとき ※今回は不要)
以下の先頭行の"dnl"を消す。
・ローカルホストから外部に送信したときにドメインを変更する。
dnl MASQUERADE_AS(`mydomain.com')dnl

・ENVELOP FROM も変更する。
dnl FEATURE(masquerade_envelope)dnl

・@mydomainalias.comだけでなく@*.mydomainalias.comも変える。
dnl FEATURE(masquerade_entire_domain)dnl
dnl MASQUERADE_DOMAIN(localhost)dnl
dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl
dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl
dnl MASQUERADE_DOMAIN(mydomain.lan)dnl


3.Dovecotを入れる。
# yum install dovecot

夏晴れ

Ubuntu 11.04で、ウィンドウをマウス移動で別ワークスペースに動かす方法の備忘です。バージョンアップする度に設定箇所が変わっているような気が・・・気のせいかもしれませんが。

  1. 「CompizConfig設定マネージャ>デスクトップ>Desktop Wall」を選択。
  2. 「Edge Fliping」タブの「Edge Flip Move」のチェックをONにする。

ftpユーザごとにNAS上の利用ディレクトリを制限する

NASをマウントしたftpサーバで、ftp上のディレクトリをftpユーザごとに干渉せずに使いたいので調べてみました。まずはメモベースで書き込み。後で手順を整理するかも知れません。
使った環境は、CentOS5.5、vsftpdの組み合わせ。NASはautofsを使ってcifsをオートマウント。ftpユーザは上位ディレクトリへのchrootを禁止。マウントポイントは/nasftpユーザのホームディレクトリは/home/ftpuser。

1.マウント場所にシンボリックリンクを張ってみる。

当然ながら上位ディレクトリへのchrootを禁止のためパーミッションエラー。期待はしていなかったので当然の結果。

2.ftpユーザごとにホームディレクトリ上にマウントポイントを追加してみる。

マウントできて、他ユーザのディレクトリを見えないような構成を実現できた。でも、ユーザが増えるごとに/etc/auto.masterを追加しないといけない。ユーザを追加したタイミングでautofsの再起動が必要になるので、運用と相談が必要。

3.ftpユーザのホームディレクトリをNASマウント上に設定してみる。

オートマウントするディレクトリ上にホームディレクトリを設定するのには抵抗がありましたが、一番試してみたかった手法です。結果、難なくftp接続成功。NASを落とした状態でアクセスすると、ディレクトリが存在しないためエラーになる。

PS C:\> ftp 192.168.1.xxx
192.168.xxx.xxx に接続しました。
220 (vsFTPd 2.0.5)
ユーザー (192.168.xxx.xxx:(none)): ftpuser
331 Please specify the password.
パスワード:
500 OOPS: cannot change directory:/nas/mountpoint
500 OOPS: child died
接続がリモート ホストによって閉じられました。

/etc/passwdを変更するだけなので設定は楽です。

結論

個人的には2番が好きだが、設定が楽なので運用を考えると3番かな。NASマウントに障害が起きている時にftpエラーで検知できるから、エラー処理も楽かも知れない。

セキュリティうどん

セキュリティうどんに行ってきました。夕方からバイオリンのレッスンだったので途中で抜けました。面白い話だったので最後まで聞きたかったのですが、今はバイオリンが大切なのですみません。
実は、トラブルの話目当てで来たのですが、暗号化の話が面白くて良い拾い物をしました。暗号化のロジックを組んだりすることは少ないのですが、たまにワンタイムパスワードの認証の設計をすることがあるのでためになりました。ありがとう。
レポートは・・・時間があったら書きます。他サイトでもうあがってそうですけど・・。

cifsマウント

sambaベースのNASにユーザID/パスワード入れてマウントすると、その権限でしか書き込まないみたい。

vi /etc/auto.nas
share -fstype=cifs,rw,username=nnnnn,password=xxxxx ://192.168.0.100/share


uid、gidを書くと、NAS上のファイルがLinuxユーザのuid、gidの権限に見えるようだ。

share -fstype=cifs,rw,username=nnnnn,password=xxxxx,uid=1000,gid=1000 ://192.168.0.100/share

Linuxのユーザーごとに所有者を変えれたらいいんだけど、ユーザを指定してマウントしているから無理なのかねえ・・・。

バイオリン5年目

ようやく目標の5年目に突入。テクニックが伸び悩んでいましたが、この前にまとめて時間を取って練習したおかげで少し成長できたような気がします。もう少しがんばれば1ステップ上に行けるかも。
そのための課題も見えているし、目標とそこに行くまでの道が見えているのは気分の良いものですね。