大家都認為Linux 默認是安全的,我大體是認可的(這是個有爭議的話題)。Linux默認確實有內(nèi)置的安全模型。你需要打開它并且對其進行定制,這樣才能得到更安全的系統(tǒng)。Linux更難管理,不過相應也更靈活,有更多的配置選項。
對于系統(tǒng)管理員而言,讓產(chǎn)品的系統(tǒng)更安全,免于駭客和黑客的攻擊,一直是一項挑戰(zhàn)。本文將介紹25個有用的技巧和竅門 ,幫助你讓Linux系統(tǒng)更加安全。希望下面的這些技巧和竅門可以幫助你加強你的系統(tǒng)的安全。
1. 物理系統(tǒng)的安全性
配置BIOS,禁用從CD/DVD、外部設備、軟驅(qū)啟動。下一步,啟用BIOS密碼,同時啟用GRUB的密碼保護,這樣可以限制對系統(tǒng)的物理訪問。
2. 磁盤分區(qū)
使用不同的分區(qū)很重要,對于可能得災難,這可以保證更高的數(shù)據(jù)安全性。通過劃分不同的分區(qū),數(shù)據(jù)可以進行分組并隔離開來。當意外發(fā)生時,只有出問題 的分區(qū)的數(shù)據(jù)才會被破壞,其他分區(qū)的數(shù)據(jù)可以保留下來。你最好有以下的分區(qū),并且第三方程序最好安裝在單獨的文件系統(tǒng)/opt下。
/
/boot
/usr
/var
/home
/tmp
/opt
3. 最小包安裝,最少漏洞
你真的需要安裝所有的服務么?建議不要安裝無用的包,避免由這些包帶來的漏洞。這將最小化風險,因為一個服務的漏洞可能會危害到其他的服務。找到并去除或者停止不用的服務,把系統(tǒng)漏洞減少到最小。使用‘chkconfig’命令列出運行級別3的運行所有服務。
# /sbin/chkconfig --list |grep '3:on'
當你發(fā)現(xiàn)一個不需要的服務在運行時,使用下面的命令停止這個服務。
# chkconfig serviceName off
使用RPM包管理器,例如YUM或者apt-get 工具來列出所有安裝的包,并且利用下的命令來卸載他們。
# yum -y remove package-name
# sudo apt-get remove package-name
4. 檢查網(wǎng)絡監(jiān)聽端口
在網(wǎng)絡命令‘netstat’的幫助下,你將能夠看到所有開啟的端口,以及相關的程序。使用我上面提到的‘chkconfig’命令關閉系統(tǒng)中不想要的網(wǎng)絡服務。
# netstat -tulpn
5. 使用 SSH(Secure Shell)
Telnet 和 rlogin 協(xié)議只能用于純文本,不能使用加密的格式,這或?qū)е掳踩┒吹漠a(chǎn)生。SSH 是一種在客戶端與服務器端通訊時使用加密技術的安全協(xié)議。
除非必要,永遠都不要直接登錄 root 賬戶。使用 “sudo” 執(zhí)行命令。sudo 由 /etc/sudoers 文件制定,同時也可以使用 “visudo”工具編輯,它將通過 VI 編輯器打開配置文件。
同時,建議將默認的 SSH 22 端口號改為其他更高的端口號。打開主要的 SSH 配置文件并做如下修改,以限制用戶訪問。
# vi /etc/ssh/sshd_config
關閉 root 用戶登錄
PermitRootLogin no
特定用戶通過
AllowUsers username
使用第二版 SSH 協(xié)議
Protocol 2
6. 保證系統(tǒng)是最新的
得一直保證系統(tǒng)包含了最新版本的補丁、安全修復和可用內(nèi)核。
# yum updates
# yum check-update
7. 鎖定 Cron任務
Cron有它自己內(nèi)建的特性,這特性允許定義哪些人能哪些人不能跑任務。這是通過兩個文件/etc/cron.allow 和 /etc /cron.deny 控制的。要鎖定在用Cron的用戶時可以簡單的將其名字寫到corn.deny里,而要允許用戶跑cron時將其名字加到 cron.allow即可。如果你要禁止所有用戶使用corn,那么可以將“ALL”作為一行加到cron.deny里。
# echo ALL >>/etc/cron.deny
8. 禁止USB探測
很多情況下我們想去限制用戶使用USB,來保障系統(tǒng)安全和數(shù)據(jù)的泄露。建立一個文件‘/etc/modprobe.d/no-usb’并且利用下面的命令來禁止探測USB存儲。
install usb-storage /bin/true
9.打開SELinux
SELinux(安全增強linux)是linux內(nèi)核提供的一個強制的訪問控制安全機制。禁用SELinux意味著系統(tǒng)丟掉了安全機制。要去除SELinux之前仔細考慮下,如果你的系統(tǒng)需要發(fā)布到網(wǎng)絡,并且要在公網(wǎng)訪問,你就要更加注意一下。
SELinux 提供了三個基本的操作模式,他們是:
強制執(zhí)行:這是默認是模式,用來啟用和強制執(zhí)行SELinux安全措略。
許可模式:這種模式下SELinux不會強制執(zhí)行安全措略,只有警告和日志記錄。這種模式在SELinux相關問題的故障排除時候非常有用。
關閉模式:SELinux被關閉。
你可以使用命令行‘system-config-selinux’, ‘getenforce’ 或 ‘sestatus’來瀏覽當前的SEliux的狀態(tài)。
# sestatus
如果是關閉模式,通過下面的命令開啟SELinux
# setenforce enforcing
你也可以通過配置文件‘/etc/selinux/config’來進行SELinux的開關操作。
10. 移除KDE或GNOME桌面