目前分類:FreeBSD (119)

瀏覽方式: 標題列表 簡短摘要
什麼是 SPF ? SPF 的全名是 Sender Policy Framwork,它是一種可以用來檢查 SMTP Server 是否有偽造其它人的 Domain 或是虛設一個 Domain

假設我的 Mail Server 為 mail.bojack.com,要是有某個傢伙一直
以我的 Domain 偽造 Mail 的話,哪一天被人家 SPAM 了都還不知道為什麼呢

因此 SPF 的出現可以讓 Mail Server 檢查信件來源是否符合正確的來源,也成為另一種對抗垃圾信的方式

要怎麼做呢?其實很簡單,只要去修改 DNS 以及 Mail Server 的設定就可以了!

Bojack 發表在 痞客邦 留言(2) 人氣()

這二天要查系統的 log ,一般來說 log 檔都是放在 /var/logs 的目錄底下

每天備份的檔案會在 /etc/newsyslog.conf 做設定,可以設定備份的參數為何

以 maillog 來說,前一天備份好的檔案會命名為 maillog.o.gz

如果說要看記錄的話,必須先將它解開

# gzip -d maillog.0.gz

這樣子就可以了!

( 這篇的重點就是上上面那一行指令而已,因為我老是忘記指令 )

2007.12.01 補充

非常感謝網友 citygrit 補充三個可以直接 cat 出來的指令,配合著其它指令就是我想要的了!

gzcat , bzcat , zcat

# gzcat openwebmail.log.0.gz | grep 'keyword' > file.dat

Bojack 發表在 痞客邦 留言(2) 人氣()

今天看了 maillog 出現了一些錯誤訊息

Nov 16 15:44:32 mail postfix/local[64690]: 498962B7EA5: to=<xxx@xxx.xxx.xxx>, relay=local, delay=1, status=bounced (Command died with status 255: " /usr/local/www/cgi-bin/openwebmail/vacation.pl -t60s -a xxx@xxx.xxx.xxx  xx". Command output: Insecure dependency in piped open while running setuid at /usr/local/www/cgi-bin/openwebmail/vacation.pl line 421. )

原來此程式 vacation.pl 為 openwebmail 的「自動回覆功能」,但不知為何一直出錯,酷學園裡的 egmo 找到解決方式,在 vacation.pl 大概 421 行的地方

將原本的

#open(MAIL, "|$sendmail -oi -t '$from'") or die "Can't run sendmail: $!\n";
open(MAIL, "|$sendmail -oi -f '$to' '$from'") or die "Can't run sendmail: $!\n";
print MAIL $msg;
close MAIL;

改成

open(MAIL, "|$sendmail -oi -t '$from'") or die "Can't run sendmail: $!\n";
#open(MAIL, "|$sendmail -oi -f '$to' '$from'") or die "Can't run sendmail: $!\n";
print MAIL $msg;
close MAIL;

Bojack 發表在 痞客邦 留言(0) 人氣()

前天架好的 Postfix + SASL2 出了一點小問題,看到下列訊息以為應該正常了?

250-XXX
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

沒想到用 Outlook Express 寄信時一直問我帳號和密碼,按停止後也沒有錯誤訊息判斷,看了一下 maillog 一直有出現這行訊息

warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory


檢查了一下 SASL 也有 run 起來,稍微 Google 一下找到了解答,又是在 MC104 的網站找到一模一樣的問題,原來是我的 cyrus-sasl 跟 cyrus-sasl-saslauthd 版本不一致,一個是 cyrus-sasl-2.1.21 ,另一個則是cyrus-sasl-saslauthd-2.1.22 ,既然找到答案後,就用 portupgrade 升級 cyrus-sasl 到 2.1.22,一切就正常了!

Bojack 發表在 痞客邦 留言(0) 人氣()

Sudo 可以讓我們控制 Root 權限的發放

現在在 /usr/ports/security/sudo 裡就可以直接安裝!

裝好後,使用指令 visudo 來編輯 sudo 的設定檔

不過我比較懶,直接給一行就解決了 ._.

bojack          ALL=(ALL) ALL

詳細用法可以參考王俊斌的網站Sudoers Manual 的說明

2011.9.9 補充 CentOS 的是在 /etc/sudoers

Bojack 發表在 痞客邦 留言(0) 人氣()

這篇算是承上一篇後的產物,當 Postfix + SASL2 都完成後,原則上在寄信的安全機制上已有了保障,但針對信件還沒有任何防範的措施,若能加上防毒的功能就更棒了!於是,我又在這台 Mail Server 上裝上了 Amavisd-newAvria Antivir ~

首先大概了解一下 PostfixAmavisd-newAvria Antivir 三者彼此間的關係。

Postfix 不用多說,架過 Mail Server 的人一定都聽過 SendmailPostfix 這二個 MTA,而這二個都是視個人習慣來選擇使用,一直以來我都是選擇平易近人的 Postfix 來用。

Amavisd-new 是什麼呢?其實 Amavisd-new 是介於 MTA 和 病毒掃瞄引擎/防毒軟體 中間的介面程式。

當 MTA 在收到電子郵件後,會把信轉給 Amavisd-new 來處理, 而 Amavisd-new 則會呼叫病毒掃瞄引擎或是垃圾郵件檢查程式來處理這封郵件, 處理完畢後,它會將它再丟還給 MTA 繼續處理。

Avria Antivir 是什麼呢?當然就是上述的病毒掃瞄引擎了,也就是一般人常在 Windows 上用的防毒軟體,有個可愛的外號叫「小紅傘」。當然我們也可以在 FreeBSD / OpenBSD / Linux 上安裝它當防毒軟體,此時它扮演的就是病毒掃瞄引擎這角色。關係如下圖所示:


在這範例中,我的 SpamAssassin 裝的過程中爛掉了,所以暫時不考慮擋廣告這部份,過一陣子我再補裝看看。

所以一開始要先裝 Amavisd-new,在這邊我勾了 DBD、SASL、MILTER 及其它預設有勾的東西。

# cd /usr/ports/security/amavisd-new
# make install clean
# cd /usr/local/etc
# cp amavisd.conf-dist amavisd.conf
# chown vscan amavisd.conf
# chmod 400 amavisd.conf


接下來去編輯 amavisd.conf 這個很「複雜」的設定檔,我只有設定幾個基本的組態,詳細設定必須再研究一下 amavisd.conf !

$mydomain = '你的 FQDN';
$forward_method = 'smtp:127.0.0.1:10025';
$notify_method = $forward_method;


由於目前這設定檔會用到 SpamAssasin ,但我的 SpamAssasin 又爛掉,所以必須在 amavised.conf 加入一行設定來跳過這部份。

@bypass_spam_checks_maps = (1);

接下來要來設定 Postfix 讓它知道何時該將信傳給 Amavisd-new 來準備掃毒 ~

在 main.cf 最下面加入一行設定

# cd /usr/local/etc/postfix
# vi main.cf


content_filter = smtp-amavis:[127.0.0.1]:10024

在 master.cf 最下面也加入這些設定

# vi master.cf

smtp-amavis unix - - n - 2  smtp
 -o smtp_date_done_timeout=1200
 -o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
 -o content_filterr=


在 /etc/rc.conf 加入一行 amavisd_enable="YES" 讓它開機時自動執行
# cd /usr/local/etc/rc.d
# cp amavisd amavisd.sh


到此 PostfixAmavisd-new 都 OK 了,剩下的就是防毒軟體安裝,連上 Avair AntiVir 網站去 Download 原始檔回來 Compiler ,我下載的是 antivir-workstation-pers.tar.gz 。

FreeBSD 上安裝小紅傘的部份很長,請先參考此篇 [教學] FreeBSD 上安裝 Avira Antivir (做為 amavisd-new 的掃毒元件) 就 OK 了!

寫到最後,為什麼要挑小紅傘來當防毒呢?因為 MC104 有寫到「安裝完成之後,只要重新啟動 amavisd-new,就能直接使用 Avira AntiVir 來進行郵件掃毒,不需要額外的設定,非常方便。

那麼方便的設定不用它真對不起自己 XD

這一篇只是簡單紀錄一下如何在 Mail Server 上裝上防毒的功能,但功能還不算完整,過一陣子再整合這一篇打造安全的 SMTP Server - Postfix + SASL + TLS + SpamAssassin + DNSBL 文章,另外再寫一篇教學。

[ Debian-Wiki ] - Amavisd-new
[ AntiVir ] - Download
[ MC104 ] - FreeBSD 上安裝 Avira Antivir (做為 amavisd-new 的掃毒元件)
[ Eternity ] - 改用 amavisd-new 來搭 clamav
[ FreeBSD - AMaVisd-new ]
[ 四位的 FreeBSD 學習技術文件 ] - Postfix+ClamAV+Amavisd-new
[ 四位的 FreeBSD 學習技術文件 ] - MFA - Mail Filter Angan ( Mail Gateway  郵件閘道過濾器架設 )

Bojack 發表在 痞客邦 留言(0) 人氣()

今天裝了一台 Mail Server ,原本打算裝 Postfix + SASL1,不過今天想來用看看 SASL2 就給它裝下去了。

裝的過程就不多說,等到都 OK 後,發現 Console 端一直噴出這個訊息

OTP unavailable because can't reade/write key database /etc/opiekeys

Google 查了一下找到小川直樹這篇文章有解答,原來是我在安裝 SASL2 時預設會連 OTP 也裝進去

解決方法有二種,第一種是小川直樹所用的「駝鳥法」,將 /usr/local/lib/sasl2/ 下有關 libotp.* 的檔案都移掉或更名,這樣礙眼的訊息就不會一直出現了。

第二種解決的方法比較正確,就是在安裝 SASL2 時加入參數 WITHOUT_OTP=yes 即可

# cd /usr/ports/security/cyrus-sasl2-saslauthd
# make install WITHOUT_OTP= yes clean

Bojack 發表在 痞客邦 留言(0) 人氣()

用 Root 登入後,打上指令即可(fxp1 是例子,請視個人電腦來修改)
ifconfig fxp1 ether XX:XX:XX:XX:XX:XX

Bojack 發表在 痞客邦 留言(0) 人氣()

今天 make fetch 某個 ports 的檔案出現這個問題

On FreeBSD before 6.2 ports system unfortunately can not set default X11BASE by itself so please help it a bit by setting X11BASE=${LOCALBASE} in make.conf.
On the other hand, if you do wish to use non-default X11BASE, please set variable USE_NONDEFAULT_X11BASE.
*** Error code 1

解決的方式就在這段文字內,在 make.conf 加入 X11BASE=${LOCALBASE} 就好了

Bojack 發表在 痞客邦 留言(1) 人氣()

今天遇到這台情況是這樣的,/var 目錄的使用已經達到 104%。檢查來檢查去都找不到任何一個看起來很大的檔案,上網找了一些資料也發現有人和我有同樣情況。

解決方式分享一下

首先先 du -sh /var 確認我用了多少空間 ( 4.4 MB only )

再下 fsck -f -y /dev/ad0s1e ( 視個人機器有所異 )

再給它 sync

最後 reboot ~ Finish !

Bojack 發表在 痞客邦 留言(2) 人氣()

參考手冊

http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/

Bojack 發表在 痞客邦 留言(0) 人氣()

這篇適用於使用 Apache 架站的人。以我的情況來說,如果當訪客來訪時出現找不到網頁的時候,可以打開 httpd.conf 裡面這行配置
Include conf/extra/httpd-multilang-errordoc.conf

上面這情況適用於只有一個網站的人,如果在同一個 Server 下有不同網站的人,可以直接在網頁根目錄上新增一個 .htaccess 檔案(這也適用第一種情況),配置相關參數來解決上述情況,missing.html 就要放在相對的地方唷。
ErrorDocument 404 /missing.html

Bojack 發表在 痞客邦 留言(0) 人氣()

在 Apache 中可以用 .htaccess 來做一些簡單的安全性、認證相關的設定。

若 Apache 是架設在 Windows 上的話,必須做一些簡單的修改。由於 Windows 本身並沒有辦法辨識這類型檔案,所以要把它稍微改個名,改成 htaccess.txt 才可以正常運作。

開啟 httpd.conf 後,將下面這二行修改一下,再新啟動 Apache

AllowOverride None 改成 AllowOverride All
AccessFileName .htaccess 改成 AccessFileName htaccess.txt

.若要設定防盗連的話,可以在 htaccess 做一些設定

SetrnvlfNocaseReferer"^http://www\.bojack\.idv\.tw
<FilesMatch"\.(zip|rar|doc|jpg|gif|png)">
Orderallow,Deny
AllowFromenv=local_ref
Allowfrom 127.0.0.1
</FilesMatch>

上面這幾行的意思是說,只允許在瀏覽 www.bojack.idv.tw 時可以下載 zip / rar / doc / jpg / gif / png 等等的檔案

.若要設定限制來訪的訪客,可以做以下的設定
<limit Get>
order deny,allow
deny from all
allow from .bojack.idv.tw
allow from 192.168.1.
</Limit>

上面這幾行的意思是說,只允許 .bojack.idv.tw or 192.168.1.x 的人可以瀏覽這個網站

反之,若只要封鎖特定的人可以做這些設定
<filesmach"\.x">
order deny,allow
allow from all
deny from 192.168.1
deny from 192.168.2.1
</filesmach>

Bojack 發表在 痞客邦 留言(2) 人氣()

引用官方的說明. 看來要昇級系統了 XD

End of Product Lifecycle.

Active development and support for MySQL database server versions 3.23, 4.0, and 4.1 have ended. For MySQL 4.0 and 4.1, there is still extended support available, though. For details, see http://www.mysql.com/company/legal/lifecycle/#calendar.According to the MySQL Lifecycle Policy (see http://www.mysql.com/company/legal/lifecycle/#policy), only Security Level 1 issues will still be fixed for those versions. Please consider upgrading to a recent version (MySQL 5.0 or 5.1).

Bojack 發表在 痞客邦 留言(0) 人氣()

這可以用來分析 Maillog 的工具,方便觀看 Mail 的流向。

安裝 Mailmgr

# cd /usr/ports/mail/mailmgr
# make install clean


接下來要去 /usr/local/etc/ 下面修改 mailmgr.conf

這是我的設定


# maillog 的位置
logfile /var/log/maillog

# 暫存檔
temporary_dir /tmp

# 輸出的路徑
output_dir /path/to/your/mailmgr

# 可收發MAIL網域
local-host-names /path/to/your/local-host-names

# 用預設的 0
lastlog 0

# 用預設的 no
overwrite_report no

# 改成你的網域,如果有多個 domain 就用 none
email_domain bojack.idv.tw

# 是否使用 Sendmail
use_sendmail_cw no

# 網頁 Title 設定
title "XXXX"


沒有 local-host-names 的話就自己建一個,設定接收信件的網域是什麼 ~

我們來啟動 Mailmgr
#/usr/local/bin/mailmgr


最後加入排程,每天三點來分析一次 ~
crontab -e
00 03 * * * /usr/local/bin/mailmgr


[1] 建立Mail的流量統計

Bojack 發表在 痞客邦 留言(0) 人氣()

目前用的環境是 FreeBSD 6.2 ~ 最近在辦公室這裝一台來玩玩,上次裝大概是大三的時候吧 :p

首先先來安裝 NTOP

# cd /usr/ports/net/ntop/
# make install clean


安裝好之後設定一下 admin 的密碼

# rehash
# ntop -A


在 /etc/rc.conf 加入這一行,啟動機器的同時也啟動此 Service
# ntop_enable="YES"


啟動 NTOP 吧 ~
# /usr/local/etc/rc.d/ntop start


接下來就可以透過 http://ip:3000/ 來觀看 NTOP 的情況囉 !

Bojack 發表在 痞客邦 留言(0) 人氣()

先前我要跨版本升級 FreeBSD 時,都是用重灌大法來升級的 ... 所以嚴格來說從來沒有在現有的系統做跨版本升級的動作。昨晚決定來嘗試一下,昨晚上就架設了一台 FreeBSD 5.3 的機器,並且將它升級到 5.5-STABLE,從 5.3 到 5.5 的方法可以參考更新 FreeBSD Security Patch

特別注意:此方法目前僅測試過一次,且也是我第一次升級,是還蠻順利的。但仍不敢保證每一台都可以升級成功,詳細正確的升級方式還是要看一下 UPDATING 唷 ~

Bojack 發表在 痞客邦 留言(0) 人氣()

Proftp
DefaultRoot ~

smbFTPD
chrootset @

FreeBSD 內建的 FTP,設定 /etc/ftpchroot,打入 user name 或是群組 ( 要加 @ )
# 一般 user
bojack
# user 群組
@users

Bojack 發表在 痞客邦 留言(0) 人氣()

昨天在 PTTFreeBSD 板看到一個問題,大概是說如果目前的網路環境不太穩定,很容易斷線,那在利用 ports 安裝東西時一旦斷線不就要重來再安裝嗎?有沒有辦法讓這安裝的過程接續下去?熱心的板友回覆說,可以利用 Screen 試看看!因此在這記錄一下 Screen 的安裝與簡易操作說明。


1. 開始安裝 Screen


安裝的部份請愛用 ports 來安裝,如下 ( 目前的版本為 screen-4.0.3 )



# cd /usr/ports/sysutils/screen/
# make install clean
# rehash

Bojack 發表在 痞客邦 留言(0) 人氣()

目前用的是 FreeBSD 6,若要在檔案系統顯示中文時,必須去做一些調整,個人愛用 tcsh ,記錄一下我所使用的參數。在調校系統語系之前,請先到 /usr/share/local 裡面看一下目前所支援的語系有哪些喔!


看好之後就可以直接設定了,檔案是在 /etc/csh.cshrc 這個檔案中


setenv LC_CTYPE en_US.ISO8859-1
setenv LC_ALL zh_TW.Big5
setenv LANG zh_TW.Big5
if ($?prompt) then
set prompt = "%m:%/%#"
endif

若是愛用 bash 的人,可以參考這樣的設置

LC_CTYPE=en_US.ISO8859-1 ; export LC_CTYPE
LC_ALL=zh_TW.Big5 ; export LC_ALL
LANG=zh_TW.Big5 ; export LANG

這樣子下次重登之後就會發現,目前已經支援中文環境了,可是也發現當我在編輯含有中文內容的檔案時,還是會出現亂碼,解決的方法就是 ... 請愛用 vim :p
# cd /usr/ports/editors/vim
# make -DWITHOUT_X11 install clean
vim 還要另外再設定一下 [ 參考來源 ],才不會用起來不順手!
# cd /root
vi .vimrc (內容如下)
set cindent
set enc=taiwan
set fileencoding=taiwan
set hls
set nocompatible # 方向鍵不會出現英文
set sw=2
set guifontset=8x16,kc15f,-*-16-*-big5-0 # 設定 zh_TW.Big5 locale
syntax on
highlight Comment ctermfg=darkcyan
highlight Search term=reverse ctermbg=4 ctermfg=7
# cp .vimrc /home/usr # 將 .vimrc 設定檔拷貝給現有使用者
# cp .vimrc /usr/share/skel/dot.vimrc # 日後新增帳號自動複製

Bojack 發表在 痞客邦 留言(1) 人氣()