顯示具有 Access 標籤的文章。 顯示所有文章
顯示具有 Access 標籤的文章。 顯示所有文章

2009年8月30日 星期日

如何設定 ldap 登入服務 – OpenLDAP Linux authentication howto

OpenLDAP 登入服務器

上文提到如何安裝 OpenLDAP 服務器, 今次將會提到如何在 ubuntu上把 OpenLDAP 服務器設定成一個登入服務器. 這樣你就可以使用同一組資料登入多個不同的服務器.

先作服務器端設定

安裝轉換工具 migration tools
sudo apt-get install migrationtools
更改 migration_common.ph 設定檔, 位置在 /usr/share/perl5
sudo vi /usr/share/perl5/migration_common.ph
根據服務器端的設計更改以下兩行
# Default DNS domain
$DEFAULT_MAIL_DOMAIN = “example.com”;
# Default base
$DEFAULT_BASE = “dc=example,dc=com”;
開始轉移登入資料 (/tmp 改成你的理想位置)
export ETC_SHADOW=/etc/shadow #把shadow 跟passwd 一同載入
./migrate_base.pl > /tmp/base.ldif
./migrate_group.pl /etc/group /tmp/group.ldif
./migrate_hosts.pl /etc/hosts /tmp/hosts.ldif
./migrate_passwd.pl /etc/passwd /tmp/passwd.ldif
用以下命令分別載入到 ldap 服務器
ldapadd -D “cn=admin,dc=domain,dc=com” -W -f /tmp/base.ldif
ldapadd -D “cn=admin,dc=domain,dc=com” -W -f /tmp/group.ldif
ldapadd -D “cn=admin,dc=domain,dc=com” -W -f /tmp/passwd.ldif
ldapadd -D “cn=admin,dc=domain,dc=com” -W -f /tmp/hosts.ldif
apt-get install 安裝認證需要的元件
Modules require for authentication
libnss-ldap – NSS module for using LDAP as a naming service
libpam-ldap – Pluggable Authentication Module allowing LDAP interfaces
libnss-ldapd – NSS module for using LDAP as a naming service
perdition-ldap – Library to allow perdition to access LDAP based popmaps
libpam-cracklib
pam library做小許 bug fix
ln -s pam_unix.so pam_pwdb.so
這樣, 服務器端的設定就完成了

再做客戶端的設定

Vi /etc/ldap.conf
host ldap.example.com
uri ldap://<服務器ip位置>:389/
base ou=People,dc=example,dc=com
nss_initgroups_ignoreusers backup,bin,daemon,dhcp,games,gnats,irc,klog,libuuid,list,lp,mail,man,munin,mysql,news,openldap,proxy,root,sshd,sync,sys,syslog,uucp,www-data
vi /etc/nsswitch.conf # 登入方法設定
passwd: ldap compat
shadow: ldap compat
group: ldap compat
vi /etc/pam.d/common-account #設定 account 認證方法
account sufficient pam_ldap.so
account required pam_unix.so try_first_pass
vi /etc/pam.d/common-auth # 設定登入認證方法
auth sufficient pam_ldap.so
auth requisite pam_unix.so nullok_secure try_first_pass
auth optional pam_smbpass.so migrate missingok
vi /etc/pam.d/common-password #設定密碼管理
password sufficient pam_ldap.so
password required pam_unix.so nullok obscure min=4 max=8 md5 try_first_pass
password optional pam_smbpass.so nullok use_authtok use_first_pass missingok

測試設定

getent passwd | grep
會發現參數出現兩次
這樣客戶端就能使用中央使用者管理

2009年8月16日 星期日

如何設立虛擬網絡how to setup VPN

如何設立VPN (Virtual Private Network)
市面上, 只要擁有VPN 功能的路由器就必所費不菲, 而且功能參差. 中小企的老闆希望建立安全網絡的話總得花一點錢. 這篇文章就是提供一個方案給主將網絡安全的老闆們. 分以下部份解說 
什麼是 VPN
現時市面上的VPN方案
案例 - 以 Windows 機器登入 Linux PPTP服務器
方案對比

什麼是 VPN
VPN (Virtual Private Network) 虛擬內聯網. 就是通過一些加密 ( Encryption )技術把在外的使用者跟服務器的內部連接. 令使用者得到內聯網上的 ip 位置及權限. 概念圖如下


fig 1 
圖中的 vpn server 就代表辦公室 / 機樓. 在外的老闆們想進入公司網絡的話, 就可以經過 vpn 建立那條紅色的隧道. 這時候, vpn server 會派給在外的老闆一個地址 ( 192.168.1.200 ) 而老闆則同時間擁有兩個地址 1) 實質地址 ( 172.16.0.100 ) 2) 虛擬地址 ( 192.168.1.200 )
實質上, 老闆是靠 172.16.0.100 跟辦公室建立黃色的那一條 real encryption path 來傳送訊息. 而紅色的隧道只在 Logic 上存在.
要留心, 在老闆對上那藍色的路由器, 有時會阻礙 vpn 通道的建立. 因此, 可解決此問題的SSL-VPN 就成為近年的熱門.
現時市面上的VPN方案
現時市面上雖然有很多路由器可供選擇, 但VPN 技術二不離三, 主要分別在於認證技術, 約分為三類
Ipsec VPN
PPTP VPN
SSL VPN

IPSEC VPN 原理是經驗兩重的認證, 在登入者與服務器間建立鑰匙 Session Key, 再用這條鑰匙作資料加密. 因為使用 Session Key 的關係, 加密速度會相對較快. 但在使用者的角度會造成不便, 因為認證需要認證書Certificate, 而且登入時可能需要加裝軟件.
注名的 Ipsec 有 Cisco VPN / 在 Linux 上運行的 Openswan
PPTP VPN(Point-to-Point Tunneling Protocol)是 Microsoft 開發的制式, 在所有 windows 上都不需要加裝軟件就能使用. 登入時使用名稱密碼, 是最方便的 VPN. 當然, 方便換來的是安全性較底.
SSL VPN 是近年熱門的方案, 因為某些地區網絡 (如酒店 / 學校 )不支援 VPN PASS THROUGH, PPTP VPN 跟 IPSEC VPN 都不起作用時, SSL VPN 依然可以如常運作. 某些 SSL VPN 如SSL-Explorer , 更可以讓使用者用溜覽器登入, 比 PPTP 更方便. 需要高安全性的, 可考慮 OpenVPN, 只需要數個步驟就可以安裝客戶端.
案例 – 以 Windows 機器登入 Linux PPTP 服務器
這個案例會介紹如何設立 LINUX PPTP 服務器, 及在 Windows 客戶端下的登入方法.
在 Linux 架設 VPN 服務器請輸入

#Sudo apt-get install pptpd

輸入以下兩句

#sudo vi /etc/pptpd.conf
localip 192.168.3.100
remoteip 192.168.3.234-238,192.168.3.245
192.168.3.100 需為你的 Linux IP 地址, 可用 ifconfig 找到, 在上面 fig1 的例子便是 192.168.1.1
remoteip 就是你希望 vpn server 所指派的 ip 地址範圍


#sudo vi /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
keithyau PPTP 123456 *

請注意 ”server “ 需要輸入跟 中 name 一樣的名稱

#sudo vi /etc/ppp/pptpd-options
# Authentication
# Name of the local system for authentication purposes
# (must match the second field in /etc/ppp/chap-secrets entries)
name PPTP

Linux 客戶端之設定
在客戶端輸入 (即 fig 1 的老闆)

#sudo vi /etc/ppp/peers/conntecion-name
pty "pptp yourcompany.com --nolaunchpppd"
name keithyau
remotename PPTP
require-mppe-128
file /etc/ppp/options.pptp
ipparam connection-name

keithyau = name of user
connection-name = file name of this file
yourcompany.com = fig 1 中的辦公室

#sudo vi /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
keithyau PPTP 123456 *

輸入跟服務器端一樣的使用者資料
連接服務器
#sudo pppd call connection-name
成功後, 會出現以下虛擬網絡卡

#/sbin/ifconfig
ppp0 Link encap:Point-to-Point Protocol
inet addr:192.168.3.234 P-t-P:192.168.3.100 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1496 Metric:1
RX packets:5 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:62 (62.0 b) TX bytes:68 (68.0 b)

以虛擬網絡卡作傳送 #route add -net 192.168.3.0 dev ppp0
192.168.3.0 需因 ifconfig 結果調整
在 Windows 客戶端的設定
按以下步驟設定


File → new connection

你的設定名稱

服務器位置

使用者名稱密碼

 完成後可看到新的連線 (ppp adapter yubis-office)

方案對比 (1-3) 1=best

IPSEC
PPTP
SSL VPN

防火墻穿透
3
2
1

安全性
1
3
2

User friendly
3
1
2

支援軟體
3
1
2

性能
2
3
1

可靠 Availability
1
3
2

總括來,個人較喜歡 SSL VPN, 而且亦較識合中小企使用
在下一篇文章會介紹如何設定 ssl VPN

2009年8月12日 星期三

how to maintain a SME class network如何維護一個中小企的網絡 - ACCESS

Access 安全性 

相信不少朋友都會以為 IT risk 中, 最大問題的存在就是網絡安全. 其實非也. 造成捐失的多數都是穩定性與準確性不足. 被人入侵系統而造成的損失只作小數.
而在這少數的入侵當中, 80% 以上都不是因為防毒系統 / 防火墙漏洞. 反而是網絡釣魚. 在本文將會講解一下.
Firewall 防火牆
其實什麼是防火墻 ? 防火墻可以阻擋不明要求 request 直接到達伺服器. 在家中, 如果希望多台電腦同時上網,則需要一台路由器. 這個路由器的配置 NAT firewall 都是防火墻的一種. Linux 中, 常用的防火墻軟件叫 iptables.
防火墻還有多種功能如 Port forwarding, port redirect, load balancing …
中小企中, 常用的少不了 NAT network address translation. 目的是令公司多台電腦可以同時上網 / 同一個地址使用多間網絡公司. 防火墻設定不到家可能避不過以下攻擊
DDOS flooding - 傳送大量封包倒窒網絡
Fire walking – 防火墻被穿透, 秘密暴光
middle man attack - 認證資料被盜
網絡安全與資源拉上很大關係. 沒有一本書可以教人完全防避攻擊, 因為這是一項比賽, 當有新技術/ 新服務時就必有新漏洞. 需要資金上的投資去維持高程度的網絡安全.
中小企來說, 建議把 IT 成本上的 20% 放於網絡安全之上.
User access control 權限管理
除駭客入侵外, 員工的權限管理不完善亦會造成資料外洩. 不要讓一般員工看見經理的文件這個簡單的道理, 事實不是容易達到的.
希望完善的管理權限, 需要 Role based access control. 大部份 ERP 軟件– entreprise resource planning 應該有預備的.
除此之外, 因為密碼容易口傳口的流失, 應該強制性要求員工定期更改密碼. 以 linux 做例子, passwd -x 這個指令已經有這個效果.
在重要的文件上應該加上多重認證, 除密碼外, 還可考慮指紋, 電子證書, 問答題等認證方法.
Data deletion 資料移除
資料在電腦上按刪除後就會消失嗎 ? 當然不會了 ! 在磁碟上寫過的東西是永遠不會失去的 ! 隨便把它棄置就會造成資料流失.
除燒掉磁碟外有什麼做法 ? 這是最容易的做法. 你還可以考慮市面上一些禎料危急回覆公司, 他們亦會幫客人刪除資料. 還有data deletion software 可以幫手. 
Anti-virus 防毒
差不多每個 Windows系統都跟著一個防毒軟件吧. 大家有沒有想過為什麼老是中毒, 什麼是電腦病毒 ? 大部份所謂的電腦病毒就是為 windows 而設的程式, 令你的 windows 造成混亂. 如一些錯誤訊息 (硬碟已滿, cpu 過高, 網絡沒回應).
但裝上防毒系統後就不停有些過敏徵狀.如不停彈出的危險警告. 員工不知道這些警告是什麼時, 就會影響工作效率.
其實現在的 linux 除了玩電腦遊戲外, 不當機, 高效能,免費軟件等方面早就比windows 做得出色. 現在的 open office 已經支援絕大部份的文件處理工作. 最重要的最 Virus-free. 做老闆的不會再有中毒的煩惱.
還不打算用 linux ? 可以考慮病毒過濾的防火墻, 亦有不錯的效果.
Wireless lan security 無線網絡安全
無線網絡安全是近年熱門的話題. 因為有別於一般線性的網絡, 無線網絡安全有以下幾點要特別小心. 
網絡可達範圍
就是說你的無線網絡天線的射程. 因為你的網絡是向四周廣散, 能夠接觸到的人遠比你想像的多. 即是說受攻擊機會亦愈多.
認證方式
一般常用的認證在無線路由器上會用 pass phrase 表示. 切記要在16 個字符之上並包括英文/ 數字/ 符號.否則就很容易被強行破解.
在家上網時, 經常會發現周圍有一些沒有打開認證功能的上網點 ap – access point. 即是說可以除時用這些 ap 來上網. 做老闆的你可要特別小心, 因為不法份子用了你的戶口上網後, 警察第一個就是來找你了!
資料加密方式
常用資料加密方式有 wep / wpa / wpa2. 現時, wep 已經不是安全的加密方式, 駭客軟件例如 aircraft 已經有相當高的成功率擊破 wep. 以後在設定路由器時不要再選擇 wep 了!
使用無線網絡時需要特別小心的是, 有時你會發覺網絡不停的斷線. 其實不是你的儀器問題. 而是一些駭客軟件在記錄你的登什數據.當有一定份量時, 就可以登入你的網絡.所以發現無線網絡斷線時,最後等一下才再登入 ap.
phishing 網路釣魚
什麼是 網路釣魚? 網路釣魚其實跟IT 技術沒有關係. 最簡單的網絡釣魚例子是打電話以交談方式騙得系統密碼. 更可以是真接走到系統主機前盜坎資料.
這些 網路釣魚才是中小企中最常出現損失的原因.更佔整體的 80%.
防避 網路釣魚需要加強員工陪訓,加強保安意識 – Risk awareless culture . 技術方面, 可以考慮把重要的資料分給兩個以上的員工保管. 例如一個檔案需要兩個開啟密碼.
聽過以上的介紹後, 相信大家對網絡安全有了初步的認識.如有任何問題, 歡迎與我聯絡
MSN: funnykeith@msn.com