2008年7月31日 星期四

郵件伺服器Part-4:MailWatch

前情提要:郵件伺服器Part-3:MailScanner-mrtg

系統使用CentOS 5.1
郵件伺服器全系列:Postfix+Dovecot+SASL+Procmail+Postgrey+Mailscanner+Spamassassin+ClamAV+Mailscanner-mrtg+MailWatch+Openwebmail+MySPAM

MailWatch蒐集MailScanner郵件過濾的判定紀錄,可用於分析、管理規則的設定

1.安裝MYSQL及相關元件
yum install mysql mysql-server mod_auth_mysql perl-DBD-MySQL

2.安裝PHP及相關元件
yum install php php-gd php-pear php-mysql php-devel


3.設定啟動服務
chkconfig httpd on
chkconfig mysqld on

4.啟動服務
service mysqld start
service httpd start

5.設定MYSQL密碼
/usr/bin/mysqladmin -u root password 'xxxxxx'

6.設定PHP
vim /etc/php.ini

short_open_tag = On
safe_mode = Off
register_globals = Off
magic_quotes_gpc = On
magic_quotes_runtime = Off
session.auto_start = 0

7.安裝MailWatch
下載http://sourceforge.net/project/showfiles.php?group_id=87163

tar -zxvf mailwatch-1.0.4.tar.gz

8.建立資料庫
cd /usr/local/src/mailwatch-1.0.4/

mysql -p < create.sql

產生mailscanner資料庫並建立資料表

9.修改MailWatch資料庫設定
vim MailWatch.pm

my($db_name) = ‘mailscanner’; (資料庫名稱)
my($db_host) = ‘localhost’; (資料庫位置)
my($db_user) = ‘root’; (使用者名稱)
my($db_pass) = ‘xxxxxx′; (使用者密碼)

10.複製設定檔
cp MailWatch.pm /usr/lib/MailScanner/MailScanner/CustomFunctions/

11.新增網頁使用者
mysql mailscanner -u root -p
Enter password: ******

mysql> INSERT INTO users VALUES ('root',md5('xxxxxx'),'root','A','0','0','0','0','0');

11.設置網頁檔案
mv mailscanner /var/www/html/

12.修改網頁權限
cd /var/www/html/mailscanner

chown root:apache images

chmod ug+rwx images

chown root:apache images/cache

chmod ug+rwx images/cache

12.複製設定檔
cp conf.php.example conf.php

13.設定conf.php
vim conf.php

define(DB_TYPE, ‘mysql’);
define(DB_USER, ‘root’);
define(DB_PASS, ‘xxxxxx');
define(DB_HOST, ‘localhost’);
define(DB_NAME, ‘mailscanner’);

14.設定MailScanner
vim /etc/MailScanner/MailScanner.conf

Quarantine User = root
Quarantine Group = apache (this should be the same group as your web server)
Quarantine Permissions = 0660
Quarantine Whole Message = yes
Quarantine Whole Message As Queue Files = no
Detailed Spam Report = yes
Include Scores In SpamAssassin Report = yes
Always Looked Up Last = &MailWatchLogging

15.設定黑白名單
vim /usr/local/src/mailwatch-1.0.4/SQLBlackWhiteList.pm

my($db_name) = 'mailscanner';
my($db_host) = 'localhost';
my($db_user) = 'root';
my($db_pass) = '!Q@W#E$R';

cp /usr/local/src/mailwatch-1.0.4/SQLBlackWhiteList.pm /usr/lib/MailScanner/MailScanner/CustomFunctions/

vim /etc/MailScanner/MailScanner.conf

Is Definitely Not Spam = &SQLWhitelist
Is Definitely Spam = &SQLBlacklist

16. 修改SpamAssassin設定
vim /etc/MailScanner/spam.assassin.prefs.conf

加入
bayes_path /etc/MailScanner/bayes/bayes
bayes_file_mode 0660

17.建立新的bayes目錄
mkdir /etc/MailScanner/bayes
chown root:apache /etc/MailScanner/bayes
chmod g+rws /etc/MailScanner/bayes

18.複製已經存在的bayes資料庫
cp /root/.spamassassin/bayes_* /etc/MailScanner/bayes
chown root:apache /etc/MailScanner/bayes/bayes_*
chmod g+rw /etc/MailScanner/bayes/bayes_*

19.測試SpamAssassin
spamassassin -D -p /etc/MailScanner/spam.assassin.prefs.conf --lint

20.重新啟動MailScanner
service MailScanner restart


備註:
◎網頁中文化
說明 http://csc.ocean-pioneer.com/modules/news/article.php?storyid=17
檔案 http://csc.ocean-pioneer.com/docum/mailscanner.tar.gz
下載後覆蓋即可,中文測試時有些設定功能會失效,可能是版本不同造成的。

◎改網頁編碼
 若顯示Big5中文會出現亂碼,可以在/etc/httpd/conf.d下建立設定檔案
vim /etc/httpd/conf.d/mailwatch.conf

Alias /mailscanner /var/www/html/mailscanner

<Location /mailscanner>
Order allow,deny
allow from all
AddDefaultCharset Big5
</Location>



下集預告:郵件伺服器 Part-5:OpenWebMail

2008新世代資料中心~機房改造研討會

資料來源:iThome

2008新世代資料中心~機房改造研討會

活動時間:2008年8月8日(五)下午13:00~17:00
活動地點:台灣金融研訓院2樓菁業堂(台北市羅斯福路三段62號)

  由於機房重要性涉及到24小時不斷電下備份資料、設備暫存、伺服器與工作站監控操作、測試與維護…等,需建立制度化統籌配置,並建立設備資產管理機制來做最有效利用,再者機櫃的空間規劃、保留安全區隔、門禁管制和監控性設備隔離監控、以及是否可導入環控系統,與空調、電力一併進行監控與整合…等,亦是各企業CIO及資訊部門相當關注層面,iThome電腦報週刊於8/8(五)舉辦2008新世代資料中心~~機房改造研討會,特地邀請廣達電腦資訊部協理方天戟先生,分享從4000人以上員工之跨國集團企業角度談全球運籌供應鏈機房建置思維,此外其它議程廠商從綠化節能、電力系統規劃…等各面向探討在不斷電經營環境下,如何整合內部IT資源之相關議題發揮,議程精彩可期,竭誠歡迎各企業資訊室IT人員蒞臨聆聽。
覺得有點遠....不然還挺想去聽的~

2008年7月30日 星期三

Symantec Endpoint Protection開箱照

期待了半個月,公司訂的Symantec Endpoint Protection終於送到了~

Symantec上市半年多,新一代的端點防護,來個開箱照吧~


除了軟體包外,還有四張授權說明(全英文....)跟註冊表、教育訓練券。


軟體包裡有兩片光碟,第一片是主程式跟主控台,第二片裡有中控的管理工具(更新伺服器、隔離區....)
1. 用戶端功能
  • 除了原有的防毒及防火牆功能,還新增了防間諜、木馬軟體、主動入侵偵測,可以防範未來更多元化的攻擊。
  • 配合管理主控台可集中控管應用程式及週邊裝置的安裝、使用。
2. 管理主控台功能
  • 可進行用戶端電腦安全狀態的分析統計。
  • 對用戶端派送新的病毒定義檔及入侵預防特徵。
  • 發佈防火牆、應用程式及裝置控管政策
  • 以網路對使用者進行防毒軟體的安裝



明天是資訊大拜拜喔~

以前很喜歡看資訊展的,學生時是喜歡去看正妹兼搶贈品,出社會後是去看新科技,在資訊業以廠商的身分進入展場後,便開始恐懼資訊展....

當業務時,一到資訊展就有業績壓力.....

當維修工程師時,每到資訊展就人山人海.....

現在當MIS後,對資訊展沒那麼有利害關係,但一想到裡面的人潮、噪音與空氣,還是沒什麼動力想去看....

為什麼每次資訊展都要搞的跟菜市場一樣?


資料來源:中華民國對外貿易發展協會

2008年台北電腦應用展展覽簡介

http://www.tica.tw/

E-mail: tica-show@taitra.org.tw

一、主辦單位

中華民國對外貿易發展協會

台北市電腦商業同業公會

二、展出地點、日期及時間

(一)地點:台北世界貿易中心展覽一館 展出面積:18,282平方公尺

(二)地址:台北市信義路五段五號

(三)日期:2008年7 月31日(星期四)至8 月4日(星期一),共展出五天。

(四)時間:2008年7 月31日(星期四)至8 月3日(星期日):上午10時至下午6時

2008 年8月4日(星期一):上午10時至下午7時

※全天開放免費參觀。

三、展出內容及展區:

(一)電腦系統產品區

(二)週邊設備區

(三)資訊軟體服務區

(四)數位影音產品區

(五)數位娛樂區

(六)行動應用區

(七)媒體區

內容規畫:

電腦系統產品區、週邊設備區、資訊軟體服務區、數位影音產品區、育樂多媒體區、網路應用服務區、資訊文化區、U-Life主題區、數位典藏主題區、Linux Expo專區、媒體區。

邀請參觀對象:學校、政府機關、企業團體及一般民眾


2008年7月25日 星期五

郵件伺服器 Part-3:Mailscanner-mrtg

前情提要:郵件伺服器Part-2:MailScanner+ClamAV+SpamAssassin

系統使用CentOS 5.1
郵件伺服器全系列:Postfix+Dovecot+SASL+Procmail+Postgrey+Mailscanner+Spamassassin+ClamAV+Mailscanner-mrtg+MailWatch+Openwebmail+MySPAM

Mailscanner-mrtg可偵測伺服器各項資源、效能並產生紀錄網頁

1.安裝SNMP

yum -y install net-snmp net-snmp-utils

2.SNMP的設定
vim /etc/snmp/snmpd.conf

com2sec local localhost public
com2sec mynetwork 192.168.0.0/24 public
group MyRWGroup v1 local
group MyROGroup v1 mynetwork
group MyRWGroup v2c local
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
view all included .1 80
access MyROGroup "" any noauth prefix all none none
access MyRWGroup "" any noauth prefix all all all
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root (configure /etc/snmp/snmp.local.conf)
pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat


3.啟動SNMP
/etc/rc.d/init.d/snmpd start
chkconfig snmpd on
chkconfig --list snmpd

4.安裝MRTG
yum -y install mrtg

5.安裝Mailscanner-MRTG
下載http://sourceforge.net/project/showfiles.php?group_id=68848
rpm -ivh mailscanner-mrtg-0.10.00-1.noarch.rpm

6.修改Mailscanner-MRTG設定
vim /etc/MailScanner/mailscanner-mrtg.conf

 修改下列參數:

MTA = postfix (設定使用的MTA)
Incoming Queue Dir = /var/spool/postfix/hold (收信佇列目錄)
Outgoing Queue Dir = /var/spool/postfix/incoming (寄信佇列目錄)

MailScanner Work Directory = /var/spool/MailScanner/incoming (MailScanner目錄)
Spool Directory = /var/spool/mailscanner-mrtg (MailScanner-mrtg目錄)
# MailScanner Work Directory及Spool Directory是使用df指令來取得磁碟空間,如果沒有獨立的分割區,可以直接改成/var

Use SNMP = yes (使用SNMP)
SNMP Community = public (SNMP設定)
#CPU負載、記憶體用量、網路流量需要使用SNMP


vim /etc/mrtg/mailscanner-mrtg.cfg

Workdir: /var/www/html/mailscanner-mrtg (Mailscanner-MRTG網頁目錄)
IconDir: /mrtg/
WriteExpires: Yes
Interval: 5
Refresh: 300
Language: big5 (設定網頁使用的語系)

7.產生index.html網頁
indexmaker --output=/var/www/html/mailscanner-mrtg/index.html /etc/mrtg/mailscanner-mrtg.cfg

8.測試參數檔
mrtg /etc/mrtg/mailscanner-mrtg.cfg

 需重覆執行到沒有錯誤,如超過三次請檢查設定檔

9.完成後可以在以下看到流量:


備註:
◎如MRTG的圖示無法顯示,請修改httpd設定

vim /etc/httpd/conf.d/mrtg.conf

Allow from localhost改成Allow from all


◎如要記錄MailScanner處理速度(Processing Speed),需修改MailScanner設定
vim /etc/MailScanner/MailScanner.conf


Log Speed = yes

下集預告:郵件伺服器 Part-4:MailWatch

2008年7月24日 星期四

郵件伺服器 Part-2:MailScanner+ClamAV+SpamAssassin

前情提要:郵件伺服器 Part-1:Postfix+Dovecot+SASL+Procmail

系統使用CentOS 5.1 郵件伺服器全系列:Postfix+Dovecot+SASL+Procmail+Postgrey+Mailscanner+Spamassassin+ClamAV+Mailscanner-mrtg+MailWatch+Openwebmail+MySPAM

MailScanner+ClamAV+SpamAssassin可涵蓋郵件的內容及病毒過濾


A.安裝mailscanner
1.安裝相關元件

yum install patch rpm-build
yum install perl-MIME-tools
yum install gcc perl-Archive-Zip

2.下載MailScanner

cd /usr/local/src
elinks http://www.mailscanner.info/downloads.html
下載Version 4.70.7-1 for RedHat, Fedora and Mandrake Linux (and other RPM-based Linux distributions)

3.安裝MailScanner

cd /usr/local/src
tar -zxvf MailScanner-4.70.7-1.rpm.tar.gz
cd MailScanner-4.70.7-1
./install.sh

4.啟動MailScanner

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


5.設定MailScanner設定檔案

vim /etc/MailScanner/MailScanner.conf

基本設定

Run As User = postfix (啟動的使用者)

Run As Group = postfix (啟動的群組)

Incoming Queue Dir = /var/spool/postfix/hold (收信佇列)
Outgoing Queue Dir = /var/spool/postfix/incoming (寄信佇列)

MTA = postfix (使用的MTA)

Max Children = 5 (產生子程序的上限)

Virus Scanning = yes (啟動病毒掃瞄)

Virus Scanners = clamav (設定掃毒套件,多個掃毒套件時以空白字元分隔)

Spam Checks = yes (啟動SPAM掃瞄)

Use SpamAssassin = yes (使用 SpamAssassin 偵測SPAM)
SpamAssassin Site Rules Dir = /etc/mail/spamassassin (SpamAssassin規則檔路徑)

Deliver Unparsable TNEF = yes (增加使用Outlook的相容性)

High Scoring Spam Actions = deliver header "X-Spam-Status: Yes" (高積分時在header標記X-Spam)


效能調教(可參考修改)


Max Unscanned Bytes Per Scan = 300m (每批不被掃瞄大小的上限)

Max Unsafe Bytes Per Scan = 150m (每批被掃瞄大小的上限)

Max Unscanned Messages Per Scan = 300 (每批不被掃瞄數目的上限)

Max Unsafe Messages Per Scan = 300 (每批被掃瞄數目的上限)


其他設定


Spam Subject Text = **SPAM** (普通SPAM的附加標題)

High Scoring Spam Subject Text = **SPAM** (高分SPAM的附加標題)

Send Notices = no (感染信件通知管理員)

Notices Include Full Headers = no (通知信件包含完整表頭)

Required SpamAssassin Score = 6 (普通SPAM積分)

High SpamAssassin Score = 10 (高SPAM積分)
Delivery Method = batch (批次掃描)



6.附件過濾設定(依需求調整)
 過濾附件副檔名屬性設定

vim /etc/MailScanner/filename.rules.conf
 過濾附件類型屬性設定

vim /etc/MailScanner/filetype.rules.conf


7.佇列環境配置

chown postfix.postfix /var/spool/MailScanner/incoming
chown postfix.postfix /var/spool/MailScanner/quarantine


8.設定postfix將信件移到佇列

vim /etc/postfix/main.cf
   header_checks = regexp:/etc/postfix/header_checks

vim /etc/postfix/header_checks
   /^Received:/ HOLD

9.規則設定  設定郵件白名單
vim /etc/MailScanner/rules/spam.whitelist.rules

10.重新啟動MailScanner
service MailScanner restart

B.安裝SpamAssassin+clamav

yum install spamassassin

1.安裝razor
yum install perl-Razor-Agent

2.安裝pyzor
yum install pyzor

3.安裝dcc
cd /usr/local/src
elinks www.rhyolite.com/anti-spam/dcc/source

 下載dcc-dccd.tar.Z
tar -xzvf dcc-dccd.tar.Z
cd dcc-dccd-1.3.39/
./configure

make
make install

4.安裝unrar
yum install unrar

5.安裝ClamAV
yum install clamav-db clamav clamd

6.排程更新clamav病毒碼  (每天0,12點更新病毒碼)
vim /etc/crontab
    0 0,12 * * * root /usr/bin/freshclam
7.啟動spamassassin
chkconfig spamassassin on
service spamassassin start

8.修改資料夾權限
chown postfix /var/spool/postfix

C.規則設定
1.spamassassin預設規則
vim /etc/mail/spamassassin/local.cf

2.可到下列網址取得基本設定
http://www.yrex.com/spam/spamconfig.php
 規則CF檔放置於/etc/mail/spamassassin/即可,中文規則需用上傳不可直接複製貼上複製

3.下載中文過濾規則
wget -N -P /etc/mail/spamassassin/ www.ccert.edu.cn/spam/sa/Chinese_rules.cf


D.啟動spamassassin自動學習
1.建立bayes資料庫
spamassassin --lint --config-file=/etc/MailScanner/spam.assassin.prefs.conf -D
 無資料庫時會出現
 debug: bayes: no dbs present, cannot tie DB R/O: /var/spool/MailScanner/spamassassin/bayes_toks
 需執行sa-learn --sync
 在/var/spool/MailScanner/bayes/裡建立bayes_seen、bayes_toks等資料庫檔案

2.建立黑名單帳號
useradd spam

3.建立白名單帳號
useradd nospam

4.收到誤判或漏判信件時,"以附加檔案方式轉寄"給blacklist或whitelist

5.學習黑名單
sa-learn --prefs-file=/etc/MailScanner/spam.assassin.prefs.conf --showdots --spam --mbox /var/mail/spam

6.學習白名單
sa-learn --prefs-file=/etc/MailScanner/spam.assassin.prefs.conf --showdots --ham --mbox /var/mail/nospam

7.每小時自動學習黑/白名單  
  在/etc/cron.daily建立Script
vim /etc/cron.daily/spam-learn
#!/bin/sh
SPAM=/var/mail/spam
NOSPAM=/var/mail/nospam

LOGFILE=/var/log/
spamlearn.log
CONF
=/etc/MailScanner/spam.assassin.prefs.conf

LEARN
=/usr/bin/sa-learn

date >> $LOGFILE

if [ -f $SPAM ]; then

BOX=${SPAM}.processing

mv $SPAM $BOX
sleep 5

$LEARN --prefs-file=$CONF --spam --mbox $BOX >> $LOGFILE 2>&1

rm -f $BOX

fi

if [ -f $NOSPAM ]; then

BOX=${NOSPAM}.processing

mv $NOSPAM $BOX
sleep 5

$
LEARN --prefs-file=$CONF --ham --mbox $BOX >> $LOGFILE 2>&1

rm -f $BOX
fi


 重新啟動crond
/etc/init.d/crond restart

下集預告:郵件伺服器 Part-3:Mailscanner-mrtg

2008年7月23日 星期三

Linux掃描木馬:chkrootkit、rkhunter

Linux有兩個掃木馬的軟體:chkrootkit、rkhunter,安裝使用皆很簡單,用YUM即可。

◎chkrootkit
1.安裝
yum install chkrootkit

2.執行掃瞄
chkrootkit

◎rkhunter
1.安裝
yum install rkhunter

2.更新
rkhunter --update

3.執行掃瞄
 全系統掃瞄,換掃描項目時會詢問
rkhunter -c
 全系統掃描,不尋問
rkhunter -c -sk


2008年7月22日 星期二

封鎖POP3暴力入侵

 這支程式是針對POP3的暴力入侵攻擊所製作,運作原理為排程自動偵測LOG檔裡的錯誤登入訊息,針對超過頻率限制的IP進行封鎖,並發信通知管理員。

◎blockpop3:主程式,進行頻率分析、封鎖 ( 下載 )
◎blocktime.pl:LOG時間判斷程式 ( 下載 )
◎blockmsg.pl:訊息通知程式 ( 下載 )

下載程式已有更新版 封鎖暴力入侵(更新版 V1) ,請下載新版本程式。

 使用方法:
  1.將三個檔案放在 /usr/bin/
  2.修改權限為755
chmod 755 block*
  3.設定排程
vim /etc/crontab
   新增
*/5 * * * * root /usr/bin/blockpop3 (五分鐘檢查一次)
 相關設定:
vim blockpop3

##要檢查的LOG檔位置
  log="/var/log/maillog"
##抓取LOG的時間範圍(秒),建議配合檢查的排程時間
 range="300"
##錯誤登入次數,時間範圍內想要封鎖的頻率
 badlogin="3"
##欲通知的管理員信箱
 admin="admin@mail.domain.com.tw"
##發信程式
 sendmail="/usr/sbin/sendmail"
備註:
 1.這支程式主要是針對dovecot的登入訊息做分析,主要格式如下:
  Jul 18 17:50:57 msg dovecot: pop3-login: Disconnected: user=<root>, method=PLAIN, rip=192.168.1.244, lip=192.168.1.245
  如LOG內容格式不同需針對blockpop3及blocktime.pl裡的LOG篩選條件做修改
 2.預設封鎖條件是只有封鎖TCP 110,可視情況修改IPTABLES規則對攻擊IP作完全封鎖。

參考程式:Vixual 網路視野 如何及時封鎖想要用「暴力法」以 SSH 入侵的使用者

2008年7月21日 星期一

系統管理者感恩日


  每年七月的最後一個星期五是『系統管理者感恩日』,雖然沒放假,不過還是為了有存在感而窩心,希望他變國定假日吧~


節錄自:http://www.microsoft.com/taiwan/technet/events/saad/about.aspx

  我們有一個節日,專門為辛苦的媽媽量身訂做;我們有一個節日,專門為辛苦的爸爸量身訂做。 那麼,辛苦的IT系統管理者,你的節日在那裡呢?

  系統管理者日,由泰德.卡卡托斯 (Ted Kekatos) 在 2000 年發起。泰德是美國芝加哥的一名 IT 系統管理者,一名不善言詞,默默付出,卻總是被遺忘在網路線堆的那種好人。9 年前的一個下午,當他查閱 HP 雜誌上的技術文件時,一則全版廣告吸引了他的目光。廣告中,同事們排成一條長龍,輪流獻花,感謝這位 IT 人為辦公室採購並安裝全新的雷射印表機。 不知為何,泰德心跳加速,眼眶泛紅…

  “Where’s my gift?”

  這篇廣告給了他靈感,決定發起一個屬於全世界IT系統管理者的節日 - System Administrator Appreciation Day –「系統管理者感恩日」。
  這個日子,定在每年七月的最後一個星期五。

 如何表達感謝

  在每年七月的最後一個星期五,泰德希望您能到 IT 部門走一遭,到上次幫您修好電腦的那位老哥(姐)座位,和他親口說聲謝謝(也許他會很害羞地繼續裝忙); 泰德希望您能趁午休時間,偷偷放個小禮物在機房門口(不會融化,有 3C 特色的禮物更佳); 泰德希望您能寫信告訴全公司這個特別的日子: 這天,我們保證會乖乖使用電腦與網路,讓辛苦的 IT 同仁放今年第一天假!

微軟辦的活動:MIS 轟趴 - 系統管理者日 @Taiwan

活動資訊:
日期:2008 年 7 月 26 日 (六)
時間:am 11:00 – pm 10:00
地點:京華城 B3 地心引力廣場

雖然內容有點商業化....不過有空還是去捧個場吧!

IT人萬歲!


2008年7月18日 星期五

有人要去喝火狐三的滿月酒嗎?

有人要去喝火狐三的滿月酒嗎?明天....
太晚看到這個消息....MozTW要辦派對
在華碩,可惜要收費還有限制入場人數,不然應該會去看熱鬧 XD

相關資訊:Firefox Party 3.0 - 火狐三 之 橫掃全球創紀錄慶生派對

日期時間:2008 年 7 月 19 日 14:00 - 17:30 (13:30 開始入場)

地點:華碩電腦企業營運總部三樓咖啡廳
台北市北投區立德路15號 (UrMap) (交通資訊)

費用:分攤價 150 元 (分攤餐點設備等費用)

人數:限 170 名

Firefox Partya3.0

火狐更新為3.0.1

  有使用火狐的朋友者幾天應該會發現有更新可以安裝,沒想到火狐三才剛滿月,就要換新衣服了~
  沒有找到這次更新的內容,個人猜想是針對之前被找到的漏洞做修補吧?


2008年7月15日 星期二

自動封鎖暴力入侵:Fail2ban

Fail2ban用途在於偵測錯誤登入而對其IP進行封鎖

1.安裝需求套件python
yum install python python-devel gamin-python

2.安裝fail2ban
有兩種安裝方式

◎YUM安裝
yum install fail2ban
(需先設定DAG站台,請參閱YUM站台設定 )
(有裝rpmforge時 [YUM的好幫手:rpmforge ] ,需注意搜尋到的套件版本)
(兩個站台的套件版本不同,DAG是0.8.2、rpmforge是0.6.0,兩個版本設定檔位置及內容會不一樣)

◎RPM安裝
a.下載fail2ban
elinks http://dag.wieers.com/rpm/packages/fail2ban/fail2ban-0.8.1-1.el5.rf.noarch.rpm
b.安裝
rpm -ivh fail2ban-0.8.1-1.el5.rf.noarch.rpm

3.設定
vim /etc/fail2ban/jail.conf

ignoreip = 192.168.1.0/24 (忽略的ip)
bantime = 3600
(封鎖的時間)
findtime = 300
(搜尋的時間範圍)
maxretry = 3
(錯誤的次數)

例:
[ssh-iptables]

enabled = true
(true 開啟 false關閉)
filter = sshd
action = iptables[name=SSH, port=22, protocol=tcp]
sendmail-whois[name=SSH, dest=you@mail.com, sender=fail2ban@mail.com]
logpath = /var/log/secure
(LOG位置)
maxretry = 3


4.設定完後重新啟動服務
service fail2ban restart

設定檔需要特別注意的地方是logpath,需依實際紀錄LOG的位置修改

2008年7月11日 星期五

即時封鎖暴力 入侵 SSH

原程式出自Vixual 網路視野如何及時封鎖想要用「暴力法」以 SSH 入侵的使用者 參考連結
安裝節錄如下:
安裝步驟
1. 下載 block_ssh.pl,將檔案存放在 [/usr/bin],並將權限設為 755:
cd /usr/bin
wget http://www.vixual.net/download/source/block_ip/block_ssh_pl
mv block_ssh_pl block_ssh.pl
chmod 755 block_ssh.pl

2. 編輯 /etc/hosts.allow,加入:

sshd: ALL: spawn (/usr/bin/block_ssh.pl %c %d)

3. 這樣就完成了,如有必要,請自行修改 block_ssh.pl 裡相關的參數。

常用參數如下:
#記錄 ssh 連線的 LOG 檔,預設: /var/log/secure
$log_file = "/var/log/secure";

#於多久的時間內嘗試登入(秒),預設: 1 小時
$time_range = 1 * 60 * 60;

#於 $time_range 所設定的時間內,嘗試登入失敗多少次立即封鎖 IP,預設: 10 次
$drop_count = 10;

#寄件通知,預設收件者: root@localhost
$mail = 'root@localhost';

自行修改部分:
◎強化封鎖,完全封鎖惡意的來源
`iptables -A INPUT -p tcp -s $ip --dport 22 -j DROP`;改成
`/sbin/iptables -I INPUT -s $ip -j DROP`;

◎支援IPV6的系統修改
因為部份系統(CentOS 5.1)會在偵測到的IP前會帶IPV6的"::ffff:",所以必須修改掉,程式才可以正常運作
$ip = $ARGV[0]; 後,加入一條修改指令

$ip =~ s/::ffff://;

CentOS 5.2發佈

CentOS 5.2發佈了~
CentOS是我接觸Linux以來,最愛用的版本,主要不外乎是他相近於RHEL的核心,相容性跟穩定性更是不在話下,伺服器的最佳選擇,真是旅行必備、居家良伴、送禮自用兩相宜呀~
不知不覺中,他也出到5.2版了....聽說已經出半個月了,太晚發現 :P

CentOS 5.2發行注記 (中文版)
節錄如下:

2. 介紹

歡迎來到CentOS 5.2發行。CentOS是一個企業級的Linux發行版本,它是由上游操作系統提供商(UOP)1提供的可自由使用的源代碼重新編譯而成。

是企業級的ㄛ~

4. 已知問題

  • 圖形安裝程序只適用於內存大於512MB的系統。在內存不足512MB的系統上使用圖形安裝程序可能會導致問題發生。
  • 在圖形安裝時,當鼠標指針持續置於Next上時,可能會出現點擊這個按鈕無效的情況。在這種情況下,需要將鼠標指針從Next上挪開再移回。

  • anaconda安裝程序需要至少128MB內存才能正常運行,並且在內存不足256MB的系統上只能使用字符模式。

  • 使用5.2中的yum(指yum > 3.2.x)需要至少768MB的內存(RAM+SWAP)。


沒注意以前有沒有說需要這麼多記憶體?

5. 已解決的問題

  • CentOS有一個解決NFS問題(CentOS bugupstream bug)的kernel-<version>.bz321111。這個問題在5.2中得到了解決,所以NFS不再需要這個內核了。

  • 會導致.xsession-errors中出現錯誤的/etc/X11/xinit/Xsession中的打字錯誤已經得到修正。(問題 #2258

  • web服務器配置程序system-config-httpd無法再為httpd 2.0編寫配置文件,但是現在可以為httpd 2.2編寫(bug #2078)。


好像沒有我會遇到的問題~

2008年7月8日 星期二

Linux封包擷取

 在Linux下要抓封包,除了原本內建的tcpdump外,也可以安裝tethereal使用,tethereal在Windows中稱為Ethereal,後來在2006年6月因為商標的問題,更名為Wireshark,同樣有發行Linux的版本。詳細介紹可參閱 維基百科官方網站

◎安裝Wireshark
yum install wireshark

安裝完成後以 tethereal 指令執行。

◎封包擷取
基本上tcpdump跟wireshark的使用方式一樣,直接執行即可在螢幕上顯示目前的封包狀態。
/usr/sbin/tcpdump
/usr/sbin/tethereal

指定網卡時使用-i參數
/usr/sbin/tcpdump -i eth0
/usr/sbin/tethereal -i eth1

通常我都會先將結果匯至檔案中,再去研究分析
/usr/sbin/tcpdump -i eth0 > 1
/usr/sbin/tethereal -i eth1 > 2
將結果匯至檔案時會出現
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
的訊息
等待欲抓取封包的時間後按Ctrl+C結束執行。

◎Xwindows部分
在Xwindows也同樣可以使用Wireshark,安裝後在應用程式中會出現圖形介面的Wireshark可供執行,操作介面同Windows版。





基礎網路設定

1.設定IP
vim /etc/sysconfig/network-scripts/ifcfg-eth0(依網卡變更檔名)

DEVICE=eth0
BROADCAST=192.168.1.255
HWADDR=XX:XX:XX:XX:XX:XX
IPADDR=192.168.1.1
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
GATEWAY=192.168.1.254
TYPE=Ethernet

或直接執行
SETUP

2.DNS 設定:
vim /etc/resolv.conf

nameserver 168.95.1.1
nameserver 168.95.192.1


3.設定多重IP
/sbin/ip ad ad x.x.x.x/24 dev eth0
/sbin/ip ad ad (增加的IP)/(遮罩) dev (設定的網卡)

例:
/sbin/ip ad ad 192.168.1.2/24 dev eth0

4.設定路由
/sbin/ip ro ad x.x.x.x/24 via x.x.x.x
/sbin/ip ro ad (目的地的網段) via (轉送的路由器位址)

例:
/sbin/ip ro ad 192.168.2.0/24 via 192.168.1.254


5.設定HOST
vim /etc/hosts

127.0.0.1 centos.linux.com.tw msg localhost.localdomain localhost






2008年7月7日 星期一

SSH的設定

SSH預設是已啟動的

1.設定SSH

vim /etc/ssh/sshd_config

#port更改
Port 22(可改成想用的PORT)

#關閉ssh的root登入功能
PermitRootLogin no

#限制輸入密碼的時間
LoginGraceTime 1m

#限制密碼測試的次數
MaxAuthTries 2

2.重新啟動ssh

service sshd restart

3.修改pam的su群組

vim /etc/pam.d/su

auth required pam_wheel.so use_uid

4.將使用者加入到wheel群組,可使用su功能

vim /etc/group

wheel:x:10:root,xxx

YUM的好幫手:rpmforge

rpmforge是從原本的dag站台獨立出來的

官網說明:

http://dag.wieers.com/rpm/FAQ.php#B

安裝方法:


1.視系統選擇安裝的版本指令

# Red Hat Enterprise Linux 5 / i386:

rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

# Red Hat Enterprise Linux 5 / x86_64:

rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS//rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

# Red Hat Enterprise Linux 4 / i386:

rpm -Uhv http://apt.sw.be/redhat/el4/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el4.rf.i386.rpm

# Red Hat Enterprise Linux 4 / x86_64:

rpm -Uhv http://apt.sw.be/redhat/el4/en/x86_64/rpmforge/RPMS/rpmforge-release-0.3.6-1.el4.rf.x86_64.rpm

# Red Hat Enterprise Linux 3 / i386:




# Red Hat Enterprise Linux 3 / x86_64:

rpm -Uhv http://apt.sw.be/redhat/el3/en/x86_64/rpmforge/RPMS/rpmforge-release-0.3.6-1.el3.rf.x86_64.rpm

# Red Hat Enterprise Linux 2 / i386:

rpm -Uhv http://apt.sw.be/redhat/el2.1/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el2.rf.i386.rpm

# Red Hat Linux 9 / i386:

rpm -Uhv http://apt.sw.be/redhat/9/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.rh9.rf.i386.rpm

# Red Hat Linux 7.3 / i386:

2.安裝完以後,在YUM的目錄下會出現rpmforge.repo,這裡面的站台在yum update時會自動維護。
3.以後使用yum時會自動連接rpmforge的站台更新。


YUM站台設定

適用系統:CentOS 5.0

1.修改YUM站台設定
vim /etc/yum.repos.d/CentOS-Base.repo

2.新增下列站台
[dag] [About 4052 Packages]
name=Dag RPM Repository for RHEL5
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el5/en/$basearch/dag/
gpgcheck=1
enabled=1
gpgkey=http://ftp.riken.jp/Linux/dag/packages/RPM-GPG-KEY.dag.txt

[dries] [About 2825 Packages]
name=Extra CentOS rpms dries - $releasever - $basearch
baseurl=http://ftp.belnet.be/packages/dries.ulyssis.org/redhat/el5/en/i386/dries/RPMS
gpgcheck=1
enabled=1
gpgkey=http://dries.ulyssis.org/rpm/RPM-GPG-KEY.dries.txt

[kbs-CentOS-Extras] [About 0 Packages]
name=CentOS.Karan.Org-EL$releasever - Stable
baseurl=http://centos.karan.org/el$releasever/extras/stable/$basearch/RPMS/
gpgcheck=1
enabled=1
gpgkey=http://centos.karan.org/RPM-GPG-KEY-karan.org.txt

[kbs-CentOS-Misc] [Not Ready]
name=CentOS.Karan.Org-EL$releasever - Stable
baseurl=http://centos.karan.org/el$releasever/misc/stable/$basearch/RPMS/
gpgcheck=1
enabled=0
gpgkey=http://centos.karan.org/RPM-GPG-KEY-karan.org.txt

[kbs-CentOS-Misc-Testing] [Not Ready]
name=CentOS.Karan.Org-EL$releasever - Testing
baseurl=http://centos.karan.org/el$releasever/misc/testing/i386/RPMS/
gpgcheck=1
enabled=0
gpgkey=http://centos.karan.org/RPM-GPG-KEY-karan.org.txt

[c5-testing] [About 80 Packages]
name=CentOS-5 Testing
baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing

3.測試站台連接
yum update

4.移除失效站台
vim /etc/yum.repos.d/CentOS-Base.repo
將站台的設定
enabled=0

更新YUM後有問題可參閱:YUM站台格式修正

2008年7月4日 星期五

郵件伺服器 Part-1:Postfix+Dovecot+SASL+Procmail

系統使用CentOS 5.1
郵件伺服器全系列:Postfix+Dovecot+SASL+Procmail+Postgrey+Mailscanner+Spamassassin+ClamAV+Mailscanner-mrtg+MailWatch+Openwebmail+MySPAM

一、移除sendmail,安裝POSFIX
/etc/init.d/sendmail stop
yum install postfix
rpm -e sendmail
chkconfig --add postfix
/etc/init.d/postfix start


二、安裝cyrus-sasl
yum install cyrus-sasl

1.設定SASL啟動
chkconfig saslauthd on
service saslauthd start


2.修改SASL設定
vim /usr/lib/sasl2/smtpd.conf

pwcheck_method: saslauthd
#mech_list: PLAIN LOGIN



三、安裝Procmail
yum install procmail

1.設定Procmail
vim /etc/procmailrc

LOGFILE=/var/log/procmail/procmail.log

(其餘指令依需求設定)

2.建立LOG檔
mkdir /var/log/procmail
touch /var/log/procmail/procmail.log
chmod 644 /var/log/procmail/procmail.log


3.設定logrotate
vim /etc/logrotate.d/procmail

/var/log/procmail/procmail.log {
monthly
size=10M
rotate 5
nocompress
}


四、安裝dovecot(pop3與imap)
yum install dovecot

1.編輯dovecot
vim /etc/dovecot.conf

啟用POP3
protocols = pop3

啟用純文字驗證功能
disable_plaintext_auth = no

偽裝歡迎訊息
login_greeting = Microsoft Exchange 2000 POP3 server version 6.0.6603.0 (ex.roc.corp) ready.

2.啟動dovecot
chkconfig dovecot on
service dovecot start


3.變更郵件檔權限
chmod a+rwxt /var/mail



五、設定Postfix
vim /etc/postfix/main.cf


1.對所有界面服務
#inet_interfaces = localhost
inet_interfaces = all

mail_owner = postfix
2.設定主機名稱及網域設定
mynetworks = 192.168.0.0/24, 127.0.0.0/8
mynetworks_style = host
myhostname = mail.domain.com
mydomain = domain.com

3.設定procmail過濾
mailbox_command = /usr/bin/procmail

4.設定使用SASL
EX.
#SMTP sasl Auth
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_application_name = smtpd

#開啟 smtp 認證
smtpd_sasl_auth_enable = yes

#client端的相容性
broken_sasl_auth_clients = yes


#允許用戶端sasl認證
smtpd_client_restrictions = permit_sasl_authenticated

#允許非匿名的使用者
smtpd_sasl_security_options = noanonymous

#sasl的本地網域
smtpd_sasl_local_domain = $myhostname

#阻擋網域名稱錯誤
smtpd_sender_restrictions = reject_unknown_sender_domain

#阻擋動態IP的主機
smtpd_client_restrictions = check_client_access regexp:/etc/postfix/access


設定驗證項目
每個驗證項目前需空格,最後一項不加","

5.針對client的ip/domain設限
EX.
smtpd_client_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_client_access hash:/etc/postfix/access,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client xbl.spamhaus.org,
reject_rbl_client dsbl.dnsbl.net.au


項目說明:
#允許內網不必檢查
permit_mynetworks,

#SASL驗證
permit_sasl_authenticated,

#反解失敗就拒絕
reject_unknown_client,

#根據access清單拒絕client
check_client_access hash:/etc/postfix/access,

(先建立/etc/postfix/access檔案,拒絕動態ip的client

dynamic.apol.com.tw REJECT We can't allow dynamic IP to relay!
dynamic.giga.net.tw REJECT We can't allow dynamic IP to relay!
dynamic.hinet.net REJECT We can't allow dynamic IP to relay!
dynamic.seed.net.tw REJECT We can't allow dynamic IP to relay!
dynamic.tfn.net.tw REJECT We can't allow dynamic IP to relay!
dynamic.ttn.net REJECT We can't allow dynamic IP to relay!
dynamic.lsc.net.tw REJECT We can't allow dynamic IP to relay!


postmap hash:/etc/postfix/access 來建立DB)


#使用正規表示式拒絕名稱中有dynamic的主機連線
check_client_access regexp:/etc/postfix/access_re

(請先建立 /etc/postfix/access_re
/dynamic/ REJECT )

#使用DNS Block List 黑名單機制
reject_rbl_client cbl.abuseat.org,
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client xbl.spamhaus.org,
reject_rbl_client dsbl.dnsbl.net.au,


6.要求寄信前要提出helo的要求
smtpd_helo_required = yes

7.SMTP驗證HELO
EX.
smtpd_helo_restrictions =
permit_mynetworks,
reject_invalid_hostname,
check_helo_access hash:/etc/postfix/fake_helo


#拒絕不正確/未知的helo domain
reject_invalid_hostname,
#reject_non_fqdn_hostname,
#reject_unknown_hostname,
#拒絕外界但是宣稱是自己domain的helo
check_helo_access hash:/etc/postfix/fake_helo


(拒絕外界但是宣稱是自己domain的helo
請先建立 /etc/postfix/fake_helo
內容 example.com REJECT
利用#postmap hash:/etc/postfix/fake_helo 建立DB)


#馬上拒絕不delay
smtpd_delay_reject = no


8.根據Mail from來限制
EX.
smtpd_sender_restrictions =
permit_mynetworks,
reject_non_fqdn_sender,
reject_unknown_sender_domain


#拒收來自於外界卻宣稱發自內部的信件
#check_sender_access hash:/etc/postfix/fake_from,
(建立 /etc/postfix/fake_from
內容 example.com REJECT
使用 #postmap hash:/etc/postfix/fake_from)

#拒絕不正確和未知的domain
reject_non_fqdn_sender


9.根據接收來限制
EX.
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_policy_service unix:/var/spool/postfix/postgrey/socket,
permit_auth_destination,
reject_unauth_destination


#有鑑於有些廣告信都是以edm@xxx.com為sender
header_checks = regexp:/etc/postfix/hc
(建立一檔案 /etc/postfix/hc
內容 /^From:.*edm@/ REJECT
使用正規表示式過濾以edm@xxx.com為寄件人的廣告信)


10.偽裝登入POSTFIX時所顯示的訊息
smtpd_banner = Welcome to Microsoft Exchange 2003

11.佇列儲存時間
#寄出時間
maximal_queue_lifetime = 5d
#退信時間
bounce_queue_lifetime = 5d

12.每封信限制大小
message_size_limit = 512000000

13.每個帳號郵箱限制大小(無限)
mailbox_size_limit = 0


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

SASL測試
1.啟動saslauthd啟動

/etc/rc.d/init.d/saslauthd start
service postfix reload

2.測試
testsaslauthd -u user -p 'password'
0: OK "Success."-->成功

3.相關設定檔
/etc/sysconfig/saslauthd

主要是MECH=shadow

4.SASL驗證訊息
saslauthd -v
saslauthd 2.1.19
authentication mechanisms: getpwent kerberos5 pam rimap shadow ldap

5.TELNET測試
telnet mail.domain.com 25

EHLO test.com

250-mail.domain.com
250-PIPELINING
250-SIZE 512000000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

六、七行會顯示目前的認證協定
---------------------------------------------------------------------

POSTFIX測試

1.檢查啟動
service postfix restart
netstat -tupln grep :25


postfix在port 25 listen

2.檢查postfix設定
#postconf
檢查預設值
#postconf -d

3.Telnet寄信
Client傳送信件給Server的程序為
HELO / EHLO 網域名稱
MAIL FROM: 寄件者e-mail
RCPT TO: 收件者e-mail
DATA 信件內容然後以 . 為結束
QUIT 寄信完離開



下集預告:郵件伺服器
Part-2:MailScanner+ClamAV+SpamAssassin


##EasyReadMore##