郵件伺服器
SMTP:簡單郵件傳輸協定 基于tcp 監聽25端口
POP3:郵局協定 Post Office Protocol 基于tcp 監聽110端口
IMAP4:網際網路郵件通路協定 Internet Mail Access Protocol 基于tcp 監聽143端口
MIME : 多使用者多功能網際網路郵件擴充Multipurpose Internet Mail Extensions
MUA:郵件使用者代理 Mail User Agent 常用的:Outlook,mutt,OE
MTA :提供SMTP SERVER 郵件傳輸代理 Mail Transfer Agent 是個統稱 能夠提供SMTP服務的伺服器都叫MTA 軟體Exchange Sendmail Lotus Note Domino Postfix Qmail Exim
/var/mail目錄下使用者均有檔案
MDA: 郵件投遞代理 Mail Delivery Agent 提供此服務的軟體:procmail,maildrop
MAA :郵件通路代理 Mail Access Agent
提供POP3,IMAP4服務的軟體: courrier-imap,dovecot
MSA:郵件送出代理
SASL:簡單認證安全層 Simple Authentication Secure Layer 是種協定
clamav 病毒郵件掃描器 發現有毒的話則進行标示
caller 呼叫器: mimedefang,mailscanner,amavisd-new
使用者的郵箱是個存儲空間 類型:mbox,maildir
建構郵件伺服器 三個軟體 sendmail,postfix,exim
發郵件:mail -v 後跟發給誰 或者echo “檔案正文” |mail -s ‘郵件主題’ 發給誰
允許其他主機發郵件的話 需要sendmail,sendmail-cf,sendmail-doc,m4軟體包
sendmail所有配置檔案都在/etc/mail下 主配置檔案是sendmail.cf
在配置檔案sendmail.mc中的116行改變檔案 使其可對外服務
但是郵件伺服器預設從主機到主機 在access中定義的有 如果允許誰發郵件 則在其中定義
sendmail不會識别access檔案 要轉換成access.db 重新開機服務自動轉換
郵件别名
[email protected] à [email protected] 把發給neil的都轉給aa
郵件别名在/etc/aliases 格式: neil: aa 或者寫全稱
這個檔案不被識别 可以手動轉換 newaliases 但是重新開機服務自動轉換
可以群發 在/etc/aliases 格式:随便一名字: 要群發的對象(使用者間用逗号隔開)
用到的被改的檔案:(前面為使用的檔案,後面是實則改動的檔案)
sendmail.cf:sendmail.mc access.db:access local-host-names /etc/aliases.db:/etc/aliases
這些是用來發郵件的 用來接收郵件 必須安裝接收郵件的包
dovecot包 用來接收郵件 屬于MAA 提供以下四種服務:pop3,imap4,pops,imaps
dovecot主配置檔案在/etc/dovecot.conf檔案 找到protocols 來定義啟動什麼服務
用telnet受郵件時 用telnet 後跟伺服器位址 後跟端口号110
進入後USER後跟使用者名 PASS後跟密碼 LIST檢視郵箱郵件數 RETR後跟數字表示檢視哪一封郵件
用mutt接收郵件 格式例如mutt -f pop://[email protected]
如何實作sendmail發郵件時的位址僞裝
如果發件人有多個名字 在發郵件時統一名稱
主配置檔案/etc/mail/sendmail.mc 僞裝位址修改MASQUERADE選項 啟用以FEATURE開頭的選項
如何讓sendmail支援smtps,sasl
smtps監聽465端口 用到證書
sasl 程序名字:saslauthd /usr/lib/sasl2目錄中的配置檔案說明下密碼檢測方法 在Sendmail.conf中添加mech_list:login plain
編碼方式 echo -n“被編碼内容” | openssl base64
imaps監聽993端口 pop3s監聽995端口
提供加密的imaps,pop3s服務 pop3àpop3s imapàimaps
建立 CA的步驟:cd /etc/pki/CA
openssl genrsa 1024 > private/cakey.pem生成私鑰檔案保留在此目錄下
生成自簽證書 生成前把/etc/pki/tls/openssl.cnf中的CA路徑修改一下以及預設項 openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 6500
修改檔案權限為600 cacert.pem private/cakey.pem
在/etc/pki/CA建立三個目錄 certs,newcerts,crl 再建立三個檔案 serial,index.txt echo 00 > serial
抓包工具:wireshark 抓包格式:tshark -ni eth0 -R “抓包條件”
例如:tshark -ni eth0 -R "tcp.srcport eq 110 or tcp.dstport eq 110"
純粹為了測試使用的證書建立方法:
在/etc/pki/tls/certs下 make指令建立證書 例如make dovecot.pem
Postfix:和sendmail相同作用但是功能更大效率更高
Postfix是子產品化設計 其中master程序最重要,是核心程序 在其管理下有很多子程序 在postfix啟動時第一個啟動的程序。 master.cf main.cf記錄這些子程序在完整的實作一個郵件系統的時候所用到的服務參數 parameter = value(定義的值)
postconf –n 檢視修改過的參數 postconf –d 檢視預設參數 postconf 顯示所有生效的選項
postconf –e 可以修改需要的參數為自己所需 用vim修改比較常用
檢視main.cf接受哪些參數哪些指令 用man postconf 配置檔案第五行 man後加5
安裝postfix 後 啟動服務前要解除安裝sendmail rpm –e sendmail –nodeps 忽略依賴關系強行解除安裝
主配置檔案/etc/postfix/main.cf inet_interfaces選項指定監聽的接口位址,多個接口用逗号隔開
NSS:名稱服務轉換
PAM:可插拔式認證子產品
/lib/security下放着所有PAM可配置子產品
在/etc/pam.d下有和子產品名對應的程序