郵件服務器
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下有和模塊名對應的進程
常見的模塊:pam_unix.so 是完全實現認證的模塊 實現本地用戶在登錄時認證的