亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

保護你的Ubuntu服務器
2011-03-21   51CTO

安全是相對的,使用本文介紹的這些方法不能絕對保證你的服務器是“安全的”,但可以肯定的是它比以前更安全,也比大多數服務器要安全,至少菜鳥級的黑客是無法攻破的;安全是一個持續的過程,它不是一蹴而就的,我們認為,在安全領域是需要一點偏執精神的。

本文所列舉的這些保護措施在Ubuntu Server 10.04(Lucid)和10.10(Maverick)中測試通過,如果你想讓你的新Ubuntu服務器變得堅不可摧,你應該仔細閱讀本文。

保護你的Ubuntu服務器

Ubuntu服務器設計優良,并有定期更新,相對來說是比較安全的,Ubuntu安全團隊表示會不斷努力,保護Ubuntu的安全,將會定期提供安全更新。

· 不打開端口

· 基于角色的管理

· 無X服務器

· 安全更新

· 內核和編譯器保護

在這篇文章中,我們將從不同方向來應對安全挑戰,包括:系統分析,修改設置,安裝防火墻,掃描rootkit和制定周期性維護制度。

· 修改設置,增強安全性

· 實施UFW,簡單的防火墻

· 使用denyhosts自動將攻擊者列入黑名單

· 使用Tiger掃描系統漏洞

· 使用psad檢測入侵嘗試行為

· 安裝nmap,掃描系統打開的端口

· 使用chkrootkit檢查系統rootkit

· 監控日志

修改設置,增強安全

保護共享內存

攻擊一個運行中的服務(如httpd)時經常要使用/dev/shm,修改/etc/fstab使其更安全。

sudo vi /etc/fstab

添加下面這一行內容:

tmpfs /dev/shm tmpfs defaults,noexec,nosuid 0 0

禁止root通過SSH登錄

Root帳號在Ubuntu中默認是被禁用了的,如果你在Slicehost或Linode上安裝Ubuntu,root則是被啟用的,無論怎樣,禁止root通過SSH登錄系統都是一個好主意。

sudo vi /etc/ssh/sshd_config

PermitRootLogin設為no:

PermitRootLogin no

當然,如果你通過SSH訪問你的服務器,在禁用root使用SSH之前,確保其它用戶可以正常使用sudo工作。

只允許管理用戶使用su

這將有助于預防特權提升,默認情況下,Ubuntu沒有提供管理組,因此需要先創建一個管理組。

sudo groupadd admin

將你自己加入到管理組:

sudo usermod -a -G admin andrew

限制/bin/su的訪問權,僅授予管理組成員:

sudo dpkg-statoverride --update --add root admin 4750 /bin/su

檢查/bin/su的權限:

ls -lh /bin/su

看到下面的輸出內容:

-rwsr-x--- 1 root admin 31K 2010-01-26 17:09 /bin/su

不允許跟蹤入站數據包的源路由

sudo sysctl -w net.ipv4.conf.all.accept_source_route=0
sudo sysctl ­-w net.ipv4.conf.default.accept_source_route=0

不允許系統用戶訪問FTP服務器

只有當你安裝了ftpd才需要這么做,只要tiger掃描報告中不出現相關警告即可,SFTP比FTP的安全性要好,如果可能,應盡量使用SFTP。

Edit /etc/ftpusers:

sudo vi /etc/ftpusers

添加系統用戶拒絕使用ftpd:

 

  1. backup 
  2. bin 
  3. daemon 
  4. games 
  5. gnats 
  6. irc 
  7. libuuid 
  8. list 
  9. lp 
  10. mail 
  11. man 
  12. mysql 
  13. news 
  14. ntp 
  15. postfix 
  16. proxy 
  17. sshd 
  18. sync 
  19. sys 
  20. syslog 
  21. uucp 
  22. www-data 

UFW:簡單防火墻

UFW(Uncomplicated Firewall,簡單防火墻)提供了一個易于理解的接口控制iptable(iptable控制Netfilter,Netfilter內置于內核之中),只需要幾個簡單的命令,你的服務器就可以控制訪問,創建狀態也很容易。

UFW是用于配置iptable的一個簡單接口。

安裝并啟用Uncomplicated Firewall:

sudo aptitude install -y ufw
sudo ufw enable

顯示可用的UFW命令:

sudo ufw show

顯示UFW配置:

sudo ufw status

允許SSH和HTTP訪問Apache服務器:

sudo ufw allow ssh
sudo ufw allow http

在上面的示例中,OpenSSH和Apache的端口通過服務名(ssh和http)打開,你可以使用端口號替換這里的服務名(如用80替換http)。

查看服務運行情況:

查看運行中的服務,便知道應該打開哪些端口:

sudo ufw app list

查看UFW使用的服務:

less /etc/services

#p#副標題#e#

Denyhosts:避免SSH攻擊

項目主頁: http://denyhosts.sourceforge.net/

查看服務器上的/var/log/auth.log,我發現有一連串的SSH攻擊,對付這種攻擊有很多方法,首先就是denyhosts。

Denyhosts會周期性地掃描/var/log/auth.log,找出通過SSH反復失敗訪問系統的行為和來源,然后將它們添加到/etc/hosts.deny中。詳細情況請訪問項目主頁。

sudo aptitude -y install denyhosts

要做的就這些,剩下來的都是自動的,你可以使用下面的命令查看添加到/etc/hosts.deny中的IP地址:

sudo less /etc/hosts.deny

Tiger:系統安全掃描器

項目主頁: http://www.nongnu.org/tiger/

通過分析系統上的文件和設置,Tiger創建自動的安全審核,最終以報告的形式列出分析的內容,警告,警報和故障。

Tiger命令在/var/log/tiger中記錄了潛在的安全問題,使用tigexp命令查找結果編碼可以獲得詳細的解釋和安全加固建議,tiger認為很嚴重的問題都標記為Fail。

安裝tiger:

sudo aptitude -y install tiger

運行tiger,創建一個安全問題報告:

sudo tiger

使用less查看最近的tiger報告:

sudo -i
less /var/log/tiger/`ls -t1 /var/log/tiger | head -1`
exit

使用tigexp列出Fail代碼的解釋:

tigexp dev002f

當然使用Google搜索一下也可以。

忽略這些:

--FAIL-- [dev002f] /dev/fuse has world permissions
--FAIL-- [logf005f] Log file /var/log/btmp permission should be 660

修改它們的權限可能會導致其它問題。

使用psad檢測入侵行為

項目主頁: http://www.cipherdyne.org/psad/

Psad可以記錄下入侵行為,還可以監控iptable。

安裝psad:

sudo aptitude -y install psad

后臺進程會自動運行。

檢查當前的狀態:

sudo psad -S

你可以修改psad設置,檢測到入侵行為時給管理員發送電子郵件。

Nmap:端口掃描

項目主頁: http://nmap.org/

Nmap允許你查看打開的端口,驗證UFW/iptable工作是否正常。

安裝nmap:

sudo aptitude install -y nmap

端口掃描:

nmap -v -sT localhost

SYN掃描:

sudo nmap -v -sS localhost

掃描類型解釋: http://nmap.org/book/man-port-scanning-techniques.html

Chkrootkit:檢查rootkit

項目主頁: http://www.chkrootkit.org/

Chkrootkit掃描系統中是否存在rootkit。

理想情況下,你并不需要做這種掃描,但現實中最好還是定期運行一下。

安裝chkrootkit:

sudo aptitude install -y chkrootkit

運行chkrootkit:

sudo chkrootkit

LogWatch

Ubuntu社區文檔: https://help.ubuntu.com/community/Logwatch

日志再詳細,如果沒有一款好用的日志查看器,日志起的作用也非常有限,Logwatch可以從海量的日志中精選出最有用的信息,形成一個易讀的報告,每天打開Logwatch看一下系統產生的日志是一個良好的習慣。

安裝:

sudo aptitude -y install logwatch

用法:

sudo logwatch | less

持續維護

你的服務器現在更安全了,但不要就此停下來,每周例行一次維護是個好習慣。

更新軟件:

sudo aptitude update
sudo aptitude safe-upgrade

我喜歡使用safe-upgrade,因為它執行的是安全更新。

請看: http://wiki.debian.org/Aptitude

或者,你可以將安全更新設置為自動,如果你不能每周維護一次,這不是一個完美的解決方案,因為管理員沒有監控更新了什么,更新后也沒有執行測試。請看: https://help.ubuntu.com/10.04/serverguide/C/automatic-updates.html

檢查入侵行為:

sudo psad -S

請先使用tiger分析一下系統,因為tiger在/var/log/tiger中的報告屬于root用戶,每次都運行一下這些命令,解決有些用戶的權限問題。

sudo -i
tiger
grep FAIL /var/log/tiger/`ls -t1 /var/log/tiger | head -1`
exit

在上面的命令中,使用grep從最新的報告文件中提取出Fail標記,ls子句給grep輸送目錄中的最新文件,sudo -i命令允許你以root用戶運行多個命令,使用exit結束命令。

使用tigexp列出Fail代碼的解釋:

tigexp dev002f

使用nmap掃描端口:

sudo nmap -v -sS localhost

檢查rootkit:

sudo chkrootkit

查看日志:

sudo logwatch | less

英文原文:Securing an Ubuntu Server    作者:Andrew Ault

原文鏈接:http://os.51cto.com/art/201103/249808.htm

熱詞搜索:

上一篇:系統升級錄:開源的NoSQL數據庫MongoDB
下一篇:路由故障:BFD for VPN-BFD會話無法建立

分享到: 收藏