冬雨
1.インストール
※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
----------------------------------------------
・不正中継禁止の設定
# 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
ftpユーザごとにNAS上の利用ディレクトリを制限する
NASをマウントしたftpサーバで、ftp上のディレクトリをftpユーザごとに干渉せずに使いたいので調べてみました。まずはメモベースで書き込み。後で手順を整理するかも知れません。
使った環境は、CentOS5.5、vsftpdの組み合わせ。NASはautofsを使ってcifsをオートマウント。ftpユーザは上位ディレクトリへのchrootを禁止。マウントポイントは/nas。ftpユーザのホームディレクトリは/home/ftpuser。
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を変更するだけなので設定は楽です。
セキュリティうどん
セキュリティうどんに行ってきました。夕方からバイオリンのレッスンだったので途中で抜けました。面白い話だったので最後まで聞きたかったのですが、今はバイオリンが大切なのですみません。
実は、トラブルの話目当てで来たのですが、暗号化の話が面白くて良い拾い物をしました。暗号化のロジックを組んだりすることは少ないのですが、たまにワンタイムパスワードの認証の設計をすることがあるのでためになりました。ありがとう。
レポートは・・・時間があったら書きます。他サイトでもうあがってそうですけど・・。
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のユーザーごとに所有者を変えれたらいいんだけど、ユーザを指定してマウントしているから無理なのかねえ・・・。