最近學校的 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(422)

日期:2009.6.15 天氣:多雲時睛

我想我是得了星期一症候群,自從 ISMS 會議及教育訓練排在星期一後,我開始有一點點點不喜歡一週的開始了

更何況我又是承辦人,每場會議都得要到場,我想和我共同辛苦的就是組長了

今天是第2次會議,顧問先生非常厲害,安排了一天的教育訓練,從 9:30 ~ 17:00

很久沒有當學生的感覺,這樣的課程進行下來,難免會讓人受不太了

看著同事們的出席率就知道了,哈哈

說實在的,明明就知道推行 ISMS 最需要的是全體成員的共同參與及上級長官的支持

但上級長官只待5分鐘 + 同事出席率降至 35% 的推行成效可想而知

我想還是得跟上級長官溝通一下,僅靠一個小小承辦員是不可行的啦!

或許這是在這學校給我最後的考驗,我一定要在年底之前協助中心推行完成 ~

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

pfSense - 以 FreeBSD 為基礎的家用防火牆

中文資訊介紹

打造家用防火牆的需求 by pfSense (一) 簡介篇

 

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

1. ISMS 得在今年年底前導入完成了,今天被主任捉進去精神訓話了一下,看來主任真的很重視這件事情,希望十一月前可以完成預評,十二月就通過吧!

2. 7/31 前要將現有的 E-mail Server ( HP DL380 G4 ) 轉移到新的 HP 刀鋒伺服器 + EVA,但今天接獲訊息要改走公開招標,光是訂購機器就可能多花2~4個星期了

    將現有的環境重建 ( FreeBSD + Apache + PHP + MySQL + Postfix + POP3 + Openwebmail + LDAP 認證 + 360G 資料轉移 ) 就是件很頭痛的事

3. 機房環境重建,新增消防、環控、監視錄影、UPS & 電力更新,看得出來是要配合 ISMS 而做的吧 ^^

4. 機房網路狀態調整,要將原本的 Fortinet 3600 拿來當內部的防火牆,限制 User 來存取 Server 的網段,這也是為了提升 Server 的安全性

5. 戶外無線網路要在 7 月前完工,這 ~ 來得及嗎?

6. 學生宿舍的 IP 將由現有的虛擬 IP 改為實體 IP ,這樣發生 P2P 侵權事件事,馬上就知道是哪個學生被抓到了,現有的 NAT 架構實在是讓我查到頭很痛,因為它沒有 Log :p

7. 哩哩扣扣待辦事項 ~

希望今年能把這些重要的業務一項一項消去,該學敗犬女王的衝勁了 ^_^

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

被傷害過後,對人、對事情的看法就不再那麼積極與樂觀,心情會轉換成用消極與憤怒來看待人、事情

今晚第一次那麼氣,原來這就是被人捅一刀的感覺

秋月姐姐說過,她要是生氣的話,都是和同事相約去喝酒喝到掛,心情就會好很多了

可惜我不能喝酒

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