今天要謝謝非常很多人 ~

謝謝郁涵一早給我的卡片

謝謝中心同仁:主任、副座、組長、Sam、隆哥、惇信、圳男、小白、葦怡、豐瑜、阿鴻及政謙

謝謝 Emma、葦葦、Dennis、小白、瑞芬、Betty、方、Irene、佳妹、欣怡、安妮、佳慧老師 MSN 上給我的祝福

謝謝 Y.L 老師、 Betty 的簡訊

謝謝 uin & Hifa 電話那頭的祝福及生日快樂歌

謝謝隆哥、Miss Ruo、Yumi 和 Betty 陪我享用各種美食

謝謝 Rita & 園長的小禮物,一瓶很棒的 Ferrari 香水

記得很小很小很小的時候,家人才有幫我過生日

至今依舊忘不了那盒冰淇淋蛋糕,小時候的我很開心的把它從冰箱上層給拿了下來,吃了好幾天才把它給吃完

長大後其實很少有機會吃到自己的蛋糕,而今年我得到了好多好多人的祝福

2009 年的今晚是笑著入睡的 ^^

謝謝大家,真的

Posted by bojack at 痞客邦 PIXNET Comments(0) Trackback(0) Hits(76)

http://security.freebsd.org/advisories/FreeBSD-SA-09:12.bind.asc

今天 DNS 有點小問題,更新完就 OK 了

Posted by bojack at 痞客邦 PIXNET Comments(0) Trackback(0) Hits(65)

我很愛我的父母親、很愛我的朋友們、很愛我的工作

但,我已經不再愛自己了,甚至已經忘了該怎麼愛了

Posted by bojack at 痞客邦 PIXNET Comments(7) Trackback(0) Hits(198)

首先不用說,先把 openwebmail 裝起來!

要讓 openwebmail 可以去向 LDAP 做驗證,在安裝時記得要勾選 PAM 的選項

接下來設定 openwebmail.conf

將原本的

auth_module auth_unix.pl

改成

auth_module auth_pam.pl

另外再新增一行,這樣讓使用者登入時可以自動建立相關的目錄與檔案

create_syshomedir yes

接下來要來設定 PAM 這部份,我用的版本是 2.53,在 openwebmail 裡面有個 auth 的目錄,裡面有個 auth_pam.pl

其中裡面有一行就是說要去看 pam.d 裡面哪個檔案,預設是 login

my $servicename = $conf{'servicename'} || "login";

所以我去編輯 /etc/pam.d/login 並修改 auth 那區塊

# auth
auth            sufficient      pam_self.so             no_warn
auth            sufficient      /usr/local/lib/pam_ldap.so      no_warn try_first_pass
auth            include         system

改好後這樣就可以和系統做驗證了!

ps. 待補上修改密碼的設定

Posted by bojack at 痞客邦 PIXNET Comments(0) Trackback(0) Hits(123)

最近學校的 E-mail Server 即將在七月要轉移,本次將轉往 HP 刀鋒系列的伺服器,本來預計主機一台要裝 FreeBSD 7 64 bit

裝了 64 位元的版本可以突破記憶體 4G 的上限,這樣系統的效能也會有所提升

但經過測試,Nopam 這個防廣告的套件在 64  位元的版本怎麼裝就是裝不起來,所以本次的架構如圖所示

See ~ Postfix 那台主機仍用 FreeBSD 7 64 位元版,而 Nopam 主機則安裝 32 位元版,這樣才能達到我們的需求!

Postfix + SASL2 安裝我先略過再補上,接下來僅談 Nopam 安裝的部份,這邊有安裝使用手冊

在安裝 Nopam 時,incoming MTA Server IP 和 outgoing MTA Server IP 都記得填 Postfix 的 IP 就是了

在 main.cf 要加入這一行

content_filter = smtp:[10.1.17.4]:10024

在  master.cf 要加入這些

10.1.17.18:10023 inet n - - - - smtpd
 -o content_filter=
 -o local_recipient_maps=
 -o myhostname=localhost

IP 就參考上述的架構圖來填寫吧 !! BTW,PostfixNopam 的整合真的還蠻簡單的 ^^

接下來談和 LDAP 整合的部份,我希望使用者寄信時透過 SASL -> PAM ( SMTP ) -> LDAP 驗證帳號和密碼正不正確

而收信時透過 Dovecot -> PAM ( POP3 ) -> LDAP 來驗證,總之就是不要再看 /etc/passwd 啦!

首先要先安裝 openldap-client ,因為我的 LDAP Server 用的是 2.3,所以 Client 也用 2.3-client

# cd /usr/ports/net/openldap23-client

# make install clean

接下來要安裝 nss_ldap ( 可以取得使用者帳號、群組 )、pam_ldap( 用來驗證使用者的、pam_mkhomedir ( 可以自動建立目錄 )

# cd /usr/ports/net/nss_ldap/

# make install clean

# cd /usr/ports/security/pam_ldap

# make install clean

# cd /usr/ports/security/pam_mkhomedir

# make install clean

接下來來去修改相關設定,首先去設定 /usr/local/etc/openldap/ldap.conf

必須設定好 BASE 和 URI !請依您的 LDAP 架構做調整

然後再來去設定跟 NSS、PAM 有關的設定

# cp /usr/local/etc/ldap.conf.dist /usr/local/etc/ldap.conf

 host LDAP_Server_IP or LDAP_Server_Domain_Name
 uri ldap://LDAP_Server_IP or ldap://LDAP_Server_Domain_Name
 base ou=employee,dc=ldap,dc=bojack,dc=edu,dc=tw
 rootbinddn cn=root,dc=ldap,dc=bojack,dc=edu,dc=tw
 pam_filter objectclass=posixAccount
 pam_login_attribute uid

接下來做一個 Symbol Link

# cd /usr/local/etc

# ln -s ldap.conf nss_ldap.conf

然後再建立並設定 nss_ldap.secret

# cd /usr/local/etc

# vi nss_ldap.secret ( 輸入 LDAP 管理者 root 密碼 )

# chmod 400 nss_ldap.secret

# ln -s nss_ldap.secret ldap.secret

接來是設定 nsswitch.conf,請改成下面的樣子

# vi /etc/nsswitch.conf

#group: compat
#group_compat: nis
hosts: files dns
networks: files
#passwd: compat
#passwd_compat: nis
shells: files
services: compat
services_compat: nis
protocols: files
rpc: files
group: files ldap
passwd: files ldap

做到這裡時,可以停一下 ~ 先來測試系統能不能來去找 LDAP 做帳號和密碼的驗證

# id bojack
uid=1263(bojack) gid=1000 groups=1000

# finger bojack
Login: bojack                           Name: bojack
Directory: /home/admin/bojack           Shell: /bin/tcsh
Last login Mon Jul  6 14:16 (CST) on ttyp0 from x.x.x.x
Mail last read Mon Jul  6 22:33 2009 (CST)

接下來去設定 PAM 的相關,首先是讓 SSH 可以透過 PAM 去向 LDAP 做驗證

# vi /etc/pam.d/sshd

# auth
auth            sufficient      pam_opie.so             no_warn no_fake_prompts
auth            requisite       pam_opieaccess.so       no_warn allow_local
#auth           sufficient      pam_krb5.so             no_warn try_first_pass
#auth           sufficient      pam_ssh.so              no_warn try_first_pass
auth            sufficient      /usr/local/lib/pam_ldap.so      no_warn try_first_pass
auth            required        pam_unix.so             no_warn try_first_pass

# account
account         required        pam_nologin.so
#account        required        pam_krb5.so
account         required        pam_login_access.so
account         required        pam_unix.so

# session
#session        optional        pam_ssh.so
session         required        /usr/local/lib/pam_mkhomedir.so
session         required        pam_permit.so

# password
#password       sufficient      pam_krb5.so             no_warn try_first_pass
password        required        pam_unix.so             no_warn try_first_pass

應該到步驟就可以讓你的 User 可以利用 SSH 登入系統,並且是透過 LDAP Server 做驗證喔 ^^

那如果我有安裝 FTP Server 是不是也可以利用 LDAP 來做驗證呢,答案當然是可以,這是我的 /etc/pam.d/ftp

# auth
auth            sufficient      pam_opie.so             no_warn no_fake_prompts
auth            requisite       pam_opieaccess.so       no_warn allow_local
#auth           sufficient      pam_krb5.so             no_warn
#auth           sufficient      pam_ssh.so              no_warn try_first_pass
auth            sufficient      /usr/local/lib/pam_ldap.so      no_warn try_first_pass
auth            required        pam_unix.so             no_warn try_first_pass

# account
account         required        pam_nologin.so
#account        required        pam_krb5.so
account         required        pam_unix.so

# session
session         required        /usr/local/lib/pam_mkhomedir.so
session         required        pam_permit.so

至於想要讓 User 可以透過 Postfix + SASL -> PAM ( SMTP ) -> LDAP 做身份證驗的話

我個人就直接是 copy ftp 的設定過去就好了

# cp /etc/pam.d/ftp /etc/pam.d/smtp

這樣在寄信時,Server 就會去向 LDAP 做驗證了!

最後一個是 POP3 Server,我是安裝 Dovecot

# cd /usr/ports/mail/dovecot

# make install clean

# vi /etc/rc.conf 加入
dovecot_enable="YES"

接下來設定 dovecot

# cd /usr/local/etc

# cp /dovecot-example.conf dovecot.conf

# vi dovecot.conf

protocols = pop3 ( 我只用 pop3 )
ssl_disable = yes ( 先停用 SSL 相關設定 )
#找下面這2個參數的設定,並修改成這樣就可以讓 Dovecot 去用 PAM ( POP3 ) -> LDAP 了
passdb pam {
     args = *
  }
userdb passwd {
  }

最後就是修改 /etc/pam.d/pop3

# auth
#auth           sufficient      pam_krb5.so             no_warn try_first_pass
#auth           sufficient      pam_ssh.so              no_warn try_first_pass
auth            sufficient      /usr/local/lib/pam_ldap.so      no_warn try_first_pass
auth            required        pam_unix.so             no_warn try_first_pass

# account
#account        required        pam_nologin.so
account         required        pam_unix.so

大概就是這樣子了!

[1] Weithenn Study Daily: OpenLDAP-PAM NSS 設定
[2] Izero@庶務三科 ㄎㄎㄎ - 在FreeBSD上架設IMAP/POP3 server -使用dovecot
[3] 酷學園 - Fedora6 + LDAP + POSTFIX + DOVECOT 替代成功方案 ^^

[4] Nopam 無痛式垃圾郵件過濾系統

Posted by bojack at 痞客邦 PIXNET Comments(0) Trackback(0) Hits(320)