Linux Internet Server安全和配置教程(1

Linux 腳本語言 網絡安全 黑客 技術互聯網 2017-05-22

暴露於互聯網的Linux服務器的安全配置和設置:任何連接到互聯網的計算機都將需要採取步驟和預防措施來減少暴露於黑客威脅。Web,郵件和DNS服務器特別容易受到攻擊。大型操作將隱藏在CISCO防火牆的大部分保護之後。Linux服務器必須配置為網絡安全,並將其應用和服務配置為安全。本教程涵蓋了可用於監視和抵消黑客威脅的步驟和工具。簡單來說,它是安全風險管理。

Linux Internet Server安全和配置教程(1

基本安全步驟/概述:

紅帽/ CentOS:

yum check-update

  • yum update

請注意,這可以使用/etc/init.d/yum-updatesd服務(RHEL / CentOS 5)進行自動化或創建cron作業

/etc/cron.daily/yum.cron

Linux Internet Server安全和配置教程(1

Ubuntu的/ Debian的:

  • apt-get update

    (將軟件包列表更新為與該版本的操作系統相關聯的最新版本。)

  • apt-get upgrade

  • 減少暴露的網絡服務數量。這些將由/etc/rc.d/rc*.d/目錄中的腳本啟動。(請參閱/etc/init.d/中的完整服務列表)可能無需運行sendmail(郵件服務器),portmap(NFS需要的RPC偵聽器),lpd(行打印機服務器守護進程)。駭客探測我的系統這個服務一直都是這樣。),innd(新聞服務器),linuxconf等。例如,sendmail可以使用以下命令從引導進程中刪除: chkconfig --del sendmail或使用配置工具ntsysv。該服務可以使用命令/etc/rc.d/init.d/sendmail stop終止。至少應該運行命令chkconfig --list 以查看啟動後配置為可操作的進程。

  • 驗證您的配置。列出持有它們的開放端口和進程:netstat -punta(另請嘗試netstat -nlp)

  • 列出RPC服務:[root]#rpcinfo -p localhost

    理想情況下,您不會運行portmapper,因此無法使用RPC服務。關閉portmapper:service portmap stop(或:/etc/init.d/portmap stop)並將其從系統引導順序中刪除:chkconfig --del portmap (NFS需要Portmap)。

  • 匿名FTP(使用wu_ftpd - 最後一次使用RH 8.0。RH 9和FC使用vsftpd):默認情況下,Red Hat配置為匿名FTP。這允許用戶ftp到您的服務器,並使用登錄匿名登錄 ,並使用電子郵件地址作為密碼。如果要關閉此功能,請編輯/ etc / ftpaccess文件,並將更改:

    class all real,guest,anonymous *

    to

    class all real,guest *


  • 使用find命令查找漏洞 - 找到suid和guid文件(可以使用root權限執行)以及世界可寫的文件和目錄。例如:

  • find / -xdev \(-perm -4000 -o -perm -2000 \)-

    type f -print使用以下命令刪除對可執行程序的suid權限:chmod -s filename

  • 查找/ -xdev \(-nouser -o -nogroup \)-print

    查找不屬於有效用戶或組的文件。

  • 使用命令chattr 和lsattr 使敏感的安全文件不可修改超過常規權限。

  • 使文件不可修改:chattr + i / bin / ls

    使目錄不可修改:chattr -R + i / bin / sbin / boot / lib

    僅生成一個文件:chattr + a / var / log / messages

  • 使用“ tripwire ”[ sourceforge:tripwire ]進行系統的安全監控,以防未經授權的文件更改。Tripwire作為Red Hat和Ubuntu發行版的一部分提供。Tripwire配置如下。

  • 觀察你的日誌文件,特別是/ var / log / messages和 / var / log / secure。

  • 避免使用通用帳戶名稱,如訪客。

  • 使用PAM網絡包裝器配置來禁止通過破解或其他黑客程序輕鬆找到的密碼。PAM認證也可以禁止根網絡登錄訪問。(Red Hat默認配置您必須登錄作為一個普通用戶和蘇-獲得root訪問權限,這不是SSH默認且必須為如下說明。)

    見YoLinux網絡管理教程使用PAM

  • 遠程訪問不應該使用明文telnet,而是使用ssh進行加密連接。(本教程稍後)

  • Proc文件設置防禦攻擊。這包括防止IP欺騙,SYN洪水或syncookie攻擊的保護措施。

  • DDoS(分佈式拒絕服務)攻擊:您唯一可以做的是擁有帶寬和處理能力/防火牆。許多處理能力或防火牆無需使用帶寬,因為網絡可能會從分佈式攻擊中超載。

    另見:不幸的是,數據包通常是欺騙性的,在我的情況下,聯邦調查局並不關心。如果服務器是遠程服務器,則具有撥號調制解調器或第二個IP地址和路由以進行訪問,因為受到攻擊的路由被洪泛的網絡攻擊所阻止。您還可以要求您的ISP將ICMP流量降低到服務器的IP地址。(和UDP,如果您正在運行的是一個Web服務器,DNS名稱服務器使用UDP。)對於非常有趣的閱讀,請參閱GRC.com DDoS攻擊的“奇怪故事”。(非常有趣的閱讀關於黑客殭屍網絡的解剖。)

  • 關閉ICMP(看起來不可見網絡掃描)

  • 用tcpdump監視攻擊

  • 可以使用以下配置文件限制用戶訪問:

  • 在/etc/security/limits.conf

  • /etc/security/group.conf

  • /etc/security/time.conf

    • 從系統中刪除不需要的用戶。請參閱/ etc / passwd。默認情況下,Red Hat安裝有許多用戶帳戶被創建以支持各種進程。您不打算運行這些進程,刪除用戶。即刪除用戶ids 遊戲,uucp,rpc,rpcd,...

    xinetd的:

    最好是出於安全原因,您可以減少暴露的inetd網絡服務的數量。暴露的服務越多,您的漏洞越多。通過以下方式減少可通過xinet或inet守護進程訪問的網絡服務數:

    • inetd :( Red Hat 7.0及更早版本)在/etc/initd.conf文件中註釋不需要的服務。

      示例:( FTP是我運行的唯一服務)

    Linux Internet Server安全和配置教程(1

    • 重新啟動守護程序以應用更改:/etc/rc.d/init.d/inetd restart

    • xinetd :(紅帽7.1及更高版本)升級期間,所有網絡服務默認關閉。示例文件:/etc/xinetd.d/wu-ftpd:

    Linux Internet Server安全和配置教程(1

    打開/關閉xinetd服務:

    • 編輯文件:/etc/xinetd.d/ service-name

      更改為“ disable = yes ” 行將關閉xinetd服務。

      更改為“ disable = no ” 行將打開xinetd服務。

      必須為目錄/etc/xinetd.d/中的每個文件執行Xinetd 配置,以配置每個網絡服務。

      重新啟動守護程序以應用更改:/etc/rc.d/init.d/xinetd restart

    • 您還可以使用命令:

      chkconfig wu-ftpd on

      or

      chkconfig wu-ftpd off

      這將編輯適當的文件(/etc/xinetd.d/wu-ftpd)並重新啟動xinetd進程。

    提示:

    • 列出init設置,包括所有xinetd受控服務:chkconfig --list

    • 列出服務狀態(基於Red Hat / Fedora Core的系統):service --status-all

    內核配置:

    使用Linux防火牆規則來防範攻擊。(ipchains:kernel 2.6,2.4或iptables:kernel 2.2)訪問拒絕規則也可以通過portsentry實現。

    (在/etc/rc.d/rc.local的末尾放置要在系統引導時執行,或者某些其他適當的腳本)

    • iptables腳本:

    Linux Internet Server安全和配置教程(1

    ipchains script:

    Linux Internet Server安全和配置教程(1

    • 注意:

      另見:

    • YoLinux互聯網網關教程

    • 紅帽7.1防火牆GUI配置工具/ usr / sbin / gnome-lokkit

    • iptables使用鏈條規則“INPUT”,ipchains使用小寫描述符“input”。

    • 使用iptables -L或ipchains -L命令查看規則。

    • iptables手冊頁

    • 運行互聯網網絡服務器時,最好從安全角度考慮,一個不運行打印,X-Window,NFS或任何可能被利用的服務,如果發現漏洞,或者配置不符合防火牆規則的配置。

    • 使用portentry來監控網絡黑客攻擊,並動態分配防火牆規則來阻止攻擊者。(本教程稍後)

    • 單片和最小內核也可能提供一點點保護(避免木馬模塊)以及運行在較不常見的硬件(MIPS,Alpha等)上,因此緩衝區溢出指令將不會運行。)

    • 內核安全增強功能:

    • Red Hat / CentOS SELinux:國家安全局(NSA):安全性增強的Linux - 為提高安全性而改變。

      有關更多信息,請參閱YoLinux.com 系統管理員和網站配置教程。

    • Ubuntu Apparmor 社區wiki

    • 啟用ExecShield:默認情況下在Red Hat EL 5 / CentOS 5上啟用。ExecShield是一個Linux內核功能,可以保護系統免受緩衝區溢出攻擊。該功能通過隨機佈置堆棧內存,防止執行用於保存數據的內存和文本緩衝區處理來執行。可以在Red Hat / CentOS配置文件/etc/sysctl.conf中啟用ExecShield,方法是添加以下兩行:

    Linux Internet Server安全和配置教程(1

    可以檢查當前的系統配置:

    • cat / proc / sys / kernel / exec-shield

    • cat / proc / sys / kernel / randomize_va_space

    兩者均應為“1”。(系統默認)

    注意:Intel XD / AMD NX 32位x86處理器(不是x86_64可以解決更多的4Gb):通過使用PAE(物理地址擴展)內核來啟用AMD NX或Intel XD支持。訪問XD / NX位需要PAE存儲器擴展。要查看您的處理器是否支持NX或XD PAE,請使用以下命令:cat / proc / cpuinfo | grep標誌以“pae”和“nx”顯示一個字段。

    使用命令yum install kernel-PAE安裝具有PAE支持的Linux內核(2.6.8+)。引導加載程序也必須指定用於引導的PAE內核。

    BIOS也將被配置為支持它。

    該內核只能安裝在具有x86 32位處理器的系統上,該處理器可提供此支持。可以與XD / NX位進行本機交互的64位x86_64處理器不需要PAE內核。

    阻止不良IP塊的防火牆規則:

    眾所周知,存在各種惡意黑客和垃圾郵件機器人的IP地址塊。這些IP塊通常由合法的公司和組織擁有,但已陷入無監督的領域,或被劫持並出售給犯罪的垃圾郵件發送者。這些IP塊應該被防火牆規則阻止。

    有各種友好的服務,尋找和發現這些IP塊到防火牆和拒絕,他們與我們分享這些信息。謝謝!

    Spamhaus下拉列表:這是一個腳本,用於下載總下載列表,並生成一個iptables過濾器腳本來阻止這些IP地址:





    Linux Internet Server安全和配置教程(1

    要阻止IP地址,只需在每個服務器上執行腳本:./Spamhaus-drop.lasso.sh

    至少這些IP地址塊應該被所有服務器拒絕。

    阻止或允許按國家/地區:可以拒絕特定國家/地區的訪問,或僅允許某些國家訪問您的服務器。

    查看這些網站以生成列表:

    • IpInfoDb.com - 生成Apache htaccess或iptables規則

    • 國家IP阻止列表生成器

    • IpDeny.com:CIDR列表

    阻止論壇和評論列表垃圾郵件發送者:使用由StopForumSpam.com運行的蜜罐生成的列表

    Linux Internet Server安全和配置教程(1

    要阻止IP地址只需執行腳本:./Stopforumspam-listed_ip_30.sh

    請注意,這是一個非常長的列表,可能需要幾個小時才能運行。它也是一個迅速變化的列表,不斷更新。

    [潛在的陷阱]:您可能會收到以下錯誤:

    Linux Internet Server安全和配置教程(1

    我發現通過減慢腳本的執行,我可以避免這個錯誤。我添加了一個bash echo來將每行寫入屏幕,它的表現要好得多,儘管也要慢一些。

    Linux Internet Server安全和配置教程(1

    Apache Web服務器:

    Apache模塊:關閉您不會使用的模塊。過去的ssl漏洞,使用這種哲學的人沒有被燒燬。

    • Red Hat EL 5 / CentOS 5 Apache 2.2:配置文件/etc/httpd/conf.d/ssl.conf 默認啟用SSL。此文件是從線撿起包括conf.d / *。的conf 文件中/etc/httpd/conf/httpd.conf中 重命名文件/etc/httpd/conf.d/ssl.conf到 ssl.conf_OFF轉關閉SSL(以“.conf”結尾的所有文件都包含在Web服務器配置中)。

    • Ubuntu 8.04:a2dismod ssl

      這將禁用加載SSL。默認情況下,Ubuntu發行版使用了相當節省的模塊。

      默認配置已關閉SSL。

    • Apache 1.3.x配置文件/etc/httpd/conf/httpd.conf

    Linux Internet Server安全和配置教程(1

    • 通過在第一列中放置“#”,註釋掉ssl模塊的用法。

    • 還可以使用防火牆規則阻止HTTPS端口443:

    Linux Internet Server安全和配置教程(1

    Apache版本曝光:(版本1.3+)不允許黑客通過引發錯誤以及自動服務器響應來了解您正在運行的哪個版本的Web服務器軟件。攻擊通常是版本特定的。垃圾郵件發送者也會觸發錯誤找到電子郵件地址。

    Linux Internet Server安全和配置教程(1

    • 如果您使用Web服務器作為另一個的代理,響應可能是無意義的。

    • 阻止黑客和不會使用您的網站的國家。使用Apache指令Deny從阻止訪問。

    Linux Internet Server安全和配置教程(1

    下期:Linux Internet Server安全和配置教程(2)

    PS。如果您喜歡這篇文章,請使用分享按鈕在社交網絡上與朋友分享,或者僅在下面留下回復。謝謝。

    相關推薦

    推薦中...