php與資訊安全

之前拿到了一本原文電子書,在講php程式設計與資訊安全,一直都沒有空去看它,最近,把這些本當成催眠書,睡覺之前翻一翻,每次看不到10頁,我就非常想睡,當然我想睡的時候都已經半夜一、二點了,回到正題,目前還在讀第一章,還沒有講到php程式設計要怎麼考量安全性,就在第一章就讓我被打了一記悶棍,怎麼說咧?聽我道來。 Read more

maillog中出現calmav無法更新的訊息

在整合完postfix+MailScanner+Clam AV+F-prot+openwebmal+procmail+My Spam之後,在觀察maillog之後,會看到下面這些訊息。
重點在於一行 ClamAV updater /usr/local/bin/freshclam cannot be run
怎麼回事,用MailScanner帶起Clam AV之後卻無法順利的更新病毒資料庫
其實這個問題之前就有發生了,只是我把freshclam的指令寫在cron table中
Read more

Google 免費Adword(關鍵字廣告) 根本不是免費的

前陣子新聞炒很大,Google大量發送免費關鍵字折價券,小弟不才,我也有收到,是用一般郵件(蝸牛郵件Snail mail)寄來的,而且看起來很有誠意,送1888,放了兩個月之後,我終於有空玩了一下。

結果,我發現,這跟本就是在騙人的,這麼說好了,如果你要使用他們的免費折價券,你要先開啟帳戶,開啟帳戶完才能使用這個金額,而開啟帳戶要多少錢呢?
Read more

免費防毒軟軟Avira小紅傘掃不到的毒

公司最近有一台筆電,使用者說,接到一封UPS的來信,說貨送的有問題,結果在社交工程之下,使用者打開了這封信的附加檔案,不幸的,中毒了。
結果,使用AVIRA(小紅傘)來掃毒,卻實是有毒,把毒掃乾淨之後,還給使用者,結果微軟的惡意程式防護程式說,還是有毒,所以不給使用都開啟IE。當然連FireFox都不可以用。
最後,透過DR. Web這套免費掃木馬的工具,又抓出了7隻木馬,說實在的,小紅傘在這方面的問題,真的不少,已經不是第一次掃不到毒了,目前已經在評估其他的免費防毒軟體方案。
當然,目前公司也不是使用免費掃毒軟體小紅傘來當成我們的主要的防毒環境,因為小紅傘會誤判電子簽核系統中的元件,實在很Orz。

怎麼移除MailScanner毒病通知的贊助商訊息

當MailScanner把信丟給掃毒軟體掃毒之後
發現病毒,會出現一個文字檔,文字檔上會有一個訊息
「For all your IT requirements visit: http://www.transtec.co.uk

看了實在很刺目,要怎麼改掉呢?
cd /etc/MailScanner/reports/en
vi sender.virus.report.txt <—回信給寄件人附檔
vi deleted.virus.message.txt <—收信人郵件含毒被刪時的附檔

在檔尾會看到下面訊息~想怎麼改怎麼改囉!

MailScanner
Email Virus Scanner
%org-long-name%
%web-site%

For all your IT requirements visit: http://www.transtec.co.uk

My Spam “procmail: Skipped “|/usr/bin/php -Cq /var/www/html/myspam/web/index.php save_spam” 問題處理

終於做到Myspam和MailScanner的整合段,MailScanner把郵件丟給Spamassaissn中去判斷垃圾信之後,丟給prcmail,procmail再依據規則丟給Myspam來處理。

可是我在看procmail.log的時候,出現了一行訊息
procmail: Skipped “|/usr/bin/php -Cq /var/www/html/myspam/web/index.php save_spam”
意思是說,跳過傳給Myspam的處理程式,要怎麼解呢?

網友Tommy說是指令打錯了,我的指令完全完抄官方文件的,怎麼可能會打錯,所以Tommy的說法是有問題的。Tommy自己寫的MySpam安裝的內容和安裝手策上一樣。

查了一下酷學園的資料,原作者twu2學長有說,可能是selinux造成的,去查了一下httpd的error log
[Tue Mar 02 19:42:05 2010] [notice] caught SIGTERM, shutting down
[Tue Mar 02 19:42:29 2010] [notice] SELinux policy enabled; httpd running as context root:system_r:httpd_t:s0
[Tue Mar 02 19:42:29 2010] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Mar 02 19:42:53 2010] [notice] Digest: generating secret for digest authentication …
[Tue Mar 02 19:42:53 2010] [notice] Digest: done
[Tue Mar 02 19:42:53 2010] [notice] mod_python: Creating 4 session mutexes based on 128 max processes and 0 max threads.
[Tue Mar 02 19:42:53 2010] [error] [client 60.251.247.2] Directory index forbidden by Options directive: /var/www/html/
[Tue Mar 02 19:42:53 2010] [notice] Apache/2.2.3 (CentOS) configured — resuming normal operations
[Wed Mar 03 01:55:37 2010] [error] [client 124.115.6.16] File does not exist: /var/www/mail/robots.txt
[Wed Mar 03 07:58:07 2010] [error] [client 124.115.6.16] File does not exist: /var/www/mail/robots.txt
果不其然,真的是selinux造成的,一般來說,我灌server,我都會把selinux關閉,不知道這次為什麼用DVD安裝的時候,沒有選項給我選。

好唄,關掉selinux吧!
vi /etc/selinux/config

SELINUX=enforcing===>SELINUX=disable

存檔 離開

修改 /etc/procmailrc

改一下規則,promailrc規則寫法不太一樣
官方的寫法是
:0
* ^X-Spam-Status: Yes{
:0: * ! ^X-MySPAM: YES
|/usr/bin/php -Cq /var/www/html/myspam/web/index.php save_spam
}

訊息是說
procmail: Skipped “|/usr/bin/php -Cq /var/www/html/myspam/web/index.php save_spam”
procmail: Closing brace unexpected
我在猜是因為{放在YES的後面照成的
去看了procmail的官法網頁
所以做了上面的規則改寫
LOGFILE=/var/log/procmail.log
MAILDIR=/var/mail

:0
* ^X-Spam-Status: Yes
{
:0
* ! ^X-MySPAM: YES
|/usr/bin/php -Cq /website/jlspam/web/index.php save_spam
}

:0 B
* ^X-Spam-Status: Yes
{
:0b
* ^X-MySPAM: YES
$DEFAULT
}

:0b
* ^X-Spam-Flag: YES
$DEFAULT

:0
* ^X-MySPAM: YES
$DEFAULT

重新開機….因為selinux改動了很多東西的設定
重開機會正常一點

==>再來玩MySpam吧!

PS.要一起看4個LOG真累(/var/log/maillog, /var/log/procmail/procmail.log,/var/log/httpd/access_log,/var/log/httpd/error_log)

2010-03-03_141404.jpg

MailScanner 安裝失敗的處理方式

為了增強postfix的郵件過濾功能,常常會搭配F-port/Clamav等防毒軟體或是spamassassin來判判垃圾信,使用貝氏定理來過濾郵件的spamassissin,更是企業處理垃圾信的首選之一。

最近架了一台測試server,在安裝新版的MainScanner(MailScanner-4.79.11-1),結果一直出現下面的訊息

connect timeout at t/io_sock.t timeout Read more

php與mysql套件問題,影響wordpress 運作

當mysql啟動、httpd啟動後,去run worpdress,結果出現「Your PHP installation appears to be missing the MySQL extension which is required by WordPress.」

我的解決方法如下

訊息是說少了一套php與mysql相關的套件,我記得有一個套件叫php-mysql,所以就用yum來安裝一下。指令如下
yum install php-mysql
service httpd restart
service mysqld restart

下完這些指令之後,就可以正常連線資料庫,如果出現連線失敗訊息
Error establishing a database connection
那就是帳號密碼的問題,請自行修改。