国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

搞定Sendmail郵件權限控制

2024-07-21 02:35:53
字體:
來源:轉載
供稿:網友

  在當今網絡的應用中,安全是越來越顯出它的重要性了。而E-mail服務是網絡世界的一項十分有價值的應用,同樣它受到的安全上的威脅也越來越大。從郵件中,黑客們可以采取各種各樣的方式來尋找你網絡系統上的安全漏洞并實施攻擊。 比如說,通過在短時間內連續發送大量的垃圾郵件,可以導致你的郵件服務器系統崩潰;另外有些郵件發送者可以利用你的郵件服務器作他們的代理轉發系統,這也可能讓你系統“蒙受不白之冤”。還有一種情況是,有些站點發來的郵件是不可靠或者非法的,這也需要得到有效的控制。那么怎樣能夠實現這些對郵件的控制呢?
  
    一、Sendmail出場
  
    這里我們就來探討怎樣在linux平臺上用Sendmail郵件程序來完成這項功能。由于篇幅所限,現在我們只可能就其很小的一部分功能作一些簡要介紹。
  
    我們假定你有一臺服務器,并且已經安裝好了Sendmail軟件(推薦為8.9.x以上的版本),可以實現收發郵件的功能。子網內部機器都可以通過而且必須通過該服務器的郵件代理來發送和接收Internet上的郵件。我們以Sendmail的標準配置為參照,看看如何實現對SMTP郵件的中繼轉發控制。在安裝完Sendmail后,我們在/etc/mail(這是默認目錄)下,可以找到幾個用來控制的數據庫及其編輯文件,包括mailer、deny、access等。其中access庫即是我們本文討論的重點。當我們用vi access查看該文件時,可以看到如下一些默認行(注:這里示例的sendmail版本是8.9.3):
  
    localhost.localdomain       RELAY
  
    localhost           RELAY
  
    這些默認行說明對你的本域內機器可以實現轉發,我們下面的工作就是要對該文件進行加工編輯,以實現對郵件傳輸的權限控制,從而保證一定的系統安全性。
  
    二、走進郵件數據庫
  
    我們仍然以vi access命令來實施對文件的編輯。首先簡單說明一下access數據庫的作用及基本形式。access庫答應系統治理者按照自己的策略決定是否答應其它域的郵件服務器或郵件地址訪問。這個數據庫中的每條記錄包括一個域名(或者網絡名、子網名以及直接的郵箱地址等)作為要害字,以及一項針對該要害字的行動值(即對要害字表示的地址采取什么樣的控制方法),它們以TAB鍵分隔。在默認行中,我們看到的localhost localdomain、localhost都是要害字,而relay則是相應的行動值。
  
    要害字可為多種形式,如完全或部分域名、直接的郵箱地址、ip地址等,例如:
  
    host.subdomain.domain.com,subdomain.domain.com或domain.com都是符合要求的要害字,同樣,user@host.domain,@host.domain,205.199.2.250,205.199.2,205.199也都是合法的要害字。
  
    由此可見,要害字的匹配項很多,這就大大提高了程序對郵件的控制功能。范圍或大或小,都可以由我們靈活控制,確實不錯!以下我們便可根據自己系統的需要分別對這些要害字作權限控制,具體來說,行動值有四類:其中的relay,我們已經在文件的默認值中見過了,它表示答應通過你的郵件服務器對郵件作中繼轉發。其它的三類分別為ok、reject和discard。別小看就這么幾項,但實現的功能可不小哦。ok是用來答應用戶的任意訪問,它會覆蓋任何其它已建立的檢查(實際設置中,最好別設這項,除非你對該用戶是絕對信任的);reject可以實現對來訪地址的拒絕,它根本就不容許該地址與你的郵件服務器進行連接通信;假如你想對來訪地址耍一個小花招,那么選擇discard就再合適不過了,它的作用是在接收到傳輸的郵件消息后,偷偷地把它丟棄掉(在發送者看來,他的郵件的確是接收了,但他并不知道,發送的目的地址根本不可能接收到他的郵件,服務器巧妙地欺騙了他,這就叫以其人之道還治其人之身?。3艘陨辖榻B的這四類以外,還可以通過傳遞出錯端口標志和出錯信息來拒絕接收郵件。
  
    三、動手做實例
  
    我們下面就來看一看幾個例子:
  
    cyber.com             reject
  
    sendmail.org             relay
  
    my@sendmail.org           ok
  
    spam@buyme.com          discard
  
    202.103.109.35 reject
  
    202.103 relay
  
    @buyme.com    550  You don't see the whole world!
  
    (注:四個行動值不區分大小寫。

  
    你可以根據你的需要加入合適項以實現郵件權限的設置。為了給大家一個整體的概念,讓我們再看一個完整的access文件(已經作了各種限制的):
  
   ?。?Check the /usr/doc/sendmail-8.9.3/README.cf file for a description
  
   ?。?of the format of this file. (search for access_db in that file)
  
   ?。?The /usr/doc/sendmail-8.9.3/README.cf is part of the sendmail-doc
  
    # package.
  
   ?。?
  
    # by default we allow relaying from localhost...
  
    localhost.localdomain     RELAY
  
    localhost       RELAY
  
    #
  
    #other control measures to your email system
  
    spamer@playboy.com       reject
  
    webmaster@sendmail.org     ok
  
    202.103.109.8 relay
  
    @bad.com     550   You are a bad user!
  
    Dis.xq.com           discard
  
    完成了對access文件的編輯之后,可千萬不要以為就萬事大吉了。還有一個非常重要的步驟,那就是把修改的內容寫到access數據庫中去以使之生效。具體的實現方法是:在命令符下,輸入makemap -v hash /etc/mail/access〈 /etc/mail/access,然后系統會給出相應的響應信息,假如結果類似以下這個樣子:
  
    key=′localhost.localdomain′, val=′RELAY′
  
    key=′localhost′, val=′RELAY′
  
    key=′spamer@playboy.com′, val=′reject′
  
    key=′webmaster@sendmail.org′, val=′ok′
  
    key=′202.103.109.8′, val=′relay′
  
    key=′@bad.com′, val=′550   You are a bad user!′
  
    key=′dis.xq.com′, val=′discard′
  
    那就表示一切正常!最后請重新啟動Sendmail服務,剩下你要做的就是好好享受一下你的工作成果了!
  
    附記:本篇文章完成之際,正值Sendmail 8.10.0全新推出,該版本據說功能較以前有大幅提升。對于本文所涉及的access控制,新的Sendmail版本已經可以實現對郵件收取和發送分別作不同的控制,如下:
  
    To:file.example.net RELAY
  
    From:file.example.net  RELAY
  
    第一條記錄答應對去向file.example.net域的郵件作轉發,但不答應對來自此域的郵件作轉發;而第二條記錄則正好相反。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吉安县| 凭祥市| 蓝山县| 大冶市| 龙山县| 永吉县| 浦县| 大埔区| 沈阳市| 松溪县| 明水县| 兴文县| 建阳市| 红桥区| 阳江市| 瑞昌市| 闸北区| 旬阳县| 十堰市| 改则县| 基隆市| 彭山县| 中超| 井冈山市| 罗江县| 运城市| 竹北市| 梧州市| 龙海市| 盖州市| 乌拉特后旗| 安多县| 恩平市| 勃利县| 萝北县| 咸丰县| 额济纳旗| 伊宁县| 桃园市| 临桂县| 龙海市|