以下說明假定您使用的是CentOS / RHEL或基于Ubuntu / Debian的Linux發(fā)行版。
#1:加密數(shù)據(jù)通信
所有通過網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)都可以進(jìn)行監(jiān)控。盡可能使用密碼或使用密鑰/證書加密傳輸?shù)臄?shù)據(jù)。
使用scp,ssh,rsync或sftp進(jìn)行文件傳輸。您還可以使用特殊的sshfs和保險(xiǎn)絲工具來掛載遠(yuǎn)程服務(wù)器文件系統(tǒng)或您自己的主目錄。
GnuPG允許加密和簽名您的數(shù)據(jù)和通信,具有多功能密鑰管理系統(tǒng)以及各種公共密鑰目錄的訪問模塊。
OpenVPN是一款經(jīng)濟(jì)高效,輕量級(jí)的SSL VPN。另一個(gè)選擇是嘗試使用隧道和加密的tinc在Internet上的主機(jī)或私有的不安全LAN上創(chuàng)建安全的專用網(wǎng)絡(luò)。
Lighttpd SSL(安全服務(wù)器層)https配置和安裝
Apache SSL(安全服務(wù)器層)Https(mod_ssl)配置和安裝
如何免費(fèi)配置Nginx讓我們?cè)贒ebian或Ubuntu Linux上加密SSL證書
#2:避免使用FTP,Telnet和Rlogin / Rsh服務(wù)
在大多數(shù)網(wǎng)絡(luò)配置下,用戶名,密碼,F(xiàn)TP / telnet / rsh命令和傳輸?shù)奈募梢员煌痪W(wǎng)絡(luò)上的任何人使用數(shù)據(jù)包嗅探器捕獲。解決此問題的常見方法是使用OpenSSH,SFTP或FTPS(FTP over SSL),它向FTP添加SSL或TLS加密。輸入以下yum命令刪除NIS,rsh和其他過時(shí)的服務(wù):
# yum erase xinetd ypserv tftp-server telnet-server rsh-server
如果您使用的是基于Debian / Ubuntu Linux的服務(wù)器,請(qǐng)嘗試使用apt-get命令 / apt命令刪除不安全的服務(wù):
$ sudo apt-get --purge remove xinetd nis yp-tools tftpd atftpd tftpd-hpa telnetd rsh-server rsh-redone-server
#3:盡量減少軟件以減少漏洞
你真的需要安裝各種網(wǎng)絡(luò)服務(wù)嗎?避免安裝不必要的軟件以避免軟件中的漏洞。使用RPM軟件包管理器(例如yum或apt-get和/或dpkg)查看系統(tǒng)上已安裝的所有軟件包集。刪除所有不需要的軟件包。要么
# yum list installed
# yum list packageName
# yum remove packageName
# dpkg --list
# dpkg --info packageName
# apt-get remove packageName
#4:每個(gè)系統(tǒng)或VM實(shí)例一個(gè)網(wǎng)絡(luò)服務(wù)
在不同的服務(wù)器或VM實(shí)例上運(yùn)行不同的網(wǎng)絡(luò)服務(wù)。這限制了可能受到威脅的其他服務(wù)的數(shù)量。例如,如果攻擊者能夠成功利用諸如Apache流等軟件,他或她將能夠訪問整個(gè)服務(wù)器,包括其他服務(wù),如MySQL / MariaDB / PGSql,電子郵件服務(wù)器等。了解更多信息,請(qǐng)參閱如何安裝虛擬化軟件:
在CentOS Linux 5上安裝和設(shè)置XEN虛擬化軟件
如何在RHEL / CentOS Linux下安裝OpenVZ
#5:保持Linux內(nèi)核和軟件最新
應(yīng)用安全補(bǔ)丁是維護(hù)Linux服務(wù)器的重要部分。Linux提供了所有必要的工具來保持系統(tǒng)更新,并且可以輕松升級(jí)版本。應(yīng)盡快審查和應(yīng)用所有安全更新。再次使用RPM軟件包管理器(例如yum和/或apt-get和/或dpkg)來應(yīng)用所有安全更新。
# yum update
或者
# apt-get update && apt-get upgrade
您可以配置Red Hat / CentOS / Fedora Linux 通過電子郵件發(fā)送yum軟件包更新通知。另一種選擇是通過cron作業(yè)應(yīng)用所有安全更新。在Debian / Ubuntu Linux下,您可以使用apticron發(fā)送安全通知。也是可以使用apt-get命令 / apt命令配置Debian / Ubuntu Linux服務(wù)器的無人值守升級(jí):
$ sudo apt-get install unattended-upgrades apt-listchanges bsd-mailx
#6:使用Linux安全擴(kuò)展
Linux附帶了各種安全補(bǔ)丁,可用于防止錯(cuò)誤配置或妥協(xié)的程序。如果可能,請(qǐng)使用SELinux和其他Linux安全擴(kuò)展來強(qiáng)制限制網(wǎng)絡(luò)和其他程序。例如,SELinux為L(zhǎng)inux內(nèi)核提供了各種安全策略。
#7:SELinux
我強(qiáng)烈建議使用SELinux,它提供了一個(gè)靈活的強(qiáng)制訪問控制(MAC)。在標(biāo)準(zhǔn)Linux自主訪問控制(DAC)下,作為用戶(UID或SUID)運(yùn)行的應(yīng)用程序或進(jìn)程具有用戶對(duì)諸如文件,套接字和其他進(jìn)程的對(duì)象的權(quán)限。運(yùn)行MAC內(nèi)核可保護(hù)系統(tǒng)免受惡意或有缺陷的應(yīng)用程序的破壞或破壞系統(tǒng)。請(qǐng)參閱說明SELinux配置的官方Redhat文檔。
#8:用戶帳戶和強(qiáng)密碼策略
使用useradd / usermod命令來創(chuàng)建和維護(hù)用戶帳戶。確保你有一個(gè)好的和強(qiáng)大的密碼政策。例如,一個(gè)好的密碼至少包含8個(gè)字符,并且包含字母,數(shù)字,特殊字符,上下字母等。最重要的是選擇一個(gè)您可以記住的密碼。使用諸如“ John the ripper ”之類的工具來查找服務(wù)器上的弱用戶密碼。配置pam_cracklib.so以強(qiáng)制執(zhí)行密碼策略。
#9:密碼老化
該CHAGE命令更改的天密碼更改和上次更改密碼的日期之間的數(shù)字。系統(tǒng)使用此信息來確定用戶何時(shí)必須更改其密碼。所述/etc/login.defs中文件定義了陰影密碼套件,包括密碼老化配置特定于站點(diǎn)的配置。要禁用密碼老化,請(qǐng)輸入:
# chage -M 99999 userName
要獲取密碼過期信息,請(qǐng)輸入:
# chage -l userName
最后,還可以在以下字段中編輯/ etc / shadow文件:
{用戶名}:{密碼}:{lastpasswdchanged}:{MINIMUM_DAYS}:{Maximum_days}:{警告}:{無效}:{過期}:
哪里,
Minimum_days:密碼更改之間所需的最少天數(shù),即允許用戶更改其密碼之前剩余的天數(shù)。
Maximum_days:密碼有效的最大天數(shù)(在該用戶被強(qiáng)制更改其密碼之后)。
警告:密碼到期前的天數(shù)警告用戶必須更改其密碼。
有效期:1970年1月1日以來該帳戶被禁用的天數(shù),即絕對(duì)日期,指定登錄可能不再使用的日期。
我推薦chage命令而不是手工編輯/ etc / shadow文件:
# chage -M 60 -m 7 -W 7 userName
推薦閱讀:
Linux:強(qiáng)制用戶在首次登錄時(shí)更改其密碼
Linux打開/關(guān)閉密碼過期/老化
鎖定用戶密碼
搜索沒有密碼的所有帳戶并鎖定它們
使用Linux組來增強(qiáng)安全性
#10:限制使用以前的密碼
您可以防止所有用戶在Linux下使用或重復(fù)使用相同的舊密碼。該pam_unix模塊中的參數(shù)記可以用來配置不能再用以前的密碼的數(shù)量。
#11:登錄失敗后鎖定用戶帳戶
在Linux下,您可以使用faillog命令顯示faillog記錄或設(shè)置登錄失敗限制。faillog從/ var / log / faillog數(shù)據(jù)庫/日志文件中格式化失敗日志的內(nèi)容。它還可以用于維護(hù)失敗計(jì)數(shù)器和限制。要查看失敗的登錄嘗試,請(qǐng)輸入:
faillog
要在登錄失敗后解鎖帳戶,請(qǐng)運(yùn)行:
faillog -r -u userName
請(qǐng)注意,您可以使用passwd命令鎖定和解鎖帳戶:
# lock account
passwd -l userName
# unlocak account
passwd -u userName
#12:如何確認(rèn)沒有帳戶有空密碼?
輸入以下命令
# awk -F: '($2 == "") {print}' /etc/shadow
鎖定所有空密碼帳戶:
# passwd -l accountName
#13:確保沒有非根帳戶將UID設(shè)置為0
只有root帳戶具有UID 0,具有訪問系統(tǒng)的完全權(quán)限。鍵入以下命令以顯示UID設(shè)置為0的所有帳戶:
# awk -F: '($3 == "0") {print}' /etc/passwd
您應(yīng)該只看到一行,如下所示:
根:X:0:0:根:/根:/斌/慶典
如果您看到其他行,請(qǐng)刪除它們或確保其他帳戶由您授權(quán)使用UID 0。
#14:禁用root登錄
永遠(yuǎn)不要以root用戶身份登錄。您應(yīng)該在需要時(shí)使用sudo執(zhí)行根級(jí)命令。sudo確實(shí)可以大大增強(qiáng)系統(tǒng)的安全性,而不會(huì)與其他用戶和管理員共享root密碼。sudo也提供簡(jiǎn)單的審計(jì)和跟蹤功能。
#15:物理服務(wù)器安全
您必須保護(hù)Linux服務(wù)器物理控制臺(tái)訪問。配置BIOS并禁用從外部設(shè)備(如DVD / CD / USB筆)啟動(dòng)。設(shè)置BIOS和grub 啟動(dòng)加載器密碼以保護(hù)這些設(shè)置。所有生產(chǎn)箱必須鎖定在IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)中,并且所有人員在訪問您的服務(wù)器之前都必須通過某種安全檢查。也可以看看:
保護(hù)Linux服務(wù)器物理控制臺(tái)訪問的9個(gè)提示。
#16:禁用不需要的服務(wù)
禁用所有不必要的服務(wù)和守護(hù)進(jìn)程(在后臺(tái)運(yùn)行的服務(wù))。您需要從系統(tǒng)啟動(dòng)中刪除所有不需要的服務(wù)。鍵入以下命令以列出在運(yùn)行級(jí)別#3中引導(dǎo)時(shí)啟動(dòng)的所有服務(wù):
# chkconfig --list | grep '3:on'
要禁用服務(wù),請(qǐng)輸入:
# service serviceName stop
# chkconfig serviceName off
#17:查找偵聽網(wǎng)絡(luò)端口
使用以下命令列出所有打開的端口和關(guān)聯(lián)的程序:
netstat -tulpn
或按以下方式使用ss命令:
$ ss -tulpn
或
nmap -sT -O localhost
nmap -sT -O server.example.com
系統(tǒng)/網(wǎng)絡(luò)管理員提供32個(gè)Nmap命令示例以獲取更多信息。使用iptables關(guān)閉開放端口或使用上述服務(wù)和chkconfig命令停止所有不需要的網(wǎng)絡(luò)服務(wù)。
在Redhat Enterprise / CentOS Linux上使用update-rc.d命令。
Ubuntu / Debian Linux:用于啟動(dòng)/停止系統(tǒng)服務(wù)的服務(wù)配置工具。
使用netstat命令獲取有關(guān)特定IP地址連接的詳細(xì)信息。
#18:刪除X Windows
X服務(wù)器上的Windows不是必需的。沒有理由在專用郵件和Apache Web服務(wù)器上運(yùn)行X Windows。您可以禁用和刪除X Windows以提高服務(wù)器的安全性和性能。編輯/ etc / inittab并將運(yùn)行級(jí)別設(shè)置為3.最后,刪除X Windows系統(tǒng),輸入:在CentOS 7 / RHEL 7服務(wù)器上,使用以下命令:
# yum groupremove "X Window System"
# yum group remove "GNOME Desktop"
# yum group remove "KDE Plasma Workspaces"
# yum group remove "Server with GUI"
# yum group remove "MATE Desktop"
#19:配置Iptables和TCPWrappers
Iptables是一個(gè)用戶空間應(yīng)用程序,允許您配置Linux內(nèi)核提供的防火墻(Netfilter)。使用防火墻過濾流量并只允許必要的流量。還可以使用基于主機(jī)的網(wǎng)絡(luò)ACL系統(tǒng)TCPWrappers過濾網(wǎng)絡(luò)對(duì)Internet的訪問。借助Iptables,您可以防止許多拒絕服務(wù)攻擊:
如何在Ubuntu 16.04 LTS服務(wù)器上設(shè)置UFW防火墻
Linux:20個(gè)Iptables示例用于新系統(tǒng)管理員
CentOS / Redhat Iptables防火墻配置教程
Lighttpd流量調(diào)整:每個(gè)IP的油門連接(速率限制)
如何:Linux Iptables阻止常見攻擊。
psad:Linux實(shí)時(shí)檢測(cè)并阻止端口掃描攻擊。
在CentOS / RHEL或基于Ubuntu / Debian Linux的服務(wù)器上使用shorewall來保護(hù)您的系統(tǒng)。
#20:Linux Kernel /etc/sysctl.conf強(qiáng)化
/etc/sysctl.conf文件用于在運(yùn)行時(shí)配置內(nèi)核參數(shù)。Linux在啟動(dòng)時(shí)從/etc/sysctl.conf讀取并應(yīng)用設(shè)置。示例/etc/sysctl.conf:
#打開execshield
kernel.exec屏蔽= 1
kernel.randomize_va_space = 1
#啟用IP欺騙保護(hù)
net.ipv4.conf.all.rp_filter = 1
#禁止IP源路由
net.ipv4.conf.all.accept_source_route = 0
#忽略廣播請(qǐng)求
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_messages = 1
#確保欺騙數(shù)據(jù)包被記錄
net.ipv4.conf.all.log_martians = 1
#21:分離磁盤分區(qū)
從用戶文件中分離操作系統(tǒng)文件可能會(huì)導(dǎo)致更好和更安全的系統(tǒng)。確保以下文件系統(tǒng)安裝在單獨(dú)的分區(qū)上:
在/ usr
/家
/ var和/ var / tmp
/ tmp目錄
為Apache和FTP服務(wù)器根目錄創(chuàng)建單獨(dú)的分區(qū)。編輯/ etc / fstab文件并確保添加以下配置選項(xiàng):
noexec - 不要在該分區(qū)上設(shè)置任何二進(jìn)制文件的執(zhí)行(防止執(zhí)行二進(jìn)制文件,但允許腳本)。
nodev - 不允許此分區(qū)上的字符或特殊設(shè)備(防止使用設(shè)備文件,如零,sda等)。
nosuid - 不要在此分區(qū)上設(shè)置SUID / SGID訪問權(quán)限(防止setuid位)。
將/ etc / fstab條目示例以限制/ dev / sda5(ftp服務(wù)器根目錄)上的用戶訪問權(quán)限:
/ dev / sda5 / ftpdata ext3默認(rèn)值,nosuid,nodev,noexec 1 2
#22:磁盤配額
確保為所有用戶啟用磁盤配額。要實(shí)施磁盤配額,請(qǐng)使用以下步驟:
通過修改/ etc / fstab文件來啟用每個(gè)文件系統(tǒng)的配額。
重新安裝文件系統(tǒng)。
創(chuàng)建配額數(shù)據(jù)庫文件并生成磁盤使用情況表。
分配配額策略。
有關(guān)詳細(xì)信息,請(qǐng)參閱實(shí)施磁盤配額教程。
#23:關(guān)閉IPv6
Internet協(xié)議版本6(IPv6)提供了替代Internet協(xié)議版本4(IPv4)的TCP / IP協(xié)議套件的新Internet層,并提供了許多優(yōu)點(diǎn)。如果您不使用IPv6,則禁用它:
RedHat / Centos禁用IPv6網(wǎng)絡(luò)。
Debian / Ubuntu和其他Linux發(fā)行版禁用IPv6網(wǎng)絡(luò)。
Linux IPv6 Howto - 第19章。安全性。
Linux的IPv6的防火墻的配置和腳本,并可以在這里找到。
#24:禁用不需要的SUID和SGID二進(jìn)制文件
當(dāng)SUID / SGID可執(zhí)行文件存在安全問題或錯(cuò)誤時(shí),所有SUID / SGID位啟用文件都可能被濫用。所有本地或遠(yuǎn)程用戶都可以使用此文件。找到所有這樣的文件是個(gè)好主意。使用find命令如下:您需要調(diào)查每個(gè)報(bào)告的文件。請(qǐng)參閱報(bào)告的文件手冊(cè)頁獲取更多詳細(xì)信
#See all set user id files:
find / -perm +4000
# See all group id files
find / -perm +2000
# Or combine both in a single command
find / \( -perm -4000 -o -perm -2000 \) -print
find / -path -prune -o -type f -perm +6000 -ls
#25:世界可寫入的文件
任何人都可以修改導(dǎo)致安全問題的世界可寫文件。使用以下命令來查找所有世界可寫和粘滯位設(shè)置文件:
find /dir -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print
您需要調(diào)查每個(gè)報(bào)告的文件,并設(shè)置正確的用戶和組權(quán)限或?qū)⑵鋭h除。
#26:Noowner文件
不屬于任何用戶或組的文件可能會(huì)造成安全問題。只需使用以下不屬于有效用戶和有效組的命令查找它們
find /dir -xdev \( -nouser -o -nogroup \) -print
您需要調(diào)查每個(gè)報(bào)告的文件,并將其分配給適當(dāng)?shù)挠脩艉徒M,或?qū)⑵鋭h除。
#27:使用集中認(rèn)證服務(wù)
如果沒有集中的身份驗(yàn)證系統(tǒng),用戶身份驗(yàn)證數(shù)據(jù)就會(huì)變得不一致,這可能會(huì)導(dǎo)致過時(shí)的憑證和被遺忘的賬戶,這些賬戶應(yīng)該首先被刪除。集中式身份驗(yàn)證服務(wù)允許您維護(hù)對(duì)Linux / UNIX帳戶和身份驗(yàn)證數(shù)據(jù)的集中控制。您可以保持服務(wù)器之間的身份驗(yàn)證數(shù)據(jù)同步。不要使用NIS服務(wù)進(jìn)行集中身份驗(yàn)證。使用OpenLDAP作為客戶端和服務(wù)器。
#28:Kerberos
在假設(shè)可以讀取,修改和插入沿不安全網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)包的情況下,Kerberos通過使用加密共享機(jī)密來執(zhí)行身份驗(yàn)證,作為受信任的第三方身份驗(yàn)證服務(wù)。Kerberos基于對(duì)稱密鑰加密技術(shù),需要密鑰分發(fā)中心。您可以使用Kerberos進(jìn)行遠(yuǎn)程登錄,遠(yuǎn)程復(fù)制,安全跨系統(tǒng)文件復(fù)制和其他高風(fēng)險(xiǎn)任務(wù),從而更安全,更可控。因此,當(dāng)用戶使用Kerberos對(duì)網(wǎng)絡(luò)服務(wù)進(jìn)行身份驗(yàn)證時(shí),試圖通過監(jiān)控網(wǎng)絡(luò)流量收集密碼的未經(jīng)授權(quán)的用戶將受到有效阻止。了解如何設(shè)置和使用Kerberos。
#29:記錄和審計(jì)
您需要配置日志記錄和審計(jì)來收集所有黑客攻擊和破解嘗試。默認(rèn)情況下,syslog將數(shù)據(jù)存儲(chǔ)在/ var / log /目錄中。這對(duì)于發(fā)現(xiàn)軟件配置錯(cuò)誤也很有用,這可能會(huì)使您的系統(tǒng)受到各種攻擊。請(qǐng)參閱以下與日志相關(guān)的文章:
Linux日志文件位置。
如何將日志發(fā)送到遠(yuǎn)程日志主機(jī)。
我如何旋轉(zhuǎn)日志文件?。
man頁面syslogd,syslog.conf和logrotate。
#30:使用Logwatch / Logcheck監(jiān)控可疑日志消息
使用logwatch命令(logcheck)讀取日志。這些工具使您的日志閱讀生活更輕松。您可以通過電子郵件獲得系統(tǒng)日志中異常項(xiàng)目的詳細(xì)報(bào)告。示例系統(tǒng)日志報(bào)告:
################### Logwatch 7.3(03/24/06)####################
處理啟動(dòng):周五10月30日04:02:03 2009
處理日期范圍:昨天
(2009年10月29日)
時(shí)間是一天。
詳細(xì)輸出級(jí)別:0
輸出類型:無格式
主機(jī)的日志文件:www-52.nixcraft.net.in
################################################## ################
---------------------命名開始------------------------
**無與倫比的參賽作品**
一般:信息:區(qū)域XXXXXX.com/IN:傳送開始。:3時(shí)間(s)
一般:信息:區(qū)XXXXXX.com/IN:刷新:超過主ttttttttttttttttttt#53的重試限制(源::#0):3時(shí)間(s)
一般:信息:區(qū)域XXXXXX.com/IN:開始轉(zhuǎn)移。:4時(shí)間(s)
一般:信息:區(qū)XXXXXX.com/IN:刷新:超過主ttttttttttttttttttt#53的重試限制(來源::#0):4時(shí)間(s)
----------------------命名結(jié)束-------------------------
--------------------- iptables防火墻開始------------------------
在接口eth0上記錄了87個(gè)數(shù)據(jù)包
從58.y.xxx.tw - 1數(shù)據(jù)包到tcp(8080)
從59.www.zzz.yyy - 1包到tcp(22)
從60.32.nnn.yyy - 2個(gè)數(shù)據(jù)包到tcp(45633)
從222.xxx.ttt.zz - 5個(gè)數(shù)據(jù)包到tcp(8000,8080,8800)
---------------------- iptables防火墻結(jié)束-------------------------
--------------------- SSHD開始------------------------
通過sshd登錄的用戶:
根:
123.xxx.ttt.zzz:6次
---------------------- SSHD結(jié)束-------------------------
---------------------磁盤空間開始------------------------
使用的文件系統(tǒng)大小可用使用%
/ dev / sda3 450G 185G 241G 44%/
/ dev / sda1 99M 35M 60M 37%/ boot
----------------------磁盤空間結(jié)束-------------------------
###################### Logwatch End #########################
#31:系統(tǒng)會(huì)計(jì)與審計(jì)
審計(jì)是為系統(tǒng)審計(jì)提供的。它負(fù)責(zé)將審計(jì)記錄寫入磁盤。在啟動(dòng)過程中,這個(gè)守護(hù)進(jìn)程讀取/etc/audit.rules中的規(guī)則。您可以打開/etc/audit.rules文件并進(jìn)行更改,如安裝審核文件日志位置和其他選項(xiàng)。通過auditd,您可以回答以下問題:
系統(tǒng)啟動(dòng)和關(guān)閉事件(重新啟動(dòng)/暫停)。
活動(dòng)的日期和時(shí)間。
用戶可以重新定位事件(例如試圖訪問/path/to/topsecret.dat文件)。
事件類型(編輯,訪問,刪除,寫入,更新文件和命令)。
事件的成功或失敗。
記錄修改日期和時(shí)間的事件。
了解誰進(jìn)行了更改以修改系統(tǒng)的網(wǎng)絡(luò)設(shè)置。
記錄修改用戶/組信息的事件。
查看誰對(duì)文件進(jìn)行了更改等。
請(qǐng)參閱我們的快速教程,其中介紹了如何啟用和使用auditd服務(wù)。
#32:保護(hù)OpenSSH服務(wù)器
建議使用SSH協(xié)議進(jìn)行遠(yuǎn)程登錄和遠(yuǎn)程文件傳輸。但是,ssh對(duì)許多攻擊都是開放的。了解如何保護(hù)OpenSSH服務(wù)器:
前20名OpenSSH服務(wù)器最佳安全實(shí)踐。
使用雙因素Google身份驗(yàn)證程序保護(hù)您的Linux桌面和SSH登錄。
#33:安裝和使用入侵檢測(cè)系統(tǒng)
網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)(NIDS)是一種入侵檢測(cè)系統(tǒng),它試圖檢測(cè)諸如拒絕服務(wù)攻擊,端口掃描等惡意活動(dòng),甚至通過監(jiān)視網(wǎng)絡(luò)流量來破解計(jì)算機(jī)。
在系統(tǒng)在生產(chǎn)環(huán)境中聯(lián)機(jī)之前部署任何完整性檢查軟件是一種很好的做法。如果可能,請(qǐng)?jiān)谙到y(tǒng)連接到任何網(wǎng)絡(luò)之前安裝AIDE軟件。AIDE是一個(gè)基于主機(jī)的入侵檢測(cè)系統(tǒng)(HIDS),它可以監(jiān)控和分析計(jì)算系統(tǒng)的內(nèi)部結(jié)構(gòu)。我建議您也安裝并使用rkhunter root工具包檢測(cè)軟件。
#34:禁用USB / firewire / thunderbolt設(shè)備
輸入以下命令以禁用Linux系統(tǒng)上的USB設(shè)備:
# echo 'install usb-storage /bin/true' >> /etc/modprobe.d/disable-usb-storage.conf
您可以使用相同的方法禁用Firewire和Thunderbolt模塊:完成后,用戶無法將敏感數(shù)據(jù)快速復(fù)制到USB設(shè)備,或者在基于Linux的系統(tǒng)上安裝惡意軟件/病毒或后門程序。
# echo "blacklist firewire-core" >> /etc/modprobe.d/firewire.conf
# echo "blacklist thunderbolt" >> /etc/modprobe.d/thunderbolt.conf
#35:禁用未使用的服務(wù)
您可以使用service command / systemctl命令禁用未使用的服務(wù):例如,如果您暫時(shí)不打算使用Nginx服務(wù)禁用它:
$ sudo systemctl stop service
$ sudo systemctl disable service
$ sudo systemctl stop nginx
$ sudo systemctl disable nginx
#36:使用fail2ban / denyhost作為IDS(安裝入侵檢測(cè)系統(tǒng))
Fail2ban或denyhost會(huì)掃描日志文件以查找太多失敗的登錄嘗試,并阻止顯示惡意標(biāo)志的IP地址。了解如何安裝和使用Linux的denyhost?梢暂p松安裝fail2ban:
$ sudo apt-get install fail2ban
或
$ sudo yum install fail2ban
根據(jù)需要編輯配置文件:
$ sudo vi /etc/fail2ban/jail.conf
重新啟動(dòng)服務(wù):
$ sudo systemctl restart fail2ban.service
Debian / Ubuntu Linux安裝高級(jí)入侵檢測(cè)環(huán)境(AIDE)軟件
psad:Linux實(shí)時(shí)檢測(cè)并阻止端口掃描攻擊
#37:安全的Apache / PHP / Nginx服務(wù)器
編輯httpd.conf文件并添加以下內(nèi)容:
ServerTokens Prod
服務(wù)器簽名關(guān)閉
TraceEnable關(guān)閉
選項(xiàng)全部 - 索引
標(biāo)題始終未設(shè)置X-Powered-By
在Linux上重新啟動(dòng)httpd / apache2服務(wù)器,運(yùn)行:
$ sudo systemctl restart apache2.service
或者
$ sudo systemctl restart httpd.service
您必須在RHEL / CentOS服務(wù)器上安裝并啟用mod_security。它建議您修改php.ini并保證過它。
前25名Nginx Web服務(wù)器最佳安全實(shí)踐
如何分析Nginx配置文件在Linux或Unix上的安全配置錯(cuò)誤
#38:保護(hù)文件,目錄和電子郵件
Linux為未經(jīng)授權(quán)的數(shù)據(jù)訪問提供了出色的保護(hù)。文件 權(quán)限和MAC防止未經(jīng)授權(quán)的訪問訪問數(shù)據(jù)。但是,如果攻擊者能夠物理訪問計(jì)算機(jī),并且只需將計(jì)算機(jī)的硬盤驅(qū)動(dòng)器移動(dòng)到其他系統(tǒng)以復(fù)制和分析敏感數(shù)據(jù),則Linux設(shè)置的權(quán)限就無關(guān)緊要。您可以使用以下工具輕松保護(hù)Linux下的文件和部分:
要使用密碼加密和解密文件,請(qǐng)使用gpg命令。
Linux或UNIX密碼使用openssl和其他工具保護(hù)文件。
全盤加密是保護(hù)數(shù)據(jù)的必備條件,并且受到大多數(shù)Linux發(fā)行版的支持。了解如何使用Linux上的LUKS加密硬盤。確保交換也被加密。需要密碼才能編輯引導(dǎo)加載程序。
確保將根郵件轉(zhuǎn)發(fā)到您檢查的帳戶。
Howto:Linux移動(dòng)設(shè)備中的磁盤和分區(qū)加密。
Linux使用SSL配置保護(hù)Dovecot IMAPS / POP3S服務(wù)器。
Linux Postfix SMTP(郵件服務(wù)器)SSL證書安裝和配置。
快遞IMAP SSL服務(wù)器證書安裝和配置。
配置Sendmail SSL加密以發(fā)送和接收電子郵件。
#39。備份
對(duì)于對(duì)Linux系統(tǒng)進(jìn)行備份是非常重要的。正確的非現(xiàn)場(chǎng)備份允許您從破解的服務(wù)器中恢復(fù),即入侵。傳統(tǒng)的UNIX備份程序也是推薦的轉(zhuǎn)儲(chǔ)和恢復(fù)。您必須將加密備份設(shè)置為NAS服務(wù)器或FreeNAS服務(wù)器等外部存儲(chǔ)或使用AWS等云計(jì)算服務(wù):
Debian / Ubuntu Linux使用rsnapshot增量備份實(shí)用程序安裝和配置遠(yuǎn)程文件系統(tǒng)快照
如何設(shè)置紅帽/ CentOS Linux遠(yuǎn)程備份/快照服務(wù)器
如何備份Web服務(wù)器
如何在Linux下使用rsync命令備份目錄
#40。其他建議:
如何在基于Linux的服務(wù)器上查找Rootkits。
如何在基于Linux的服務(wù)器上啟用ExecShield緩沖區(qū)溢出保護(hù)。
EUD安全指導(dǎo):Ubuntu 16.04 LTS
保護(hù)RHEL的指南7
SELINUX的基本和高級(jí)配置
訂閱Redhat或Debian Linux安全郵件列表或RSS提要。