Ⅰ 如何卸載linux伺服器
不想用的話就下電。Linux又不是一個軟體,沒有卸載這個說法
Ⅱ 如何保證Linux伺服器的網路安全
本文將向你介紹基本的 Linux 伺服器安全知識。雖然主要針對 Debian/Ubuntu,但是你可以將此處介紹的所有內容應用於其他 Linux 發行版。我也鼓勵你研究這份材料,並在適當的情況下進行擴展。
1、更新你的伺服器
保護伺服器安全的第一件事是更新本地存儲庫,並通過應用最新的修補程序來升級操作系統和已安裝的應用程序。
在 Ubuntu 和 Debian 上:
$ sudo apt update && sudo apt upgrade -y
在 Fedora、CentOS 或 RHEL:
$ sudo dnf upgrade
2、創建一個新的特權用戶
接下來,創建一個新的用戶帳戶。永遠不要以 root 身份登錄伺服器,而是創建你自己的帳戶(用戶),賦予它 sudo 許可權,然後使用它登錄你的伺服器。
首先創建一個新用戶:
$ adser <username>
通過將 sudo 組(-G)附加(-a)到用戶的組成員身份里,從而授予新用戶帳戶 sudo 許可權:
$ usermod -a -G sudo <username>
3、上傳你的 SSH 密鑰
你應該使用 SSH 密鑰登錄到新伺服器。你可以使用 ssh--id 命令將 預生成的 SSH 密鑰 上傳到你的新伺服器:
$ ssh--id <username>@ip_address
現在,你無需輸入密碼即可登錄到新伺服器。
4、安全強化 SSH
接下來,進行以下三個更改:
禁用 SSH 密碼認證
限制 root 遠程登錄
限制對 IPv4 或 IPv6 的訪問
使用你選擇的文本編輯器打開 /etc/ssh/sshd_config 並確保以下行:
改成這樣:
接下來,通過修改 AddressFamily 選項將 SSH 服務限制為 IPv4 或 IPv6。要將其更改為僅使用 IPv4(對大多數人來說應該沒問題),請進行以下更改:
重新啟動 SSH 服務以啟用你的更改。請注意,在重新啟動 SSH 服務之前,與伺服器建立兩個活動連接是一個好主意。有了這些額外的連接,你可以在重新啟動 SSH 服務出錯的情況下修復所有問題。
在 Ubuntu 上:
在 Fedora 或 CentOS 或任何使用 Systemd 的系統上:
5、啟用防火牆
現在,你需要安裝防火牆、啟用防火牆並對其進行配置,以僅允許你指定的網路流量通過。(Ubuntu 上的) 簡單的防火牆 (UFW)是一個易用的 iptables 界面,可大大簡化防火牆的配置過程。
你可以通過以下方式安裝 UFW:
默認情況下,UFW 拒絕所有傳入連接,並允許所有傳出連接。這意味著伺服器上的任何應用程序都可以訪問互聯網,但是任何嘗試訪問伺服器的內容都無法連接。
首先,確保你可以通過啟用對 SSH、HTTP 和 HTTPS 的訪問來登錄:
然後啟用 UFW:
你可以通過以下方式查看允許和拒絕了哪些服務:
如果你想禁用 UFW,可以通過鍵入以下命令來禁用:
你還可以(在 RHEL/CentOS 上)使用 firewall-cmd ,它已經安裝並集成到某些發行版中。
6、安裝 Fail2ban
Fail2ban 是一種用於檢查伺服器日誌以查找重復或自動攻擊的應用程序。如果找到任何攻擊,它會更改防火牆以永久地或在指定的時間內阻止攻擊者的 IP 地址。
你可以通過鍵入以下命令來安裝 Fail2ban:
然後復制隨附的配置文件:
重啟 Fail2ban:
這樣就行了。該軟體將不斷檢查日誌文件以查找攻擊。一段時間後,該應用程序將建立相當多的封禁的 IP 地址列表。你可以通過以下方法查詢 SSH 服務的當前狀態來查看此列表:
7、移除無用的網路服務
幾乎所有 Linux 伺服器操作系統都啟用了一些面向網路的服務。你可能希望保留其中大多數,然而,有一些你或許希望刪除。你可以使用 ss 命令查看所有正在運行的網路服務:(LCTT 譯註:應該是只保留少部分,而所有確認無關的、無用的服務都應該停用或刪除。)
ss 的輸出取決於你的操作系統。下面是一個示例,它顯示 SSH(sshd)和 Ngnix(nginx)服務正在偵聽網路並准備連接:
刪除未使用的服務的方式因你的操作系統及其使用的程序包管理器而異。
要在 Debian / Ubuntu 上刪除未使用的服務:
要在 Red Hat/CentOS 上刪除未使用的服務:
再次運行 ss -atup 以確認這些未使用的服務沒有安裝和運行。
以上文章來源www.idccoupon.com,歡迎一起交流討論學習。
Ⅲ 怎麼關閉自己有linux伺服器,用什麼命令
關閉linux伺服器的命令有:
1、halt
2、shutdown immediate
有的時候伺服器很卡,還可以按住伺服器的關機按鈕,強制關機。
Ⅳ 如何遠程提升Linux伺服器安全
你好。
1.安裝和配置一個防火牆
一個配置適當的防火牆不僅是系統有效應對外部攻擊的第一道防線,也是最重要的一道防線。在新系統第一次連接上Internet之前,防火牆就應該被安裝並且配置好。防火牆配置成拒絕接收所有數據包,然後再打開允許接收的數據包,將有利於系統的安全。Linux為我們提供了一個非常優秀的防火牆工具,它就是netfilter/iptables。它完全是免費的,並且可以在一台低配置的老機器上很好地運行。防火牆的具體設置方法請參見iptables使用方法。
2、關閉無用的服務和埠
任何網路連接都是通過開放的應用埠來實現的。如果我們盡可能少地開放埠,就使網路攻擊變成無源之水,從而大大減少了攻擊者成功的機會。把Linux作為專用伺服器是個明智的舉措。例如,希望Linux成為的Web伺服器,可以取消系統內所有非必要的服務,只開啟必要服務。這樣做可以盡量減少後門,降低隱患,而且可以合理分配系統資源,提高整機性能。以下是幾個不常用的服務:
① fingerd(finger伺服器)報告指定用戶的個人信息,包括用戶名、真實姓名、shell、目錄和聯系方式,它將使系統暴露在不受歡迎的情報收集活動下,應避免啟動此服務。
② R服務(rshd、rlogin、rwhod、rexec)提供各種級別的命令,它們可以在遠程主機上運行或與遠程主機交互,在封閉的網路環境中登錄而不再要求輸入用戶名和口令,相當方便。然而在公共伺服器上就會暴露問題,導致安全威脅。
3、刪除不用的軟體包
在進行系統規劃時,總的原則是將不需要的服務一律去掉。默認的Linux就是一個強大的系統,運行了很多的服務。但有許多服務是不需要的,很容易引起安全風險。這個文件就是/etc/xinetd.conf,它制定了/usr/sbin/xinetd將要監聽的服務,你可能只需要其中的一個:ftp,其它的類如telnet、shell、login、exec、talk、ntalk、imap、finger、auth等,除非你真的想用它,否則統統關閉。
4、不設置預設路由
在主機中,應該嚴格禁止設置預設路由,即default route。建議為每一個子網或網段設置一個路由,否則其它機器就可能通過一定方式訪問該主機。
5、口令管理
口令的長度一般不要少於8個字元,口令的組成應以無規則的大小寫字母、數字和符號相結合,嚴格避免用英語單詞或片語等設置口令,而且各用戶的口令應該養成定期更換的習慣。另外,口令的保護還涉及到對/etc/passwd和/etc/shadow文件的保護,必須做到只有系統管理員才能訪問這2個文件。安裝一個口令過濾工具加npasswd,能幫你檢查你的口令是否耐得住攻擊。如果你以前沒有安裝此類的工具,建議你現在馬上安裝。如果你是系統管理員,你的系統中又沒有安裝口令過濾工具,請你馬上檢查所有用戶的口令是否能被窮盡搜索到,即對你的/ect/passwd文件實施窮盡搜索攻擊。用單詞作密碼是根本架不住暴力攻擊的。黑客們經常用一些常用字來破解密碼。曾經有一位美國黑客表示,只要用「password」這個字,就可以打開全美多數的計算機。其它常用的單詞還有:account、ald、alpha、beta、computer、dead、demo、dollar、games、bod、hello、help、intro、kill、love、no、ok、okay、please、sex、secret、superuser、system、test、work、yes等。
密碼設置和原則:
a.足夠長,指頭只要多動一下為密碼加一位,就可以讓攻擊者的辛苦增加十倍;
b. 不要用完整的單詞,盡可能包括數字、標點符號和特殊字元等;
c.混用大小寫字元;
d.經常修改。
6、分區管理
一個潛在的攻擊,它首先就會嘗試緩沖區溢出。在過去的幾年中,以緩沖區溢出為類型的安全漏洞是最為常見的一種形式了。更為嚴重的是,緩沖區溢出漏洞佔了遠程網路攻擊的絕大多數,這種攻擊可以輕易使得一個匿名的Internet用戶有機會獲得一台主機的部分或全部的控制權!。
為了防止此類攻擊,我們從安裝系統時就應該注意。如果用root分區記錄數據,如log文件,就可能因為拒絕服務產生大量日誌或垃圾郵件,從而導致系統崩潰。所以建議為/var開辟單獨的分區,用來存放日誌和郵件,以避免root分區被溢出。最好為特殊的應用程序單獨開一個分區,特別是可以產生大量日誌的程序,還建議為/home單獨分一個區,這樣他們就不能填滿/分區了,從而就避免了部分針對Linux分區溢出的惡意攻擊。
很多Linux桌面用戶往往是使用Windows、Linux雙系統。最好使用雙硬碟。方法如下:首先將主硬碟的數據線拆下,找一個10GB左右的硬碟掛在計算機上,將小硬碟設置為從盤,按照平常的操作安裝Linux伺服器版本,除了啟動的引導程序放在MBR外,其它沒有區別。 安裝完成,調試出桌面後,關閉計算機。將小硬碟的數據線拆下,裝上原硬碟,並設定為主盤(這是為了原硬碟和小硬碟同時掛接在一個數據線上),然後安裝Windows軟體。將兩個硬碟都掛在數據線上,數據線是IDE 0介面,將原硬碟設定為主盤,小硬碟設定為從盤。如果要從原硬碟啟動,就在CMOS里將啟動的順序設定為「C、D、CDROM」,或者是「IDE0(HDD-0)」。這樣計算機啟動的時候,進入Windows界面。如果要從小硬碟啟動,就將啟動順序改為「D、C、CDROM」,或者是「IDE1(HDD-1)」,啟動之後,將進入Linux界面。平時兩個操作系統是互相不能夠訪問的。
7、防範網路嗅探:
嗅探器技術被廣泛應用於網路維護和管理方面,它工作的時候就像一部被動聲納,默默的接收看來自網路的各種信息,通過對這些數據的分析,網路管理員可以深入了解網路當前的運行狀況,以便找出網路中的漏洞。在網路安全日益被注意的今天.我們不但要正確使用嗅探器.還要合理防範嗅探器的危害.嗅探器能夠造成很大的安全危害,主要是因為它們不容易被發現。對於一個安全性能要求很嚴格的企業,同時使用安全的拓撲結構、會話加密、使用靜態的ARP地址是有必要的。
8、完整的日誌管理
日誌文件時刻為你記錄著你的系統的運行情況。當黑客光臨時,也不能逃脫日誌的法眼。所以黑客往往在攻擊時修改日誌文件,來隱藏蹤跡。因此我們要限制對/var/log文件的訪問,禁止一般許可權的用戶去查看日誌文件。
另外要使用日誌伺服器。將客戶機的日誌信息保存副本是好主意,創建一台伺服器專門存放日誌文件,可以通過檢查日誌來發現問題。修改/etc/sysconfig/syslog文件加入接受遠程日誌記錄。
/etc/sysconfig/syslog SYSLOGD_OPTIONS="-m r 0"
還應該設定日誌遠程保存。修改/etc/syslog.conf文件加入日誌伺服器的設置,syslog將保存副本在日誌伺服器上。
/etc/syslog.conf *.* @log_server_IP
可以使用彩色日誌過濾器。彩色日誌loco過濾器,目前版本是0.32。使用loco /var/log/messages | more可以顯示出彩色的日誌,明顯標記出root的位置和日誌中異常的命令。這樣可以減少分析日誌時人為遺漏。還要進行日誌的定期檢查。Red Hat Linux中提供了logwatch工具,定期自動檢查日誌並發送郵件到管理員信箱。需要修改/etc/log.d/conf/ logwatch.conf文件,在MailTo = root參數後增加管理員的郵件地址。Logwatch會定期檢查日誌,過濾有關使用root、sudo、telnet、ftp登錄等信息,協助管理員分析日常安全。完整的日誌管理要包括網路數據的正確性、有效性、合法性。對日誌文件的分析還可以預防入侵。例如、某一個用戶幾小時內的20次的注冊失敗記錄,很可能是入侵者正在嘗試該用戶的口令。
9、終止正進行的攻擊
假如你在檢查日誌文件時,發現了一個用戶從你未知的主機登錄,而且你確定此用戶在這台主機上沒有賬號,此時你可能正被攻擊。首先你要馬上鎖住此賬號(在口令文件或shadow文件中,此用戶的口令前加一個Ib或其他的字元)。若攻擊者已經連接到系統,你應馬上斷開主機與網路的物理連接。如有可能,你還要進一步查看此用戶的歷史記錄,查看其他用戶是否也被假冒,攻擊音是否擁有根許可權。殺掉此用戶的所有進程並把此主機的ip地址掩碼加到文件hosts.deny中。
10、使用安全工具軟體:
Linux已經有一些工具可以保障伺服器的安全。如bastille linux和Selinux。 bastille linux對於不熟悉 linux 安全設定的使用者來說,是一套相當方便的軟體,bastille linux 目的是希望在已經存在的 linux 系統上,建構出一個安全性的環境。增強安全性的Linux(SELinux)是美國安全部的一個研發項目,它的目的在於增強開發代碼的Linux內核,以提供更強的保護措施,防止一些關於安全方面的應用程序走彎路,減輕惡意軟體帶來的災難。普通的Linux系統的安全性是依賴內核的,這個依賴是通過setuid/setgid產生的。在傳統的安全機制下,暴露了一些應用授權問題、配置問題或進程運行造成整個系統的安全問題。這些問題在現在的操作系統中都存在,這是由於他們的復雜性和與其它程序的互用性造成的。SELinux只單單依賴於系統的內核和安全配置政策。一旦你正確配置了系統,不正常的應用程序配置或錯誤將只返回錯誤給用戶的程序和它的系統後台程序。其它用戶程序的安全性和他們的後台程序仍然可以正常運行,並保持著它們的安全系統結構。用簡單一點的話說就是:沒有任何的程序配置錯誤可以造成整個系統的崩潰。安裝SELinux SELinux的內核、工具、程序/工具包,還有文檔都可以到增強安全性的Linux網站上上下載你必須有一個已經存在的Linux系統來編譯你的新內核,這樣才能訪問沒有更改的系統補丁包。
11.使用保留IP地址
維護網路安全性最簡單的方法是保證網路中的主機不同外界接觸。最基本的方法是與公共網路隔離。然而,這種通過隔離達到的安全性策略在許多情況下是不能接受的。這時,使用保留IP地址是一種簡單可行的方法,它可以讓用戶訪問Internet同時保證一定的安全性。- RFC 1918規定了能夠用於本地 TCP/IP網路使用的IP地址范圍,這些IP地址不會在Internet上路由,因此不必注冊這些地址。通過在該范圍分配IP地址,可以有效地將網路流量限制在本地網路內。這是一種拒絕外部計算機訪問而允許內部計算機互聯的快速有效的方法。 保留IP地址范圍:
---- 10.0.0 .0 - 10.255.255.255
---- 172.16.0.0 - 172.31.255.255
--- 192.168.0.0 - 192.168.255.255。
來自保留IP地址的網路交通不會經過Internet路由器,因此被賦予保留IP地址的任何計算機不能從外部網路訪問。但是,這種方法同時也不允許用戶訪問外部網路。IP偽裝可以解決這一問題。
12、合理選擇Linux發行版本:
對於伺服器使用的Linux版本,既不使用最新的發行版本,也不選擇太老的版本。應當使用比較成熟的版本:前一個產品的最後發行版本如RHEL 3.0等。畢竟對於伺服器來說安全穩定是第一的。
13、部署Linux防範病毒軟體
Linux操作系統一直被認為是Windows系統的勁敵,因為它不僅安全、穩定、成本低,而且很少發現有病毒傳播。但是,隨著越來越多的伺服器、工作站和個人電腦使用Linux軟體,電腦病毒製造者也開始攻擊這一系統。對於Linux系統無論是伺服器,還是工作站的安全性和許可權控制都是比較強大的,這主要得力於其優秀的技術設計,不僅使它的作業系統難以宕機,而且也使其難以被濫用。Unix經過20多年的發展和完善,已經變得非常堅固,而Linux基本上繼承了它的優點。在Linux里,如果不是超級用戶,那麼惡意感染系統文件的程序將很難得逞。速客一號(Slammer)、沖擊波(Blast)、霸王蟲(Sobig)、 米蟲(Mimail)、勞拉(Win32.Xorala)病毒等惡性程序雖然不會損壞Linux伺服器,但是卻會傳播給訪問它的Windows系統平台的計算機。
Ⅳ 急急急,在線等
兩者沒有可比性,p2p是bt技術的核心,bt是基於p2p技術的應用軟體之一,其他比較出名的還有emule等都是p2p技術支撐的。
1、什麼是p2p
P2P是一種技術,但更多的是一種思想,有著改變整個互聯網基礎的潛能的思想。
(1)p2p的概念
P2P是peer-to-peer的縮寫,peer在英語里有「(地位、能力等)同等者」、「同事」和「夥伴」等意義。這樣一來,P2P也就可以理解為「夥伴對夥伴」的意思,或稱為對等聯網。目前人們認為其在加強網路上人的交流、文件交換、分布計算等方面大有前途。
簡單的說,P2P直接將人們聯系起來,讓人們通過互聯網直接交互。P2P使得網路上的溝通變得容易、更直接共享和交互,真正地消除中間商。P2P就是人可以直接連接到其他用戶的計算機、交換文件,而不是像過去那樣連接到伺服器去瀏覽與下載。P2P另一個重要特點是改變互聯網現在的以大網站為中心的狀態、重返「非中心化」,並把權力交還給用戶。 P2P看起來似乎很新,但是正如B2C、B2B是將現實世界中很平常的東西移植到互聯網上一樣,P2P並不是什麼新東西。在現實生活中我們每天都按照P2P模式面對面地或者通過電話交流和溝通。
即使從網路看,P2P也不是新概念,P2P是互聯網整體架構的基礎。互聯網最基本的協議TCP/IP並沒有客戶機和伺服器的概念,所有的設備都是通訊的平等的一端。在十年之前,所有的互聯網上的系統都同時具有伺服器和客戶機的功能。當然,後來發展的那些架構在TCP/IP之上的軟體的確採用了客戶機/伺服器的結構:瀏覽器和Web伺服器,郵件客戶端和郵件伺服器。但是,對於伺服器來說,它們之間仍然是對等聯網的。以email為例,互聯網上並沒有一個巨大的、唯一的郵件伺服器來處理所有的email,而是對等聯網的郵件伺服器相互協作把email傳送到相應的伺服器上去。另外用戶之間email則一直對等的聯絡渠道。 當然但是過去的5年裡,互聯網的發展至少從表面上遠離了P2P,互聯網上絕大部分的節點也不能和其他節點直接地交流。Napster正是喚醒了深藏在互聯網背後的對等聯網。Napster的文件共享功能在區域網中共享目錄也是再平常不過的事情。但是Napster的成功促使人們認識到把這種「對等聯網」拓展到整個互聯網范圍的可能性。當然,在許多人的眼中,Napster並不是純粹的P2P,它仍然需要一個處於中心協調機制。
事實上,網路上現有的許多服務可以歸入P2P的行列。即時訊息系統譬如ICQ、AOL Instant Messenger、Yahoo Pager、微軟的MSN Messenger以及國內的OICQ是最流行的P2P應用。它們允許用戶互相溝通和交換信息、交換文件。用戶之間的信息交流不是直接的,需要有位於中心的伺服器來協調。但這些系統並沒有諸如搜索這種對於大量信息共享非常重要的功能,這個特徵的缺乏可能正 是為什麼即時訊息出現很久但是並沒有能夠產生如Napster這樣的影響的原因之一。
另外一個可以歸入P2P是拍賣網站譬如eBay,人們在總結eBay的模式的時候用了C2C,是不是和P2P有一點類似?eBay就是一個將人們聯系的和交易物品的社區,用戶可以方便的搜索其他用戶叫賣的商品。eBay提供了一些使得交易得以順利進行的服務,但是交易是直接在用戶之間進行的。如果將「交易」的概念推廣,C2C就是P2P的一個特例,這里人們互相交換的是商品。
但如果仔細深究的話,Napster和即時訊息在賦予用戶之間直接交流的能力、eBay使用戶可以直接交易的同時,卻破壞了伺服器端的那種自互聯網出現之初就存在的對等聯網思想,因為它們都需要有一個位於中心的伺服器來協調,而不是分布在世界上不同地方的、對等聯網的許多伺服器。這也正是諸如Gnutella和Freenet不斷的宣稱它們創造了「純粹」的P2P,完全沒有中心伺服器的P2P服務。
(2)p2p的思想溯源:回到互聯網的本質
如果回顧一下,我們會發現在WWW出現伊始P2P就是互聯網的本質特徵之一。人們各自建立網頁、互相做鏈接,人們上網是沿著鏈接沖浪。那時的web是真正的「網」(web)。但是當Yahoo!和Lycos建立了搜索引擎和門戶站點後,人們上網的方式被改變了,人們從此到一個地方去獲取所有的信息。記得_blank">新浪曾經有一段時間說它們是「目標站點」模式,但是如果多問一句,現在人們一條一條地閱讀_blank">新浪的新聞,在頭腦中還有一個「網」的概念嗎?最大的問題是,這些站點控制了信息的流動、充斥了過時的信息、阻礙了真正的交流,或者對於很多人來說,另外還有太多的廣告。 P2P就是把控制權重新還到用戶手中去。人們通過P2P可以共享硬碟上的文件、目錄甚至整個硬碟。這種能量是非常令人激動的,那些費心存儲在自己的硬碟上的東西肯定是我們認為最有價值,所有人都共享了他們認為最有價值的東西,這將使互聯網上信息的價值得到極大的提升。是不是有一種和WWW剛剛出現的時候同樣的激動呢?有一點。
因為每個Peer都代表了其後的人,基於自組織的網上社區也正在顯現。與門戶站點從上而下建立社區的方式不同,人們將以自發的方式形成社區。
當人們加入P2P網路的時候,所有人都擁有了平等的機會,所有人都擁有了極容易地在網路上創造「內容」的機會。當然,真正在網路上創造或提供內容的人還是少數的,據統計Gnutella的用戶中僅僅有2%向其他用戶提供了內容,即使在比較活躍的Usenet張貼文章的用戶也僅占所有用戶的7%。但是,P2P第一次使得所有上網的人都擁有了平等的機會。
下面試圖用三句話來揭示P2P的影響:
對等聯網:是只讀的網路的終結(Peer-to-peer is the end of the read-only Web)
對等聯網:使你重新參與互聯網(Peer-to-peer allows you to participate in the Internet again)
對等聯網:使網路遠離電視(Peer-to-peer steering the Internet away from TV)如上文所言,P2P不是一個新思想,從某些角度看它甚至是整個最初創建互聯網的最基本的思想。我們不妨花時間作一點回顧。
互聯網的發展於近現代的許多尖端科學技術的發展模式並無不同,即都是先在軍事工業形成,再轉到民用領域。互聯網發源於至今看來也十分新穎的戰略思想:為了避免敵人的毀滅性武器命中全國的軍事指揮控制中心,應該怎麼辦?傳統的方法是一方面想方設法盡可能地不讓敵人知道中心的確切位置,另一方面提高中心的抵禦打擊的能力。
但在當今的核武器年代,對方有著連一個星球都可以炸毀的核彈,再固若金湯的防禦措施一旦受到攻擊肯定馬上化為烏有。而只要有機密存在,總有打探出機密的方法,所以靠保密中心所在位置的方法也不是長遠之計。在這種情況下,美國的軍事人員充分發揮逆向思維,想到既然不可能長期、有效地保護中心免受攻擊,那麼還不如根本不設中心!
讓每一個基地乃至每一台電腦都能獨立運作,這么一來等於有了無數中心,敵人除非真的將這個星球炸了,否則其中一個基地或電腦受損,也不影響其他基地或電腦繼續發揮作用。正是這種「非中心化」的思想成為形成互聯網最基本的概念。
但是許多技術出現之後往往並不會完全按照原先的設計發展,伺服器/客戶機的架構逐漸變成了互聯網的主流,瀏覽變成了人們在互聯網上最主要的生存方式。互聯網的普通用戶似乎在慢慢的退化、和電視觀眾一樣被動地瀏覽著大網站們創造的內容。
人們在網路上的主要活動訪問了在這么門戶站點上,讀新聞、參與討論組、聊天。但是這使得設計的互聯網的一個特性消失了——如果Yahoo因故中斷服務如出現什麼情況?這種假設不太容易看到,但是年初的黑客攻擊各大網站造成的混亂似乎可以給我們一點聯想的線索。
上面提到像Napster和即時訊息還是需要位於中心的伺服器,那麼Gnutella網站上的一句話可能表達了它們所推廣的「純粹」的P2P所包含的「非中心化」的理念:設計Gnutella是為了在核戰中生存(Gnutella Is Designed to Survive Nuclear War)。
它的網站上這樣描述,紐約的用戶受到攻擊至多隻會影響那個地區的部分用戶,而其他地方的Gnutella用戶還能正常的使用,這不正是互聯網最初的理想嗎?
(3)Napster帶來的革命
Napster是去年當時由只有18歲的肖恩·范寧(Shawn Fanning)開發的,它提供服務允許音樂迷們交流MP3文件。它與先前也被推上被告席的提供免費音樂下載MP3.com的不同就是在Napster伺服器沒有一首歌曲,Napster提供了一個新的軟體供音樂迷在自己的硬碟上共享歌曲文件,搜索其他用戶共享的歌曲文件,並到其他也使用Napster服務的用戶硬碟上去下載歌曲。Napster在短時間里吸引了5000萬用戶,最終,它被五大唱片商以侵犯版權推上被告席而成為世界的焦點。
可能從來沒有一個行業象唱片業這樣,生存會因為一個小小的軟體而受到如此深重的威脅。對於Napster引起的版權問題有過很多的討論,但是多花一些時間討論還是值得的,因為這個案件決定了也決定了P2P文件共享這一分支的前途,也決定了未來如何處理互聯網上的版權問題。
10月31日原告之一BMG公司和Napster達成和解協議。輿論認為這表明唱片業意識到通過數字方式發布音樂將是不可阻擋的潮流,消滅Napster也無法阻止其他模仿Napster的服務商出現。因此還不如與之合作改變Napster,將之變成在線音樂銷售的渠道。現在的唱片工業面臨的可能不是如何「像壓碎一個雞蛋」那樣壓碎,而是與之合作,將Napster的5000萬用戶變成自己的客戶。也就是將Napster的模式變成「合法化的Napster」模式。唱片工業的困境是如何防止那些Napster的模仿者繼續免費提供歌曲。
2000年2月12日,美國舊金山第九巡迴上訴法院的三名法官就音樂網站Napster版權糾紛案作出裁決,認為它侵害了各大唱片公司的版權。但是三名法官並沒有應唱片公司的要求,決定立即關閉網站,而是把最初的判決送回給低一級的地方法院。法官們說,這項裁決內容過於復雜,需作進一步澄清。但錯綜復雜的法律過程和長達58頁的判決書反映了現在既缺乏與互聯網相關的版權法,也缺乏相應的司法實踐。
但是,不管Napster案的結果如何都不能改變Napster後面的技術和思想給互聯網帶來的影響。「魔鬼」已經鑽出了魔瓶,而魔瓶也已經被打破了。對於唱片界來說,至少它們銷售唱片的方式被徹底改變了。下一個可能是好萊塢的電影工業,壓縮技術和寬頻網路將使得人們會在網路上輕易地傳輸整部電影。
事實上合法化的網路上已經出現了許多試圖推出「合法化的Napster」模式的公司,譬如由Napster的創辦人之一創辦的lightshare.com和Flycode.com。P2P對於唱片商來說的確有吸引力,如果它們能夠從用戶身上收費的話。對於利用諸如一個集中的站點提供收費的mp3音樂下載,用戶每次從網站下載的時候,網站都必須向電信交流量費,而使用P2P則使得這部分費用不再存在了。因此唱片商獲得更多的利潤,用戶也應該可以得到更便宜的音樂。
從某種意義上軟體也好像預測到了大規模盜版和文件共享可能帶來的影響,這主要歸功於開放源碼軟體給軟體業帶來的「頭腦風暴」。在亞洲和東歐,軟體業已經在反對盜版上打了敗仗。這也正是微軟極力推廣一種「軟體注冊模式」,把軟體作為按月付費的服務出售,而不再是向過去那樣出售容易復制和盜版的硬拷貝。
當然,對所謂「合法化的Napster」模式還是有很多質疑。P2P的這種文件共享功能似乎沒有帶來什麼附加值,盡管這個過程可能是非常有趣的。從另一方面來說,這項技術可能被用來推動人們重新參與互聯網、創造他們自己的內容,這也許是價值所在。所有的社區網站都有一個「夢想」,讓用戶互動來產生內容,但是由於由上而下創建的社區的最根本上的問題,這種夢想從來沒有真正實現過。P2P或許可以改變這一點。
Napster創造的奇跡同時也是揭示了在互聯網時代普通人也具有改變整個世界的能力。當肖恩·范寧在波士頓的東北大學校園開發Napster的時候,他只不過是想和他在維吉尼亞的朋友共享mp3歌曲文件。現在這個小軟體改變了整個世界。
(4)p2p改變了什麼?內容轉移到「邊緣」
在回顧了Napster了問題和困境之後,下面將看看P2P的更多激動人心的東西和消除圍繞這個新詞的種種誤解,以及看看P2P的機會主要在哪兒。
P2P帶來的一個變化就是改變了「內容」所在的位置,內容正在從「中心」走向「邊緣」,也就是說內容將主要不是存在幾個主要的伺服器上,而是存在所有用戶的個人電腦上。
Napster的成功使我們不得不去質疑流傳已久的兩個斷言,「應用服務提供商(ASP)是未來趨勢」和「個人電腦死了」。ASP的一個基本假設就是對於大多數客戶來說購買和維護高性能的伺服器的成本太高了,但是P2P使得每個人辦公桌上的電腦都可以成為「伺服器」。用戶原來是用台式電腦准備好數據之後再把數據上載到伺服器上去,而使用P2P將不再需要這個過程。「個人電腦死了」這個斷言就是個人電腦將主要用來瀏覽互聯網、字處理等,因此最簡單的瘦客戶機就可以滿足需求。P2P使得個人電腦再一次成為「中心」。P2P使得個人電腦重新煥發活力、不再是被動的客戶端,而成為具有伺服器和客戶端的特徵的設備,個人電腦將重新成為互聯網的中心。
互聯網的存儲模式將由現在的「內容位於中心」模式轉變為「內容位於邊緣」模式。從這個角度看P2P帶來了幾個改變:
首先,客戶不再需要將文件上載到伺服器,而只需要使用P2P將共享信息提供出去;
其次運行P2P的個人電腦不需要固定IP地址和永久的互聯網連接,這使得那些撥號上網的用戶也可以享受P2P帶來的變革,這部分用戶在所有用戶中佔有極大的比重;
最後,P2P完全改變過去控制互聯網的客戶機/伺服器模式,消除客戶機和伺服器二者之間的差別。
上文對Napster所遭遇的法律問題有很多討論,但是換個角度來闡述,盜版問題往往也正顯示存在大量未能滿足的需求。Napster的驚人成功(這里指吸引大量用戶而不是獲得利潤)是一種難得的對P2P的概念上可行性的證明,揭示了P2P改變互聯網的潛力。直通桌面的寬頻網路逐漸成為現實、個人電腦越來越強大足以勝任「伺服器」功能也從另外的方面確保P2P發揮其能量。
個人電腦取代位於中心的伺服器成為內容的主要存儲地將對互聯網的幾個主要發展方向有著意義深遠的影響:這可能改變Windows和Linux幾年的「戰爭」的局面,當「桌面」和伺服器逐漸融合,微軟可能會極力推廣其基於Windows2000的Web服務和「內容處於邊緣」(內容處於桌面)模式,從而可能破壞Linux在伺服器市場上存在的基礎。
提供免費個人主頁服務的公司存在的一個理由就是目前互聯網使得普通用戶很難擁有自己的伺服器放置自己的內容。可以預言類似Napster的服務將會出現供人們在自己的個人電腦上發布主頁和內容。
WAP等移動服務協議目前還主要關注讓人們去使用處於中心的商業服務如新聞、股票信息等。但更多的時候人們最需要的信息是那些在他們的個人電腦上的信息,P2P使這成為可能。人們可以通過無線聯網P2P訪問他們的個人電腦,這也就是一些公司所宣傳的個人化P2P(Personal P2P)的「無線版本」。
當然,這也不是說使用P2P的個人電腦可以取代伺服器,那些安全的備份和需要專家來不斷更新的數據還將存在於位於中心的伺服器上。 可以這樣看待P2P帶來的轉變,「內容位於中心」模式較好的適應了互聯網初期的情況,個人電腦性能太差因而需要有專門的伺服器、帶寬太窄使得個人電腦不得不退化到被動瀏覽。寬頻互聯網、更穩定的更高性能的個人電腦使得我們有理由預言下一個5年將是由「內容位於邊緣」模式主導。
(5)重新解讀P2P
每個具有劃時代意義的創新出現的時候它往往可能被人們誤讀。P2P這次也不例外,Napster讓人們開始關注P2P,但也使得許多人認為P2P就是歌曲交換、文件交換,甚至認為P2P和盜版有著必然的聯系。可以說人們對P2P的理解是被誤導的和不完全的。
自由軟體(Free software)出現之初也面臨著誤讀的困境,人們開始的時候將Free理解為免費的,從而認為自由軟體是不可靠的、認為自由軟體運動是激進的「反文化的」。事實上Free更多的應該指自由地探索想法、在軟體中表達出來和共享軟體。這一點對自由軟體的鼓吹者們來說是自然而然的,但是需要有人去告訴商界、媒體和公眾自由軟體在經濟上和邏輯上是可行的。當時著名出版人O』reilly組織了一次自由軟體峰會重新定義自由軟體,將自由軟體改名為開放源碼軟體(open source software)。這一重新定義使得人們開始撥開誤解的烏雲,了解Free的本質。開放源碼將人們從有缺陷的軟體、鎖定效應和傳統的軟體分發渠道中解脫出來。自由表示合作將可以跨越公司的邊界、共享基礎性的開發,使人們可以把注意力集中到高附加值的服務上去。 今年8月,O』Reilly又組織另一次峰會來幫助人們認識P2P的潛力和消除Napster、Gnutella造成的P2P是盜版技術的負面影響。另外,他認為目前P2P的狀態類似於「盲人摸象」,P2P技術的領導者們每個人都看到了P2P這頭「巨象」的一些特徵。,如果他們能夠有機會交流思想,P2P將會更快地發展。這次P2P峰會主要有三個目的:定義P2P,我們要從中的到什麼以及為什麼;描述P2P的機會,P2P能解決什麼樣的問題;形成一個提供給大眾的關於P2P的信息,消除那些負面影響。
參與P2P峰會的有媒體不斷報道的那些提供文件交換服務如Napster、Gnutella、Freenet的開發者,也有那些試圖挖掘P2P分布計算能力的公司和組織如Popular Power、SETI@home、distributed.net等的開發者。後面的三家公司希望使用P2P技術集中那些聯接在網路上的電腦的空閑的CPU時間片斷、內存空間、硬碟空間來替代「超級計算機」。其它正在進行的P2P應用還有,IBM、微軟、Ariba也在合作開展一個名為UDDI的項目以將B2B電子商務標准化;Eazel正在建立下一代的Linux桌面;Jabber已經開發了一種基於XML、開放的即時訊息標准,Jabber被認為是建立了未來使用P2P數據交換的標准;由Lotus Notes的開發者創建的Groove試圖「幫助人們以全新的方式溝通」;英特爾也在推廣它的P2P技術以幫助更有效地使用晶元的計算能力。
列這樣一個名單有一點枯燥,尤其是對於那些對於具體細節沒有太多興趣的讀者,但這又是必要的。因為這些描述可以讓我們更全面的了解。
(6)尚未被了解的P2P
Napster是與設備相關的,用戶連接到到由它創建的P2P網路上是為了獲取Mp3歌曲文件。但是對於即時訊息這一類P2P應用來說是完全不同的,別人連接的目的是和另一個Peer交流,而不必管他使用的是電腦、手持電腦或者手機。P2P提供了在網路上與設備無關的實時交流的能力。
這種將把用戶實時的連接起來的能力是P2P最令人感到激動的特性。事實上我們可以從AOL的AIM、國內Oicq受歡迎的程度認識到這個事實。
能夠實時地尋找和聯絡需要的人是商業應用的基本要求,電話可以做到這一點,而在網路上最常用的E-mail並不能做到這一點。因此,即時訊息將不僅僅是一個有趣的服務,更多的它將是下一個最基本的互聯網商業工具。即時訊息現在看起來可能成為諸如客戶服務、供應鏈管理等商業應用的平台。開發了一個開放源碼的基於XML和Java即時訊息服務的Jabber似乎正是創建了一個這樣的平台。Jabber的開發者似乎刻意集中了互聯網現有的所有激動人心的東西:P2P、Java、XML和開放源碼。它是不是有這種潛力呢?我們最好拭目以待,但Jabber的模式至少要比Napster要清晰得多。
Negroponte在其《數字化生存》中曾經有一個著名的論述,「網路上的東西將比人要多」。P2P將使得這些「東西」之間的直接交流成為可能,網路上每個設備都是「活躍」的,而不是像過去那樣有部分是非常活躍,而有的則被動的,有時候直接交流的那些設備可能都是某一個用戶自己的,譬如說掌上電腦和台式電腦的數據同步是最好的例子。如果用戶的掌上電腦上有些數據和內容是台式電腦上沒有的,台式電腦也應該能夠向掌上電腦要求獲取那些信息,這應該跟我們通過Napster到其他用戶那兒去搜索和下載mp3歌曲一樣。
最重要的一點是,不是網路上的節點數目而是這些節點如何參與網路決定網路是否強大、是否有價值。怎樣使得網路上幾億的人和更多的設備都活躍地參與呢?P2P正是一系列架構、技術、策略的開端,它使得互聯網的這一理想開始變為現實。現在人們看到的和預言的都只是冰山露出的一個小角,更多的還在水下。
(7)P2P中的P是人(People)!
Dave Winner的論斷P2P中的P是人(people)!這可能是我讀到的關於P2P最深刻的解讀之一。
事實上,我們所處的真實生活是P2P的環境,人們可以和其他人直接地的交流。信息技術將我們帶到了網路空間,在網路空間我們仍然希望還能夠按照原來的P2P方式交流溝通。盡管互聯網本質上是支持對等交流模式,但是網路的發展給對等交流增加了許多障礙。
正如許多技術專家所指出的,動態IP地址、_blank">防火牆、代理伺服器從技術上使得對等連接變得很困難。更不用說目前的網路主導模式已經發展成為伺服器/客戶端模式,人們在網路上只能被動的接受那些大公司諸如Yahoo!、ABCnews.com等提供的信息,交流是非常困難的。(當然,在現實生活中諸如空間、社會等級等也束縛了人們的對等交流。但是如果網路能夠使我們看到對等交流的可能性,為什麼不去追求?)
可以這樣類比,互聯網的出現和電話的發明是具有同樣的意義的,但是互聯網最開始的主要特徵是非實時的,更類似於傳真,而沒有提供像電話那樣實時交流,現在P2P的即時訊息可能使得互聯網上的實時交流變得和Web頁面、E-mail那樣普遍和不可或缺。
對於所有的P2P應用來說,最先要做的就是恢復互聯網曾經失去的對等聯網能力。這也正是Napster從概念上最大的缺陷。(email是具有P2P交流的特徵的,但email缺乏實時交流的能力,它類似與傳真,但我們還需要「電話」的。)
從「人」的角度上將,P2P發展的要點並不是P2P網路架構是如何,而是P2P將人們在網路上連接起來了,人們可以在網路這個更迅疾的媒介上處理那些需要溝通的問題。這是最重要的。盡管到今天還有人在懷疑互聯網作為零售商業和B2B媒介的有效性,但是互聯網已經從根本上改變了我們的交流方式是不需要任何討論的。過分的談了「純粹的」的、完全消除控制的P2P是毫無意義的。中心化或者非中心化都只是工具,都是為了創造出使人們可以更有效地溝通的工具。
人類在現實生活中的經驗至今仍只有極少的部分被應用到網路上,如新聞、B2C、B2B。現在,人們最常使用的P2P被移植到了網路空間。P2P可能改變一些我們已經熟知的、習慣了的產品和服務,也會創造更多。
究竟會出現些什麼?預言未來的最好辦法是去創造。
Ⅵ 如何提高linux伺服器的安全策略
安全是IT行業一個老生常談的話題了,處理好信息安全問題已變得刻不容緩。做為運維人員,就必須了解一些安全運維准則,同時,要保護自己所負責的業務,首先要站在攻擊者的角度思考問題,修補任何潛在的威脅和漏洞。主要分五部分展開:賬戶和登錄安全賬戶安全是系統安全的第一道屏障,也是系統安全的核心,保障登錄賬戶的安全,在一定程度上可以提高伺服器的安全級別,下面重點介紹下Linux系統登錄賬戶的安全設置方法。
1、刪除特殊的賬戶和賬戶組 Linux提供了各種不同角色的系統賬號,在系統安裝完成後,默認會安裝很多不必要的用戶和用戶組,如果不需要某些用戶或者組,就要立即刪除它,因為賬戶越多,系統就越不安全,很可能被黑客利用,進而威脅到伺服器的安全。
Linux系統中可以刪除的默認用戶和組大致有如下這些:
可刪除的用戶,如adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher等。
可刪除的組,如adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers等。
2、關閉系統不需要的服務Linux在安裝完成後,綁定了很多沒用的服務,這些服務默認都是自動啟動的。對於伺服器來說,運行的服務越多,系統就越不安全,越少服務在運行,安全性就越好,因此關閉一些不需要的服務,對系統安全有很大的幫助。具體哪些服務可以關閉,要根據伺服器的用途而定,一般情況下,只要系統本身用不到的服務都認為是不必要的服務。例如:某台Linux伺服器用於www應用,那麼除了httpd服務和系統運行是必須的服務外,其他服務都可以關閉。下面這些服務一般情況下是不需要的,可以選擇關閉: anacron、auditd、autofs、avahi-daemon、avahi-dnsconfd、bluetooth、cpuspeed、firstboot、gpm、haldaemon、hidd、ip6tables、ipsec、isdn、lpd、mcstrans、messagebus、netfs、nfs、nfslock、nscd、pcscd portmap、readahead_early、restorecond、rpcgssd、rpcidmapd、rstatd、sendmail、setroubleshoot、yppasswdd ypserv
3、密碼安全策略在Linux下,遠程登錄系統有兩種認證方式:密碼認證和密鑰認證。密碼認證方式是傳統的安全策略,對於密碼的設置,比較普遍的說法是:至少6個字元以上,密碼要包含數字、字母、下劃線、特殊符號等。設置一個相對復雜的密碼,對系統安全能起到一定的防護作用,但是也面臨一些其他問題,例如密碼暴力破解、密碼泄露、密碼丟失等,同時過於復雜的密碼對運維工作也會造成一定的負擔。密鑰認證是一種新型的認證方式,公用密鑰存儲在遠程伺服器上,專用密鑰保存在本地,當需要登錄系統時,通過本地專用密鑰和遠程伺服器的公用密鑰進行配對認證,如果認證成功,就成功登錄系統。這種認證方式避免了被暴力破解的危險,同時只要保存在本地的專用密鑰不被黑客盜用,攻擊者一般無法通過密鑰認證的方式進入系統。因此,在Linux下推薦用密鑰認證方式登錄系統,這樣就可以拋棄密碼認證登錄系統的弊端。Linux伺服器一般通過SecureCRT、putty、Xshell之類的工具進行遠程維護和管理,密鑰認證方式的實現就是藉助於SecureCRT軟體和Linux系統中的SSH服務實現的。
4、合理使用su、sudo命令su命令:是一個切換用戶的工具,經常用於將普通用戶切換到超級用戶下,當然也可以從超級用戶切換到普通用戶。為了保證伺服器的安全,幾乎所有伺服器都禁止了超級用戶直接登錄系統,而是通過普通用戶登錄系統,然後再通過su命令切換到超級用戶下,執行一些需要超級許可權的工作。通過su命令能夠給系統管理帶來一定的方便,但是也存在不安全的因素,例如:系統有10個普通用戶,每個用戶都需要執行一些有超級許可權的操作,就必須把超級用戶的密碼交給這10個普通用戶,如果這10個用戶都有超級許可權,通過超級許可權可以做任何事,那麼會在一定程度上對系統的安全造成了威協。因此su命令在很多人都需要參與的系統管理中,並不是最好的選擇,超級用戶密碼應該掌握在少數人手中,此時sudo命令就派上用場了。sudo命令:允許系統管理員分配給普通用戶一些合理的「權利」,並且不需要普通用戶知道超級用戶密碼,就能讓他們執行一些只有超級用戶或其他特許用戶才能完成的任務。比如:系統服務重啟、編輯系統配置文件等,通過這種方式不但能減少超級用戶登錄次數和管理時間,也提高了系統安全性。因此,sudo命令相對於許可權無限制性的su來說,還是比較安全的,所以sudo也被稱為受限制的su,另外sudo也是需要事先進行授權認證的,所以也被稱為授權認證的su。
sudo執行命令的流程是:將當前用戶切換到超級用戶下,或切換到指定的用戶下,然後以超級用戶或其指定切換到的用戶身份執行命令,執行完成後,直接退回到當前用戶,而這一切的完成要通過sudo的配置文件/etc/sudoers來進行授權。
sudo設計的宗旨是:賦予用戶盡可能少的許可權但仍允許它們完成自己的工作,這種設計兼顧了安全性和易用性,因此,強烈推薦通過sudo來管理系統賬號的安全,只允許普通用戶登錄系統,如果這些用戶需要特殊的許可權,就通過配置/etc/sudoers來完成,這也是多用戶系統下賬號安全管理的基本方式。
5、刪減系統登錄歡迎信息 系統的一些歡迎信息或版本信息,雖然能給系統管理者帶來一定的方便,但是這些信息有時候可能被黑客利用,成為攻擊伺服器的幫凶,為了保證系統的安全,可以修改或刪除某些系統文件,需要修改或刪除的文件有4個,分別是:/etc/issue、/etc/issue.net、/etc/redhat-release和/etc/motd。/etc/issue和/etc/issue.net文件都記錄了操作系統的名稱和版本號,當用戶通過本地終端或本地虛擬控制台等登錄系統時,/etc/issue的文件內容就會顯示,當用戶通過ssh或telnet等遠程登錄系統時,/etc/issue.net文件內容就會在登錄後顯示。在默認情況下/etc/issue.net文件的內容是不會在ssh登錄後顯示的,要顯示這個信息可以修改/etc/ssh/sshd_config文件,在此文件中添加如下內容即可:Banner /etc/issue.net其實這些登錄提示很明顯泄漏了系統信息,為了安全起見,建議將此文件中的內容刪除或修改。/etc/redhat-release文件也記錄了操作系統的名稱和版本號,為了安全起見,可以將此文件中的內容刪除/etc/motd文件是系統的公告信息。每次用戶登錄後,/etc/motd文件的內容就會顯示在用戶的終端。通過這個文件系統管理員可以發布一些軟體或硬體的升級、系統維護等通告信息,但是此文件的最大作用就、是可以發布一些警告信息,當黑客登錄系統後,會發現這些警告信息,進而產生一些震懾作用。看過國外的一個報道,黑客入侵了一個伺服器,而這個伺服器卻給出了歡迎登錄的信息,因此法院不做任何裁決。
遠程訪問和認證安全
1、遠程登錄取消telnet而採用SSH方式 telnet是一種古老的遠程登錄認證服務,它在網路上用明文傳送口令和數據,因此別有用心的人就會非常容易截獲這些口令和數據。而且,telnet服務程序的安全驗證方式也極其脆弱,攻擊者可以輕松將虛假信息傳送給伺服器。現在遠程登錄基本拋棄了telnet這種方式,而取而代之的是通過SSH服務遠程登錄伺服器。
2、合理使用Shell歷史命令記錄功能 在Linux下可通過history命令查看用戶所有的歷史操作記錄,同時shell命令操作記錄默認保存在用戶目錄下的.bash_history文件中,通過這個文件可以查詢shell命令的執行歷史,有助於運維人員進行系統審計和問題排查,同時,在伺服器遭受黑客攻擊後,也可以通過這個命令或文件查詢黑客登錄伺服器所執行的歷史命令操作,但是有時候黑客在入侵伺服器後為了毀滅痕跡,可能會刪除.bash_history文件,這就需要合理的保護或備份.bash_history文件。
3、啟用tcp_wrappers防火牆Tcp_Wrappers是一個用來分析TCP/IP封包的軟體,類似的IP封包軟體還有iptables。Linux默認都安裝了Tcp_Wrappers。作為一個安全的系統,Linux本身有兩層安全防火牆,通過IP過濾機制的iptables實現第一層防護。iptables防火牆通過直觀地監視系統的運行狀況,阻擋網路中的一些惡意攻擊,保護整個系統正常運行,免遭攻擊和破壞。如果通過了第一層防護,那麼下一層防護就是tcp_wrappers了。通過Tcp_Wrappers可以實現對系統中提供的某些服務的開放與關閉、允許和禁止,從而更有效地保證系統安全運行。
文件系統安全
1、鎖定系統重要文件系統運維人員有時候可能會遇到通過root用戶都不能修改或者刪除某個文件的情況,產生這種情況的大部分原因可能是這個文件被鎖定了。在Linux下鎖定文件的命令是chattr,通過這個命令可以修改ext2、ext3、ext4文件系統下文件屬性,但是這個命令必須有超級用戶root來執行。和這個命令對應的命令是lsattr,這個命令用來查詢文件屬性。對重要的文件進行加鎖,雖然能夠提高伺服器的安全性,但是也會帶來一些不便。例如:在軟體的安裝、升級時可能需要去掉有關目錄和文件的immutable屬性和append-only屬性,同時,對日誌文件設置了append-only屬性,可能會使日誌輪換(logrotate)無法進行。因此,在使用chattr命令前,需要結合伺服器的應用環境來權衡是否需要設置immutable屬性和append-only屬性。另外,雖然通過chattr命令修改文件屬性能夠提高文件系統的安全性,但是它並不適合所有的目錄。chattr命令不能保護/、/dev、/tmp、/var等目錄。根目錄不能有不可修改屬性,因為如果根目錄具有不可修改屬性,那麼系統根本無法工作:/dev在啟動時,syslog需要刪除並重新建立/dev/log套接字設備,如果設置了不可修改屬性,那麼可能出問題;/tmp目錄會有很多應用程序和系統程序需要在這個目錄下建立臨時文件,也不能設置不可修改屬性;/var是系統和程序的日誌目錄,如果設置為不可修改屬性,那麼系統寫日誌將無法進行,所以也不能通過chattr命令保護。
2、文件許可權檢查和修改不正確的許可權設置直接威脅著系統的安全,因此運維人員應該能及時發現這些不正確的許可權設置,並立刻修正,防患於未然。下面列舉幾種查找系統不安全許可權的方法。
(1)查找系統中任何用戶都有寫許可權的文件或目錄
查找文件:find / -type f -perm -2 -o -perm -20 |xargs ls -al查找目錄:find / -type d -perm -2 -o -perm -20 |xargs ls –ld
(2)查找系統中所有含「s」位的程序
find / -type f -perm -4000 -o -perm -2000 -print | xargs ls –al
含有「s」位許可權的程序對系統安全威脅很大,通過查找系統中所有具有「s」位許可權的程序,可以把某些不必要的「s」位程序去掉,這樣可以防止用戶濫用許可權或提升許可權的可能性。
(3)檢查系統中所有suid及sgid文件
find / -user root -perm -2000 -print -exec md5sum {} \;find / -user root -perm -4000 -print -exec md5sum {} \;
將檢查的結果保存到文件中,可在以後的系統檢查中作為參考。
(4)檢查系統中沒有屬主的文件
find / -nouser -o –nogroup
沒有屬主的孤兒文件比較危險,往往成為黑客利用的工具,因此找到這些文件後,要麼刪除掉,要麼修改文件的屬主,使其處於安全狀態。
3、/tmp、/var/tmp、/dev/shm安全設定在Linux系統中,主要有兩個目錄或分區用來存放臨時文件,分別是/tmp和/var/tmp。存儲臨時文件的目錄或分區有個共同點就是所有用戶可讀寫、可執行,這就為系統留下了安全隱患。攻擊者可以將病毒或者木馬腳本放到臨時文件的目錄下進行信息收集或偽裝,嚴重影響伺服器的安全,此時,如果修改臨時目錄的讀寫執行許可權,還有可能影響系統上應用程序的正常運行,因此,如果要兼顧兩者,就需要對這兩個目錄或分區就行特殊的設置。/dev/shm是Linux下的一個共享內存設備,在Linux啟動的時候系統默認會載入/dev/shm,被載入的/dev/shm使用的是tmpfs文件系統,而tmpfs是一個內存文件系統,存儲到tmpfs文件系統的數據會完全駐留在RAM中,這樣通過/dev/shm就可以直接操控系統內存,這將非常危險,因此如何保證/dev/shm安全也至關重要。對於/tmp的安全設置,需要看/tmp是一個獨立磁碟分區,還是一個根分區下的文件夾,如果/tmp是一個獨立的磁碟分區,那麼設置非常簡單,修改/etc/fstab文件中/tmp分區對應的掛載屬性,加上nosuid、noexec、nodev三個選項即可,修改後的/tmp分區掛載屬性類似如下:LABEL=/tmp /tmp ext3 rw,nosuid,noexec,nodev 0 0 其中,nosuid、noexec、nodev選項,表示不允許任何suid程序,並且在這個分區不能執行任何腳本等程序,並且不存在設備文件。在掛載屬性設置完成後,重新掛載/tmp分區,保證設置生效。對於/var/tmp,如果是獨立分區,安裝/tmp的設置方法是修改/etc/fstab文件即可;如果是/var分區下的一個目錄,那麼可以將/var/tmp目錄下所有數據移動到/tmp分區下,然後在/var下做一個指向/tmp的軟連接即可。也就是執行如下操作:
[root@server ~]# mv /var/tmp/* /tmp[root@server ~]# ln -s /tmp /var/tmp
如果/tmp是根目錄下的一個目錄,那麼設置稍微復雜,可以通過創建一個loopback文件系統來利用Linux內核的loopback特性將文件系統掛載到/tmp下,然後在掛載時指定限制載入選項即可。一個簡單的操作示例如下:
[root@server ~]# dd if=/dev/zero of=/dev/tmpfs bs=1M count=10000[root@server ~]# mke2fs -j /dev/tmpfs[root@server ~]# cp -av /tmp /tmp.old[root@server ~]# mount -o loop,noexec,nosuid,rw /dev/tmpfs /tmp[root@server ~]# chmod 1777 /tmp[root@server ~]# mv -f /tmp.old/* /tmp/[root@server ~]# rm -rf /tmp.old
最後,編輯/etc/fstab,添加如下內容,以便系統在啟動時自動載入loopback文件系統:
/dev/tmpfs /tmp ext3 loop,nosuid,noexec,rw 0 0
Linux後門入侵檢測工具rootkit是Linux平台下最常見的一種木馬後門工具,它主要通過替換系統文件來達到入侵和和隱蔽的目的,這種木馬比普通木馬後門更加危險和隱蔽,普通的檢測工具和檢查手段很難發現這種木馬。rootkit攻擊能力極強,對系統的危害很大,它通過一套工具來建立後門和隱藏行跡,從而讓攻擊者保住許可權,以使它在任何時候都可以使用root許可權登錄到系統。rootkit主要有兩種類型:文件級別和內核級別,下面分別進行簡單介紹。文件級別的rootkit一般是通過程序漏洞或者系統漏洞進入系統後,通過修改系統的重要文件來達到隱藏自己的目的。在系統遭受rootkit攻擊後,合法的文件被木馬程序替代,變成了外殼程序,而其內部是隱藏著的後門程序。通常容易被rootkit替換的系統程序有login、ls、ps、ifconfig、、find、netstat等,其中login程序是最經常被替換的,因為當訪問Linux時,無論是通過本地登錄還是遠程登錄,/bin/login程序都會運行,系統將通過/bin/login來收集並核對用戶的賬號和密碼,而rootkit就是利用這個程序的特點,使用一個帶有根許可權後門密碼的/bin/login來替換系統的/bin/login,這樣攻擊者通過輸入設定好的密碼就能輕松進入系統。此時,即使系統管理員修改root密碼或者清除root密碼,攻擊者還是一樣能通過root用戶登錄系統。攻擊者通常在進入Linux系統後,會進行一系列的攻擊動作,最常見的是安裝嗅探器收集本機或者網路中其他伺服器的重要數據。在默認情況下,Linux中也有一些系統文件會監控這些工具動作,例如ifconfig命令,所以,攻擊者為了避免被發現,會想方設法替換其他系統文件,常見的就是ls、ps、ifconfig、、find、netstat等。如果這些文件都被替換,那麼在系統層面就很難發現rootkit已經在系統中運行了。這就是文件級別的rootkit,對系統維護很大,目前最有效的防禦方法是定期對系統重要文件的完整性進行檢查,如果發現文件被修改或者被替換,那麼很可能系統已經遭受了rootkit入侵。檢查件完整性的工具很多,常見的有Tripwire、 aide等,可以通過這些工具定期檢查文件系統的完整性,以檢測系統是否被rootkit入侵。內核級rootkit是比文件級rootkit更高級的一種入侵方式,它可以使攻擊者獲得對系統底層的完全控制權,此時攻擊者可以修改系統內核,進而截獲運行程序向內核提交的命令,並將其重定向到入侵者所選擇的程序並運行此程序,也就是說,當用戶要運行程序A時,被入侵者修改過的內核會假裝執行A程序,而實際上卻執行了程序B。內核級rootkit主要依附在內核上,它並不對系統文件做任何修改,因此一般的檢測工具很難檢測到它的存在,這樣一旦系統內核被植入rootkit,攻擊者就可以對系統為所欲為而不被發現。目前對於內核級的rootkit還沒有很好的防禦工具,因此,做好系統安全防範就非常重要,將系統維持在最小許可權內工作,只要攻擊者不能獲取root許可權,就無法在內核中植入rootkit。
1、rootkit後門檢測工具chkrootkit chkrootkit是一個Linux系統下查找並檢測rootkit後門的工具,它的官方址:http://www.chkrootkit.org/。 chkrootkit沒有包含在官方的CentOS源中,因此要採取手動編譯的方法來安裝,不過這種安裝方法也更加安全。chkrootkit的使用比較簡單,直接執行chkrootkit命令即可自動開始檢測系統。下面是某個系統的檢測結果:
[root@server chkrootkit]# /usr/local/chkrootkit/chkrootkitChecking `ifconfig』… INFECTEDChecking `ls』… INFECTEDChecking `login』… INFECTEDChecking `netstat』… INFECTEDChecking `ps』… INFECTEDChecking `top』… INFECTEDChecking `sshd』… not infectedChecking `syslogd』… not tested
從輸出可以看出,此系統的ifconfig、ls、login、netstat、ps和top命令已經被感染。針對被感染rootkit的系統,最安全而有效的方法就是備份數據重新安裝系統。chkrootkit在檢查rootkit的過程中使用了部分系統命令,因此,如果伺服器被黑客入侵,那麼依賴的系統命令可能也已經被入侵者替換,此時chkrootkit的檢測結果將變得完全不可信。為了避免chkrootkit的這個問題,可以在伺服器對外開放前,事先將chkrootkit使用的系統命令進行備份,在需要的時候使用備份的原始系統命令讓chkrootkit對rootkit進行檢測。
2、rootkit後門檢測工具RKHunter RKHunter是一款專業的檢測系統是否感染rootkit的工具,它通過執行一系列的腳本來確認伺服器是否已經感染rootkit。在官方的資料中,RKHunter可以作的事情有:MD5校驗測試,檢測文件是否有改動
檢測rootkit使用的二進制和系統工具文件 檢測特洛伊木馬程序的特徵碼 檢測常用程序的文件屬性是否異常 檢測系統相關的測試 檢測隱藏文件 檢測可疑的核心模塊LKM 檢測系統已啟動的監聽埠
在Linux終端使用rkhunter來檢測,最大的好處在於每項的檢測結果都有不同的顏色顯示,如果是綠色的表示沒有問題,如果是紅色的,那就要引起關注了。另外,在執行檢測的過程中,在每個部分檢測完成後,需要以Enter鍵來繼續。如果要讓程序自動運行,可以執行如下命令:
[root@server ~]# /usr/local/bin/rkhunter –check –skip-keypress
同時,如果想讓檢測程序每天定時運行,那麼可以在/etc/crontab中加入如下內容:
30 09 * * * root /usr/local/bin/rkhunter –check –cronjob
這樣,rkhunter檢測程序就會在每天的9:30分運行一次。伺服器遭受攻擊後的處理過程安全總是相對的,再安全的伺服器也有可能遭受到攻擊。作為一個安全運維人員,要把握的原則是:盡量做好系統安全防護,修復所有已知的危險行為,同時,在系統遭受攻擊後能夠迅速有效地處理攻擊行為,最大限度地降低攻擊對系統產生的影響。
Ⅶ 如何使Linux伺服器變得更安全
1.安裝和配置一個防火牆
一個配置適當的防火牆不僅是系統有效應對外部攻擊的第一道防線,也是最重要的一道防線。在新系統第一次連接上Internet之前,防火牆就應該被安裝並且配置好。防火牆配置成拒絕接收所有數據包,然後再打開允許接收的數據包,將有利於系統的安全。Linux為我們提供了一個非常優秀的防火牆工具,它就是netfilter/iptables。它完全是免費的,並且可以在一台低配置的老機器上很好地運行。防火牆的具體設置方法請參見iptables使用方法。
2、關閉無用的服務和埠
任何網路連接都是通過開放的應用埠來實現的。如果我們盡可能少地開放埠,就使網路攻擊變成無源之水,從而大大減少了攻擊者成功的機會。把Linux作為專用伺服器是個明智的舉措。例如,希望Linux成為的Web伺服器,可以取消系統內所有非必要的服務,只開啟必要服務。這樣做可以盡量減少後門,降低隱患,而且可以合理分配系統資源,提高整機性能。以下是幾個不常用的服務:
① fingerd(finger伺服器)報告指定用戶的個人信息,包括用戶名、真實姓名、shell、目錄和聯系方式,它將使系統暴露在不受歡迎的情報收集活動下,應避免啟動此服務。
② R服務(rshd、rlogin、rwhod、rexec)提供各種級別的命令,它們可以在遠程主機上運行或與遠程主機交互,在封閉的網路環境中登錄而不再要求輸入用戶名和口令,相當方便。然而在公共伺服器上就會暴露問題,導致安全威脅。
3、刪除不用的軟體包
在進行系統規劃時,總的原則是將不需要的服務一律去掉。默認的Linux就是一個強大的系統,運行了很多的服務。但有許多服務是不需要的,很容易引起安全風險。這個文件就是/etc/xinetd.conf,它制定了/usr/sbin/xinetd將要監聽的服務,你可能只需要其中的一個:ftp,其它的類如telnet、shell、login、exec、talk、ntalk、imap、finger、auth等,除非你真的想用它,否則統統關閉。
4、不設置預設路由
在主機中,應該嚴格禁止設置預設路由,即default route。建議為每一個子網或網段設置一個路由,否則其它機器就可能通過一定方式訪問該主機。
5、口令管理
口令的長度一般不要少於8個字元,口令的組成應以無規則的大小寫字母、數字和符號相結合,嚴格避免用英語單詞或片語等設置口令,而且各用戶的口令應該養成定期更換的習慣。另外,口令的保護還涉及到對/etc/passwd和/etc/shadow文件的保護,必須做到只有系統管理員才能訪問這2個文件。安裝一個口令過濾工具加npasswd,能幫你檢查你的口令是否耐得住攻擊。如果你以前沒有安裝此類的工具,建議你現在馬上安裝。如果你是系統管理員,你的系統中又沒有安裝口令過濾工具,請你馬上檢查所有用戶的口令是否能被窮盡搜索到,即對你的/ect/passwd文件實施窮盡搜索攻擊。用單詞作密碼是根本架不住暴力攻擊的。黑客們經常用一些常用字來破解密碼。曾經有一位美國黑客表示,只要用「password」這個字,就可以打開全美多數的計算機。其它常用的單詞還有:account、ald、alpha、beta、computer、dead、demo、dollar、games、bod、hello、help、intro、kill、love、no、ok、okay、please、sex、secret、superuser、system、test、work、yes等。
密碼設置和原則:
a.足夠長,指頭只要多動一下為密碼加一位,就可以讓攻擊者的辛苦增加十倍;
b. 不要用完整的單詞,盡可能包括數字、標點符號和特殊字元等;
c.混用大小寫字元;
d.經常修改。
6、分區管理
一個潛在的攻擊,它首先就會嘗試緩沖區溢出。在過去的幾年中,以緩沖區溢出為類型的安全漏洞是最為常見的一種形式了。更為嚴重的是,緩沖區溢出漏洞佔了遠程網路攻擊的絕大多數,這種攻擊可以輕易使得一個匿名的Internet用戶有機會獲得一台主機的部分或全部的控制權!。
為了防止此類攻擊,我們從安裝系統時就應該注意。如果用root分區記錄數據,如log文件,就可能因為拒絕服務產生大量日誌或垃圾郵件,從而導致系統崩潰。所以建議為/var開辟單獨的分區,用來存放日誌和郵件,以避免root分區被溢出。最好為特殊的應用程序單獨開一個分區,特別是可以產生大量日誌的程序,還建議為/home單獨分一個區,這樣他們就不能填滿/分區了,從而就避免了部分針對Linux分區溢出的惡意攻擊。
很多Linux桌面用戶往往是使用Windows、Linux雙系統。最好使用雙硬碟。方法如下:首先將主硬碟的數據線拆下,找一個10GB左右的硬碟掛在計算機上,將小硬碟設置為從盤,按照平常的操作安裝Linux伺服器版本,除了啟動的引導程序放在MBR外,其它沒有區別。 安裝完成,調試出桌面後,關閉計算機。將小硬碟的數據線拆下,裝上原硬碟,並設定為主盤(這是為了原硬碟和小硬碟同時掛接在一個數據線上),然後安裝Windows軟體。將兩個硬碟都掛在數據線上,數據線是IDE 0介面,將原硬碟設定為主盤,小硬碟設定為從盤。如果要從原硬碟啟動,就在CMOS里將啟動的順序設定為「C、D、CDROM」,或者是「IDE0(HDD-0)」。這樣計算機啟動的時候,進入Windows界面。如果要從小硬碟啟動,就將啟動順序改為「D、C、CDROM」,或者是「IDE1(HDD-1)」,啟動之後,將進入Linux界面。平時兩個操作系統是互相不能夠訪問的。
7、防範網路嗅探:
嗅探器技術被廣泛應用於網路維護和管理方面,它工作的時候就像一部被動聲納,默默的接收看來自網路的各種信息,通過對這些數據的分析,網路管理員可以深入了解網路當前的運行狀況,以便找出網路中的漏洞。在網路安全日益被注意的今天.我們不但要正確使用嗅探器.還要合理防範嗅探器的危害.嗅探器能夠造成很大的安全危害,主要是因為它們不容易被發現。對於一個安全性能要求很嚴格的企業,同時使用安全的拓撲結構、會話加密、使用靜態的ARP地址是有必要的。
8、完整的日誌管理
日誌文件時刻為你記錄著你的系統的運行情況。當黑客光臨時,也不能逃脫日誌的法眼。所以黑客往往在攻擊時修改日誌文件,來隱藏蹤跡。因此我們要限制對/var/log文件的訪問,禁止一般許可權的用戶去查看日誌文件。
另外要使用日誌伺服器。將客戶機的日誌信息保存副本是好主意,創建一台伺服器專門存放日誌文件,可以通過檢查日誌來發現問題。修改/etc/sysconfig/syslog文件加入接受遠程日誌記錄。
/etc/sysconfig/syslog SYSLOGD_OPTIONS="-m r 0"
還應該設定日誌遠程保存。修改/etc/syslog.conf文件加入日誌伺服器的設置,syslog將保存副本在日誌伺服器上。
/etc/syslog.conf *.* @log_server_IP
可以使用彩色日誌過濾器。彩色日誌loco過濾器,目前版本是0.32。使用loco /var/log/messages | more可以顯示出彩色的日誌,明顯標記出root的位置和日誌中異常的命令。這樣可以減少分析日誌時人為遺漏。還要進行日誌的定期檢查。Red Hat Linux中提供了logwatch工具,定期自動檢查日誌並發送郵件到管理員信箱。需要修改/etc/log.d/conf/ logwatch.conf文件,在MailTo = root參數後增加管理員的郵件地址。Logwatch會定期檢查日誌,過濾有關使用root、sudo、telnet、ftp登錄等信息,協助管理員分析日常安全。完整的日誌管理要包括網路數據的正確性、有效性、合法性。對日誌文件的分析還可以預防入侵。例如、某一個用戶幾小時內的20次的注冊失敗記錄,很可能是入侵者正在嘗試該用戶的口令。
9、終止正進行的攻擊
假如你在檢查日誌文件時,發現了一個用戶從你未知的主機登錄,而且你確定此用戶在這台主機上沒有賬號,此時你可能正被攻擊。首先你要馬上鎖住此賬號(在口令文件或shadow文件中,此用戶的口令前加一個Ib或其他的字元)。若攻擊者已經連接到系統,你應馬上斷開主機與網路的物理連接。如有可能,你還要進一步查看此用戶的歷史記錄,查看其他用戶是否也被假冒,攻擊音是否擁有根許可權。殺掉此用戶的所有進程並把此主機的ip地址掩碼加到文件hosts.deny中。
10、使用安全工具軟體:
Linux已經有一些工具可以保障伺服器的安全。如bastille linux和Selinux。 bastille linux對於不熟悉 linux 安全設定的使用者來說,是一套相當方便的軟體,bastille linux 目的是希望在已經存在的 linux 系統上,建構出一個安全性的環境。增強安全性的Linux(SELinux)是美國安全部的一個研發項目,它的目的在於增強開發代碼的Linux內核,以提供更強的保護措施,防止一些關於安全方面的應用程序走彎路,減輕惡意軟體帶來的災難。普通的Linux系統的安全性是依賴內核的,這個依賴是通過setuid/setgid產生的。在傳統的安全機制下,暴露了一些應用授權問題、配置問題或進程運行造成整個系統的安全問題。這些問題在現在的操作系統中都存在,這是由於他們的復雜性和與其它程序的互用性造成的。SELinux只單單依賴於系統的內核和安全配置政策。一旦你正確配置了系統,不正常的應用程序配置或錯誤將只返回錯誤給用戶的程序和它的系統後台程序。其它用戶程序的安全性和他們的後台程序仍然可以正常運行,並保持著它們的安全系統結構。用簡單一點的話說就是:沒有任何的程序配置錯誤可以造成整個系統的崩潰。安裝SELinux SELinux的內核、工具、程序/工具包,還有文檔都可以到增強安全性的Linux網站上上下載你必須有一個已經存在的Linux系統來編譯你的新內核,這樣才能訪問沒有更改的系統補丁包。
11.使用保留IP地址
維護網路安全性最簡單的方法是保證網路中的主機不同外界接觸。最基本的方法是與公共網路隔離。然而,這種通過隔離達到的安全性策略在許多情況下是不能接受的。這時,使用保留IP地址是一種簡單可行的方法,它可以讓用戶訪問Internet同時保證一定的安全性。- RFC 1918規定了能夠用於本地 TCP/IP網路使用的IP地址范圍,這些IP地址不會在Internet上路由,因此不必注冊這些地址。通過在該范圍分配IP地址,可以有效地將網路流量限制在本地網路內。這是一種拒絕外部計算機訪問而允許內部計算機互聯的快速有效的方法。 保留IP地址范圍:
---- 10.0.0 .0 - 10.255.255.255
---- 172.16.0.0 - 172.31.255.255
--- 192.168.0.0 - 192.168.255.255。
來自保留IP地址的網路交通不會經過Internet路由器,因此被賦予保留IP地址的任何計算機不能從外部網路訪問。但是,這種方法同時也不允許用戶訪問外部網路。IP偽裝可以解決這一問題。
12、合理選擇Linux發行版本:
對於伺服器使用的Linux版本,既不使用最新的發行版本,也不選擇太老的版本。應當使用比較成熟的版本:前一個產品的最後發行版本如RHEL 3.0等。畢竟對於伺服器來說安全穩定是第一的。
13、部署Linux防範病毒軟體
Linux操作系統一直被認為是Windows系統的勁敵,因為它不僅安全、穩定、成本低,而且很少發現有病毒傳播。但是,隨著越來越多的伺服器、工作站和個人電腦使用Linux軟體,電腦病毒製造者也開始攻擊這一系統。對於Linux系統無論是伺服器,還是工作站的安全性和許可權控制都是比較強大的,這主要得力於其優秀的技術設計,不僅使它的作業系統難以宕機,而且也使其難以被濫用。Unix經過20多年的發展和完善,已經變得非常堅固,而Linux基本上繼承了它的優點。在Linux里,如果不是超級用戶,那麼惡意感染系統文件的程序將很難得逞。速客一號(Slammer)、沖擊波(Blast)、霸王蟲(Sobig)、 米蟲(Mimail)、勞拉(Win32.Xorala)病毒等惡性程序雖然不會損壞Linux伺服器,但是卻會傳播給訪問它的Windows系統平台的計算機。
Ⅷ 如何檢查Linux系統伺服器的安全性
但由於該操作系統是一個多用戶操作系統,黑客們為了在攻擊中隱藏自己,往往會選擇 Linux作為首先攻擊的對象。那麼,作為一名Linux用戶,我們該如何通過合理的方法來防範Linux的安全呢?下面筆者搜集和整理了一些防範 Linux安全的幾則措施,現在把它們貢獻出來,懇請各位網友能不斷補充和完善。 1、禁止使用Ping命令Ping命令是計算機之間進行相互檢測線路完好的一個應用程序,計算機間交流數據的傳輸沒有 經過任何的加密處理,因此我們在用ping命令來檢測某一個伺服器時,可能在網際網路上存在某個非法分子,通過專門的黑客程序把在網路線路上傳輸的信息中途 竊取,並利用偷盜過來的信息對指定的伺服器或者系統進行攻擊,為此我們有必要在Linux系統中禁止使用Linux命令。在Linux里,如果要想使 ping沒反應也就是用來忽略icmp包,因此我們可以在Linux的命令行中輸入如下命令: echo 1 > /proc/sys/net/ipv4/icmp_echo_igore_all 如果想恢復使用ping命令,就可以輸入 echo 0 > /proc/sys/net/ipv4/icmp_echo_igore_all2、注意對系統及時備份為了防止系統在使用的過程中發生以外情況而難以正常運行,我們應該對Linux完好的系統進 行備份,最好是在一完成Linux系統的安裝任務後就對整個系統進行備份,以後可以根據這個備份來驗證系統的完整性,這樣就可以發現系統文件是否被非法修 改過。如果發生系統文件已經被破壞的情況,也可以使用系統備份來恢復到正常的狀態。備份信息時,我們可以把完好的系統信息備份在CD-ROM光碟上,以後 可以定期將系統與光碟內容進行比較以驗證系統的完整性是否遭到破壞。如果對安全級別的要求特別高,那麼可以將光碟設置為可啟動的並且將驗證工作作為系統啟 動過程的一部分。這樣只要可以通過光碟啟動,就說明系統尚未被破壞過。 3、改進登錄伺服器將系統的登錄伺服器移到一個單獨的機器中會增加系統的安全級別,使用一個更安全的登錄伺服器 來取代Linux自身的登錄工具也可以進一步提高安全。在大的Linux網路中,最好使用一個單獨的登錄伺服器用於syslog服務。它必須是一個能夠滿 足所有系統登錄需求並且擁有足夠的磁碟空間的伺服器系統,在這個系統上應該沒有其它的服務運行。更安全的登錄伺服器會大大削弱入侵者透過登錄系統竄改日誌 文件的能力。 4、取消Root命令歷史記錄在Linux下,系統會自動記錄用戶輸入過的命令,而root用戶發出的命令往往具有敏感的 信息,為了保證安全性,一般應該不記錄或者少記錄root的命令歷史記錄。為了設置系統不記錄每個人執行過的命令,我們可以在Linux的命令行下,首先 用cd命令進入到/etc命令,然後用編輯命令來打開該目錄下面的profile文件,並在其中輸入如下內容: HISTFILESIZE=0
HISTSIZE=0當然,我們也可以直接在命令行中輸入如下命令: ln -s /dev/null ~/.bash_history5、為關鍵分區建立只讀屬性Linux的文件系統可以分成幾個主要的分區,每個分區分別進行不同的配置和安裝,一般情況 下至少要建立/、/usr/local、/var和/home等分區。/usr可以安裝成只讀並且可以被認為是不可修改的。如果/usr中有任何文件發生 了改變,那麼系統將立即發出安全報警。當然這不包括用戶自己改變/usr中的內容。/lib、/boot和/sbin的安裝和設置也一樣。在安裝時應該盡 量將它們設置為只讀,並且對它們的文件、目錄和屬性進行的任何修改都會導致系統報警。 當然將所有主要的分區都設置為只讀是不可能的,有的分區如/var等,其自身的性質就決定了不能將它們設置為只讀,但應該不允許它具有執行許可權。 6、殺掉攻擊者的所有進程假設我們從系統的日誌文件中發現了一個用戶從我們未知的主機登錄,而且我們確定該用戶在這台 主機上沒有相應的帳號,這表明此時我們正在受到攻擊。為了保證系統的安全被進一步破壞,我們應該馬上鎖住指定的帳號,如果攻擊者已經登錄到指定的系統,我 們應該馬上斷開主機與網路的物理連接。如有可能,我們還要進一步查看此用戶的歷史記錄,再仔細查看一下其他用戶是否也已經被假冒,攻擊者是否擁有有限權 限;最後應該殺掉此用戶的所有進程,並把此主機的IP地址掩碼加入到文件hosts.deny中。 7、改進系統內部安全機制我們可以通過改進Linux操作系統的內部功能來防止緩沖區溢出,從而達到增強Linux系 統內部安全機制的目的,大大提高了整個系統的安全性。但緩沖區溢出實施起來是相當困難的,因為入侵者必須能夠判斷潛在的緩沖區溢出何時會出現以及它在內存 中的什麼位置出現。緩沖區溢出預防起來也十分困難,系統管理員必須完全去掉緩沖區溢出存在的條件才能防止這種方式的攻擊。正因為如此,許多人甚至包括 Linux Torvalds本人也認為這個安全Linux補丁十分重要,因為它防止了所有使用緩沖區溢出的攻擊。但是需要引起注意的是,這些補丁也會導致對執行棧的 某些程序和庫的依賴問題,這些問題也給系統管理員帶來的新的挑戰。 8、對系統進行跟蹤記錄為了能密切地監視黑客的攻擊活動,我們應該啟動日誌文件,來記錄系統的運行情況,當黑客在攻 擊系統時,它的蛛絲馬跡都會被記錄在日誌文件中的,因此有許多黑客在開始攻擊系統時,往往首先通過修改系統的日誌文件,來隱藏自己的行蹤,為此我們必須限 制對/var/log文件的訪問,禁止一般許可權的用戶去查看日誌文件。當然,系統中內置的日誌管理程序功能可能不是太強,我們應該採用專門的日誌程序,來 觀察那些可疑的多次連接嘗試。另外,我們還要小心保護好具有根許可權的密碼和用戶,因為黑客一旦知道了這些具有根許可權的帳號後,他們就可以修改日誌文件來隱 藏其蹤跡了。 9、使用專用程序來防範安全有時,我們通過人工的方法來監視系統的安全比較麻煩,或者是不周密,因此我們還可以通過專業 程序來防範系統的安全,目前最典型的方法為設置陷井和設置蜜罐兩種方法。所謂陷井就是激活時能夠觸發報警事件的軟體,而蜜罐(honey pot)程序是指設計來引誘有入侵企圖者觸發專門的報警的陷井程序。通過設置陷井和蜜罐程序,一旦出現入侵事件系統可以很快發出報警。在許多大的網路中, 一般都設計有專門的陷井程序。陷井程序一般分為兩種:一種是只發現入侵者而不對其採取報復行動,另一種是同時採取報復行動。 10、將入侵消滅在萌芽狀態入侵者進行攻擊之前最常做的一件事情就是端號掃瞄,如果能夠及時發現和阻止入侵者的端號掃瞄 行為,那麼可以大大減少入侵事件的發生率。反應系統可以是一個簡單的狀態檢查包過濾器,也可以是一個復雜的入侵檢測系統或可配置的防火牆。我們可以採用諸 如Abacus Port Sentry這樣專業的工具,來監視網路介面並且與防火牆交互操作,最終達到關閉埠掃瞄攻擊的目的。當發生正在進行的埠掃瞄時,Abacus Sentry可以迅速阻止它繼續執行。但是如果配置不當,它也可能允許敵意的外部者在你的系統中安裝拒絕服務攻擊。正確地使用這個軟體將能夠有效地防止對 端號大量的並行掃瞄並且阻止所有這樣的入侵者。 11、嚴格管理好口令前面我們也曾經說到過,黑客一旦獲取具有根許可權的帳號時,就可以對系統進行任意的破壞和攻 擊,因此我們必須保護好系統的操作口令。通常用戶的口令是保存在文件/etc/passwd文件中的,盡管/etc/passwd是一個經過加密的文件, 但黑客們可以通過許多專用的搜索方法來查找口令,如果我們的口令選擇不當,就很容易被黑客搜索到。因此,我們一定要選擇一個確保不容易被搜索的口令。另外,我們最好能安裝一個口令過濾工具,並借用該工具來幫助自己檢查設置的口令是否耐得住攻擊。