2013-07-30

認識惡意威脅:病毒(Virus)、木馬(Trojan Horse)等11個網路威脅定義

認識惡意威脅:病毒(Virus)、木馬(Trojan Horse)等11個網路威脅定義


網路威脅是像間諜軟體、廣告軟體、木馬程式、殭屍網路、病毒或蠕蟲等等惡意軟體,它們會在未經你許可或知情下安裝到你的電腦上。這些程式透過網站來散播、隱藏、更新自己,並發送竊取資料給網路犯罪分子。它們也會結合起來進行犯罪行為,像是木馬程式可以下載間諜軟體或蠕蟲來將你的電腦變成殭屍網路的一部分。


以下是一些網路威脅的基本定義和安全提示:

威脅
定義
惡意軟體(Malware
在你不知情或未授權下偷偷放入你電腦的軟體程式,卻總是在進行惡意的行為。
病毒(Virus
就跟現實世界的病毒一樣,會自我複製、可以快速蔓延的程式。病毒被設計來破壞你的電腦、顯示非預期的訊息或圖像、破壞檔案、重新格式化你的硬碟,或佔用你電腦的儲存空間和記憶體,而可能會讓電腦變慢。
蠕蟲(Worm
一個自行運作的程式,可以將自身的副本透過網路連線、電子郵件附件檔、即時通(透過檔案分享),或是和其他惡意軟體合作來散播到其他電腦系統上。蠕蟲程式可能會封鎖某些網站不讓你連上,或竊取你電腦上所安裝應用程式的認證資料。
木馬(Trojan Horse
會執行惡意行為但不會進行複製的程式。它可能會透過無害的檔案或應用程式進入,帶有隱藏自身和惡意行為的程式碼。當它執行時,你可能會遇到不必要的系統問題,有時可能會讓電腦失去資料。
垃圾郵件(Spam
任何透過電子郵件或即時通(IM)不請自來的訊息,是為了讓寄件者賺錢而設計。
網路釣魚(Phishing
任何企圖透過電話、電子郵件、即時通或傳真來獲得你個人資訊以竊取你的身份認證。大多數網路釣魚會企圖讓自己看起來像是一般行為,實際上卻是用於犯罪活動。
網址嫁接(Pharming
劫持一般正常網站地址或網址(例如「www.mybank.com」)的行為,將你重新導到一個看起來像原本網站的假網站。這偽造的網站會偷偷收集你所輸入的個人資料,然後用在其他可能的犯罪活動上。
間諜軟體(Spyware
在你的電腦上安裝或執行(你不知情下)監視、追蹤和回報你電子蹤跡給間諜軟體作者的軟體。它通常透過木馬程式或是成為你所選擇下載安裝軟體的一部分來安裝到電腦上。間諜軟體透過下列方式收集資訊:
●鍵盤側錄軟體  會監視鍵盤敲擊以記錄使用者所訪問網站或記錄密碼的軟體
●螢幕擷取技術  會定期擷取桌面螢幕並記錄登錄名稱等資訊的軟體
●事件記錄程式  可以追踪使用者所訪問網站或其他線上行為的軟體。(這資訊通常用於給使用者的針對性廣告)。
廣告軟體(Adware
未經你許可下派送廣告給你(如彈跳式視窗或網路連結)的軟體。通常是透過木馬程式或是成為你所選擇下載安裝軟體的一部分來進入電腦。廣告軟件可以根據你電腦上間諜軟體追蹤你網路瀏覽習慣所收集來的資料來顯示高度針對性的廣告。
殭屍電腦和殭屍網路(BotBotnet
透過木馬程式秘密地放入你電腦的小程式。幕後黑手的「殭屍網路管理者」可以中央控管許多殭屍電腦,任何時候都能用來散播垃圾郵件、進行網路釣魚攻擊或執行阻斷服務(DoS)攻擊,讓網站無法被連上。殭屍網路是殭屍電腦所組成的網路。通常被用來派送垃圾郵件和網路釣魚攻擊。
勒索軟體(Ransomware
會加密文件以達到勒索目的的軟體。會為這些文件要求贖金,直到受害者購買解密金鑰,透過第三方服務來付款(如PayPal)或購買線上物品(裡面會包括金鑰)


轉載自《雲端運算與網路安全趨勢部落格》

Sendmail 帳號與 Microsoft 2003 AD整合

Sendmail 帳號與 Microsoft 2003 AD整合


要達成sendmail+dovecot使用AD帳號做整合,必須希達成以下幾要建。

> Linux 機器不可以與AD機器時間相差超過五分鐘
> 使用samba中的winbind加入網域中並取得網域帳號。
> Pam認證模組中插入winbind.so達到AD帳號可以登入linux主機。
> 利用pam_mkhomedir.so來自動建立AD帳號的家目錄,不須自己手動建立家目錄。

1 . 測試環境

AD Server Windowns Server 2003
AD Samba CentOS 5.1 (未更新套件)

主機 Hostname IP
PDC adserver 192.168.227.130/24
linux samba samba.example.com.tw 192.168.227.131/24

Domain name example.com.tw
DNS 192.168.227.130

所需安裝套件(CentOS 5.1)
samba-client-3.0.25b-0.el5.4
samba-common-3.0.25b-0.el5.4
samba-3.0.25b-0.el5.4
ntp-4.2.2p1-7.el5
dovecot-1.0-1.2.rc15.el5

使用NTP套件作向AD作時間校正
# ntpdate 192.168.227.130
# hwclock -w

2 . 架設sendmail
(有時會忘記怎麼架,大約半年當機一次,不知是自動更新問題還是套件漏洞,沒去查)

2.1 設定Sendmail所服務的IP範圍
# vi /etc/mail/sendmail.cf
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA  # 原本
O DaemonPortOptions=Port=smtp,Addr=0.0.0.0, Name=MTA       # 已修改的

2.2 設定接收信件的條件
(@後面的名稱符合這裡的條件的話把它接收下來)
# vi /etc/mail/local-host-names
example.com.tw
samba.example.com.tw

2.3 設定可Relay的條件
預設Relay本機

# vi /etc/mail/access
Connect:192.168.227 RELAY
Connect:example.com.tw RELAY
To:root@example.com.tw DROP #root的信丟棄掉

3 . 將Linux主機加入網域並取得帳號
3.1 設定samba設定檔 smb.conf
# vi /etc/samba/smb.conf
#=================== Global Settings ========================
[global]
workgroup = EXAMPLE # 架網域的時候有一個網域的NetBios name

netbios name = SAMBA
# ----------------- Domain Members Options ------------------
security = domain 
; passdb backend = tdbsam
realm = EXAMPLE.COM.TW

password server = 192.168.227.130

idmap uid = 10000 - 20000 # UID範圍限制
idmap gid = 10000 - 20000 # GID範圍限制
template shell = /bin/bash # 登入的Shell,郵件相關可以設成/sbin/nologin
template homedir = /home/%U # 登入的時候所使用的家目錄 /home/user
winbind separator = % # 網域與名稱的分隔符號
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
encrypt passwords = yes

若不做分享的話可以把== Share Definitions ==以下的全部拿掉

3.2 編輯 /etc/nsswitch.conf 來修改winbind對帳號的信任
# vi /etc/nsswitch
修改以下位置
passwd: files winbind
shadow: files
group: files winbind

# net rpc join -S adserver.example.com.tw -U administrator
Password:                                    # 輸入網域administrator的密碼
Joined domain EXAMPLE.     # 成功了 !!!

# service smb restart                      # 並非必需要啟動,有分享再啟動
# service winbind restart

3.3 測試是否有跟AD取得帳號與群組

# wbinfo -u
administrator
guest
support_388945a0
krbtgt
00001
00002
00003

# wbinfo -g
domain computers
domain controllers
schema admins
enterprise admins
domain admins
domain users
domain guests
group policy creator owners
dnsupdateproxy
group1

4 Linux 系統登入使用 AD認證

4.1 插入自動建立家目錄的模組 pam_mkhomedir.so
# vi /etc/pam.d/login

#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session include system-auth
session required pam_loginuid.so
session optional pam_console.so                    # 在這一行下面新增下一行
session required pam_mkhomedir.so skel=/etc/skel umask=0077 # 新增的一行,自動建立家目錄
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session optional pam_keyinit.so force revoke

4.2 Linux帳號使用winbind.so作AD帳號的認證
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth sufficient /lib/security/pam_winbind.so         # 插入的pam_winbind.so模組
auth sufficient pam_unix.so nullok try_first_pass        # 在這一行的上面新增一行
auth requisite pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so

account sufficient /lib/security/pam_winbind.so            # 插入的pam_winbind.so模組
account required pam_unix.so # 在這一行的上面新增一行
account sufficient pam_succeed_if.so uid < 500 quiet
account required pam_permit.so

password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password required pam_deny.so

session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so



驗證類型說明
auth - 驗證你輸入的帳號密碼
account - 帳號密碼對了之後,account驗證類型還必須檢驗你的帳號密碼是否過期等等,來決定是否給你登入
password - 改變帳號資訊的時候用到的。
session - 紀錄或是限制登入次數的前置或後製的工作。

驗證控制說明
required - 驗證失敗時仍然繼續,不管後面驗證成功與否,最後都將錯誤傳回給應用程式。
requisite - 驗證失敗則立即結束整個驗證過程,錯誤傳回給應用程式。
sufficient - 驗證成功後不繼續驗證,失敗後繼續驗證。
session - 無論驗證結果如何,均不會影響。

一些資料 (接擷取自http://us3.samba.org/samba/docs/using_samba/toc.html)

Port 137 Used for NetBIOS network browsing
Port 138 Used for NetBIOS name service
Port 139 Used for file and printer sharing and other operations
Port 445 Used by Windows 2000/XP when NetBIOS over TCP/IP is disabled

Table 6-2. Samba variables

Variable Definition

Client variables
%a Client's architecture (see Table 6-1)
%I Client's IP address (e.g., 172.16.1.2)
%m Client's NetBIOS name
%M Client's DNS name

User variables
%u Current Unix username
%U Requested client username (not always used by Samba)
%H Home directory of %u
%g Primary group of %u
%G Primary group of %U

Share variables
%S Current share's name
%P Current share's root directory
%p Automounter's path to the share's root directory, if different from %P

Server variables
%d Current server process ID
%h Samba server's DNS hostname
%L Samba server's NetBIOS name
%N Home directory server, from the automount map
%v samba version
%D 網域名稱

Miscellaneous variables
%R The SMB protocol level that was negotiated
%T The current date and time
%$var The value of environment variable var

Outlook 2003或Outlook 2007無法下載離線通訊錄

Outlook 2003或Outlook 2007無法下載離線通訊錄


1.Microsoft Outlook 2003無法下載離線通訊錄
2.Microsoft Outlook 2007無法下載離線通訊錄

發生原因:

1.離線通訊錄OAB有三種不同的版本,V2、V3、V4,不同的版本會下載不同版本的OAB,因此要先確認Exchange是否有正常產生這三種版本:

(1)V2:Outlook 98以上
(2)V3:Outlook 2003以上
(3)V4:Outlook 2003 SP2以上

所以當Exchange產生哪個版本的OAB,Outlook就必須符合其最低的限制,不然會有離線通訊錄無法下載的狀況。

參考網站:http://ithelp.ithome.com.tw/question/10063241

2.Outlook 2007無法正常下載離線通訊錄的原因是在Outlook版本2003之前,其OAB皆是使用Public folder的方式,在Outlook 2007之後已改為使用Web Based的方式下載,因為在多人同時下載時,Outlook 2003所佔用的頻寬效率會比Outlook 2007來的大很多,所以此問題是因為在Exchange CAS Server上的C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\OAB\Web.config,該檔案必須開放安全性的權限給AD內的所有User,最少要有讀取的權限,不然就會有無法讀取下載的狀況產生。

解決方式:

1.Outlook 2003的話,就必須按照Exchange Server所產生的OAB版本去做Outlook的Service Pack Update。
2.Outlook 2007的話,必須將Exchange CAS Server上的C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\OAB\Web.config,授予該檔案Authenticated users 最少讀取的權限即可。

解決Exchange 2007 POP3 寄信權限的問題

解決Exchange 2007 POP3 寄信權限的問題


最近公司Mail Server Exchange 2003掛掉了~

於是想說Exchange 2007是新產品就來玩玩看~就這樣走上了不歸路啦,目前還有些問題還在Debug中~到時候在慢慢po上來給大家參考一下,公司Exchange server 2007已經開啟POP3、IMAP4服務,LoginType 採用 PlainTextLogin 明文方式,用戶端使用 Outlook Express,Outlook 2003,Outlook 2007,Outlook Web Access。

在進階的部分也都開啟了使用 SSL 加密 port 的選項,使用 POP3 或 IMAP4 收信也都正常,但是很奇怪有些使用者寄信的時候,會出現下列錯誤訊息而無法寄出郵件 ?


無法傳送郵件,因為伺服器拒絕寄件者的電子郵件地址。寄件者的地址是 test@mcg.com.tw’。主旨 ’1′, 帳戶: ‘test’, 伺服器: ‘mail.mcg.com.tw’, 通訊協定: SMTP, 伺服器回應: ’550 5.7.1 Client does not have permissions to send as this sender’, 連接埠: 25, 安全(SSL): 是, 伺服器錯誤: 550, 錯誤碼: 0x800CCC78

以為在powershell裡面打下面指令就可以解決權限的問題

add-adpermission ‘<receivername>’ -User ‘NT AUTHORITY\ANONYMOUS LOGON’ -ExtendedRights ms-Exch-SMTP-Accept-Authoritative-Domain-Sender

重開服務以後一樣沒用

原因可能是因為升級到Exchange 2007之後,加入了Exchange群組,AD的繼承自動會被拿掉,因此會造成升級後OWA及POP3有問題沒有權限寄信。 Administrator、Enterprise admins、Domain Admins等帳號或群組的成員有許多權限是被設為『拒絕』的。

你可以使用『Active Directory使用者及電腦』程式,將檢視選擇為『進階功能』


然後點選『有問題的帳號』–>內容–>安全性標籤,檢查看看有沒有SELF帳號,若沒有把它加進來(選擇新增–>手動輸入SELF–>確定),正常應有此帳號,接著在『安全性』標籤頁選擇『進階』


檢查一下『允許從父項繼承權限套用到這個物件和所有的子物件,包括明確定義於此的項目(A)』選項是否未勾選,一般的帳號應會勾選起來,若沒有勾選,接著直 接點選『預設』按鈕,會自動勾選起來,然後再按確定–>等同步後再重試一次寄信,記得按『預設』按鈕,它會把原來該有的權限加入。


備註:即使有SELF帳號,『允許從父項繼承權限套用到這個物件和所有的子物件,包括明確定義於此的項目(A)』選項也有勾選,也應按一下『預設』按鈕,因為有些權限有可能某些因素被拿掉。

使用 Samba 架設 File Server,整合 AD 2003 帳號,並支援 User Security

使用 Samba 架設 File Server,整合 AD 2003 帳號,並支援 User Security


之前在恆逸上課,老師曾教過使用 Samba 架設 File Server,並與 AD 2003 整合,正好手邊有一台勘用,但公司要報廢的電腦,於是拿來測試。

      測試環境:
  AD Server:twadc.sample.com
  AD Server IP:10.1.1.57
  WINS Server IP:10.1.1.57
  DNS Server IP:10.1.1.57
  Linux:Fedora 5
  套件:samba-3.0.23c-1.fc5

一、整合 AD 2003 帳號
 1. 設定 Samba
  vi /etc/samba/smb.conf
  [global]
  workgroup = sample <- 網域名稱
  realm = sample.com <- 完整網域名稱
  netbios name = linux-src <- 主機名稱
  server string = Linux Src Server <- 電腦描述
  display charset = Big5 <- 支援中文 ShareName
  dos charset = CP950
  unix charset = Big5
  security = ads <- AD 網域認證模式
  password server = test.lab.corp <- 密碼主機
  encrypt passwords = yes <- 密碼加密
  wins server = 10.10.1.1 <- WINS 主機
  idmap uid = 16777000-33550000  <- 修改 GID 與 UID 的範圍及目錄
  idmap gid = 16777000-33550000  <- (Linux 從 AD 讀取的帳號)
  winbind enum users = yes
  winbind enum groups = yes
  template shell = /bin/bash <- 指定 AD 帳號的 Shell
  winbind use default domain = yes <- 是否自動套用網域名稱
  template homedir = /home/%D/%U <- %D 網域名稱,%U 帳號

 2. 設定 DNS 或 hots
  vi /etc/resolv.conf
  nameserver 10.10.1.1
  或
  vi /etc/hosts
  10.10.1.1 test.lab.corp.com lab.corp
  只要修改其中一種能查詢到 lab.corp 網域即可。

 3. 修改 Kerberos
   vi /etc/krb5.conf
  [libdefaults]
  default_realm = test.lab.corp <- AD 主機

  [realms]
  SAMPLE.COM = { <- 改成網域
   KDC = test.lab.coep:88 <- AD 認證主機
   admin_server = test.lab.corp:749 <- AD 認證主機
   default_domain = lab.corp <- 完整網域名稱
  }

  [domain_realm]
  .example.com = LAB.CORP <- 完整網域名稱
  example.com = LAB.CORP <- 完整網域名稱

  vi /var/kerberos/krb5kdc/kdc.conf <- 如果沒有此檔案,則代表未安裝krb5-server
  [realms]
  LAB.CORP = { <- 完整網域名稱
  ................................
  }

 4. 重新啟動 samba 及 winbind
  service smb restart
  service winbind restart

  設定開機啟動
  chkconfig smb on
  chkconfig winbind on


 5. 加入 sample.com 網域
  net ads join -U test001 <- test001 為網域帳號
  test001's password:

 6. 設定與 DC 溝通時的使用者
  wbinfo --set-auth-user=user具一般使用者權限即可
  Password:

 7. 編輯 NSS 設定檔
  vi /etc/nsswitch.conf <- 設定認證順序
  passwd: files winbind
  shadow: files
  group: files winbind

 8. 測試連線
  kinit administrator@LAB.CORP <- 網域名稱要大寫
  若密碼正確會跳回命令提示字元
  AD主機與Linux主機兩台時間不得相差超過5分鐘 <- 這個部份很容易忽略,要注意。


 9. 測試讀取 AD 帳號資訊
  wbinfo -u
  或
  getent passwd

 10. 設定本機 UID 與 GID 發放範圍,避免 AD 帳號與 Linux 本機帳號衝突
  vi /etc/login.defs
  UID_MIN 500
  UID_MAX 9999 <- 改為9999

  GID_MIN 500
  GID_MAX 9999 <- 改為9999

二、整合 Samba
  vi /etc/pam.d/samba
  #%PAM-1.0
  auth       required     pam_nologin.so
  auth       sufficient   /lib/security/pam_winbind.so <- 加入這行 
  auth       required     pam_stack.so service=system-auth
  account    sufficient   /lib/security/pam_winbind.so <- 加入這行
  account    required     pam_stack.so service=system-auth
  session    required     pam_stack.so service=system-auth
  password   required     pam_stack.so service=system-auth

三、分享目錄
  vi /etc/samba/smb.conf
  [SRC]
   comment = Linux Src <- 目錄描述
   path = /ftpdata <- 分享路徑
   valid users = lab\gavin lab\test001 <- 允許的使用者,格式為 網域\帳號 
   public = yes <- 是否公開
   writable = yes <- 是否可寫入

  service smb restart

四、開啟 ACL
      vi /etc/fstab
  /dev/hdaX /ftpdata ext3 defaults,acl 1 2

  # mount -ro,remount /dev/hdaX <- 重新掛載
  開啟 ACL 可讓 File Server 支援 MS 的 User Security

五、設定安全性
  1. 在分享的目錄下新增子目錄,並按滑鼠右鍵,選擇「內容」
  2. 點選「安全性」,即可看到與 Windows 下同樣的安全性設定。


  註:雖可使用 Windows 下的安全性圖形介面,設定權限,但並非百分之百完全支援。

六、啟動網路資源回收筒機制
  vi /etc/samba/smb.conf
  [SRC]
   comment = Linux Src
   path = /ftpdata
   valid users = sample\gavin sample\ida
   public = yes
   writable = yes

   在分享目錄後,增加下面幾行
   vfs object = recycle
   recycle:keeptree = yes
   recycle:versions = yes
   recycle:repository = ../Garbage/%u

   『recycle:keeptree = yes』
             刪除的資料,到了網路資源回收筒後,仍然保有其樹狀結構。
   『recycle:versions = yes』
             保留相同的檔案名稱。
   『recycle:repository = ../Garbage/%u』
             資源回收筒存放位置,需使用相對路徑表示。

   Garbage資料夾的權限需注意,必須讓使用者具有『rwx』權限,且共享的目錄必須設
           定 sticky 權限,避免資料被非擁有者刪除。
   還原時可使用 cp -p 的指令還原到原先的資料夾中。

Centos - yahoo pchome hotmail 拒絕接收自己架設的 SMTP 的 mail ?

Centos - yahoo pchome hotmail 拒絕接收自己架設的 SMTP 的 mail ?


我的 Linux Mail Server 送出去的信被拒絕了,以下這幾家特別不受歡迎
yahoo.com.tw
pchome.com.tw
hotmail.com
yahoo.com

解決方案:

如果以 sendmail 當作 Mail Server,修改 /etc/mail/mailertable
yahoo.com.tw    smtp:168.95.4.211
yahoo.com         smtp:168.95.4.211
pchome.com.tw   smtp:168.95.4.211
hotmail.com     smtp:168.95.4.211

意思是把收件人位於上述網址內的 email 轉給 168.95.4.211 (msa.hinet.net) Relay

如果以 Postfix  當作 Mail Server,修改 /etc/postfix/transport
pchome.com.tw    smtp:[msa.hinet.net]
yahoo.com.tw    smtp:[msa.hinet.net]
yahoo.com    smtp:[msa.hinet.net]
hotmail.com    smtp:[msa.hinet.net]

再修改 /etc/postfix/main.cf 加入
transport_maps = hash:/etc/postfix/transport

然後執行
postmap /etc/postfix/transport