主頁 > 知識庫 > 為大家詳細介紹25個Linux 服務(wù)器安全小技巧

為大家詳細介紹25個Linux 服務(wù)器安全小技巧

熱門標(biāo)簽:凱立德劇院地圖標(biāo)注 內(nèi)蒙古電信外呼系統(tǒng) 地圖標(biāo)注小區(qū)項目入駐 漳州外呼系統(tǒng)怎么樣 開封400電話辦理價格 4s店如何在百度地圖標(biāo)注 天津人工電銷機器人費用 哪個地圖標(biāo)注更清晰 曲阜地圖標(biāo)注app

大家都認為Linux 默認是安全的,我大體是認可的(這是個有爭議的話題)。Linux默認確實有內(nèi)置的安全模型。你需要打開它并且對其進行定制,這樣才能得到更安全的系統(tǒng)。Linux更難管理,不過相應(yīng)也更靈活,有更多的配置選項。

對于系統(tǒng)管理員而言,讓產(chǎn)品的系統(tǒng)更安全,免于駭客和黑客的攻擊,一直是一項挑戰(zhàn)。本文將介紹25個有用的技巧和竅門 ,幫助你讓Linux系統(tǒng)更加安全。希望下面的這些技巧和竅門可以幫助你加強你的系統(tǒng)的安全。

1. 物理系統(tǒng)的安全性

配置BIOS,禁用從CD/DVD、外部設(shè)備、軟驅(qū)啟動。下一步,啟用BIOS密碼,同時啟用GRUB的密碼保護,這樣可以限制對系統(tǒng)的物理訪問。

2. 磁盤分區(qū)

使用不同的分區(qū)很重要,對于可能得災(zāi)難,這可以保證更高的數(shù)據(jù)安全性。通過劃分不同的分區(qū),數(shù)據(jù)可以進行分組并隔離開來。當(dāng)意外發(fā)生時,只有出問題 的分區(qū)的數(shù)據(jù)才會被破壞,其他分區(qū)的數(shù)據(jù)可以保留下來。你最好有以下的分區(qū),并且第三方程序最好安裝在單獨的文件系統(tǒng)/opt下。

/

/boot

/usr

/var

/home

/tmp

/opt

3. 最小包安裝,最少漏洞

你真的需要安裝所有的服務(wù)么?建議不要安裝無用的包,避免由這些包帶來的漏洞。這將最小化風(fēng)險,因為一個服務(wù)的漏洞可能會危害到其他的服務(wù)。找到并去除或者停止不用的服務(wù),把系統(tǒng)漏洞減少到最小。使用‘chkconfig’命令列出運行級別3的運行所有服務(wù)。

# /sbin/chkconfig --list |grep '3:on'

當(dāng)你發(fā)現(xiàn)一個不需要的服務(wù)在運行時,使用下面的命令停止這個服務(wù)。

# chkconfig serviceName off

使用RPM包管理器,例如YUM或者apt-get 工具來列出所有安裝的包,并且利用下的命令來卸載他們。

# yum -y remove package-name

# sudo apt-get remove package-name

4. 檢查網(wǎng)絡(luò)監(jiān)聽端口

在網(wǎng)絡(luò)命令‘netstat’的幫助下,你將能夠看到所有開啟的端口,以及相關(guān)的程序。使用我上面提到的‘chkconfig’命令關(guān)閉系統(tǒng)中不想要的網(wǎng)絡(luò)服務(wù)。

# netstat -tulpn

5. 使用 SSH(Secure Shell)

Telnet 和 rlogin 協(xié)議只能用于純文本,不能使用加密的格式,這或?qū)?dǎo)致安全漏洞的產(chǎn)生。SSH 是一種在客戶端與服務(wù)器端通訊時使用加密技術(shù)的安全協(xié)議。

除非必要,永遠都不要直接登錄 root 賬戶。使用 “sudo” 執(zhí)行命令。sudo 由 /etc/sudoers 文件制定,同時也可以使用 “visudo”工具編輯,它將通過 VI 編輯器打開配置文件。

同時,建議將默認的 SSH 22 端口號改為其他更高的端口號。打開主要的 SSH 配置文件并做如下修改,以限制用戶訪問。

# vi /etc/ssh/sshd_config

關(guān)閉 root 用戶登錄

PermitRootLogin no

特定用戶通過

AllowUsers username

使用第二版 SSH 協(xié)議

Protocol 2

6. 保證系統(tǒng)是最新的

得一直保證系統(tǒng)包含了最新版本的補丁、安全修復(fù)和可用內(nèi)核。

# yum updates

# yum check-update

7. 鎖定 Cron任務(wù)

Cron有它自己內(nèi)建的特性,這特性允許定義哪些人能哪些人不能跑任務(wù)。這是通過兩個文件/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)絡(luò),并且要在公網(wǎng)訪問,你就要更加注意一下。

SELinux 提供了三個基本的操作模式,他們是:

強制執(zhí)行:這是默認是模式,用來啟用和強制執(zhí)行SELinux安全措略。

許可模式:這種模式下SELinux不會強制執(zhí)行安全措略,只有警告和日志記錄。這種模式在SELinux相關(guān)問題的故障排除時候非常有用。

關(guān)閉模式:SELinux被關(guān)閉。

你可以使用命令行‘system-config-selinux’, ‘getenforce’ 或 ‘sestatus’來瀏覽當(dāng)前的SEliux的狀態(tài)。

# sestatus

如果是關(guān)閉模式,通過下面的命令開啟SELinux

# setenforce enforcing

你也可以通過配置文件‘/etc/selinux/config’來進行SELinux的開關(guān)操作。

10. 移除KDE或GNOME桌面

沒必要在專用的LAMP服務(wù)器上運行X Window桌面比如KDE和GNOME??梢砸频艋蜿P(guān)閉它們,以提高系統(tǒng)安全性和性能。打開/etc/inittab然后將run level改成3就可以關(guān)閉這些桌面。如果你將它徹底的從系統(tǒng)中移走,可以用下面這個命令:

# yum groupremove "X Window System"

11. 關(guān)閉IPv6

如果不用IPv6協(xié)議,那就應(yīng)該關(guān)閉掉它,因為大部分的應(yīng)用和策略都不會用到IPv6,而且當(dāng)前它不是服務(wù)器必需的??梢栽诰W(wǎng)絡(luò)配置文件中加入如下幾行來關(guān)掉它。

# vi /etc/sysconfig/network

NETWORKING_IPV6=no

IPV6INIT=no

12. 限制用戶使用舊密碼

如果你不希望用戶繼續(xù)使用老密碼,這一條很有用。老的密碼文件位于/etc/security/opasswd。你可以使用 PAM 模塊實現(xiàn)。

RHEL / CentOS / Fedora 中打開‘/etc/pam.d/system-auth’文件。

# vi /etc/pam.d/system-auth

Ubuntu/Debian/Linux Mint 中打開‘/etc/pam.d/common-password’文件。

# vi /etc/pam.d/common-password

在‘auth’塊中添加下面一行。

auth sufficient pam_unix.so likeauth nullok

在‘password’塊添加下面一行,禁止用戶重新使用其過去最后用過的 5個密碼。

password sufficient pam_unix.so nullok use_authtok md5 shadow remember=5

服務(wù)器只記錄最后的 5 個密碼。如果你試圖使用曾用的最后 5個老密碼中的任意一個,你將看到如下的錯誤提示。

Password has been already used. Choose another.

13. 如何檢查用戶密碼過期?

在 Linux 中,用戶的密碼以加密的形式保存在‘/etc/shadow’文件中。要檢查用戶的密碼是否過期,你需要使用‘chage’命令。它將顯示密碼的最后修改日期及密碼期限的細節(jié)信息。這些細節(jié)就是系統(tǒng)決定用戶是否必須修改其密碼的依據(jù)。

要查看任一存在用戶的老化信息,如 過期日 和 時長,使用如下命令。

#chage -l username

要修改任一用戶的密碼老化,使用如下命令。

#chage -M 60 username

#chage -M 60 -m 7 -W 7 userName

參數(shù)

-M 設(shè)置天數(shù)最大數(shù)字

-m 設(shè)定天數(shù)最小數(shù)字

-W 設(shè)定想要的天數(shù)

14. 手動鎖定或解鎖用戶賬號

鎖定和解鎖功能是非常有用的,你可以鎖定一個賬號一周或一個月,而不是將這個賬號從系統(tǒng)中剔除??梢杂孟旅孢@個命令鎖定一個特定用戶。

# passwd -l accountName

提示:這個被鎖定的用戶僅對root用戶仍然可見。這個鎖定是通過將加密過的密碼替換成(!)來實現(xiàn)的。如果有個想用這個賬號來進入系統(tǒng),他會得到類似下面這個錯誤的提示。

# su - accountName

This account is currently not available.

解鎖一個被鎖定的賬號時,用下面這個命令。這命令會將被替換成(!)的密碼改回來。

# passwd -u accountName

15. 增強密碼

有相當(dāng)數(shù)量的用戶使用很弱智的密碼,他們的密碼都可以通過字典攻擊或者暴力攻擊攻破。‘pam_cracklib’模塊存于在PAM 中,它可以強制用戶設(shè)置復(fù)雜的密碼。通過編輯器打開下面的文件。

# vi /etc/pam.d/system-auth

在文件中增加一行,使用認證參數(shù)(lcredit, ucredit, dcredit 或者 ocredit 對應(yīng)小寫字母、大寫字母,數(shù)字和其他字符)

/lib/security/$ISA/pam_cracklib.so retry=3 minlen=8 lcredit=-1 ucredit=-2 dcredit=-2 ocredit=-1

16. 啟用Iptable(防火墻)

高度推薦啟用linux防火墻來禁止非法程序訪問。使用iptable的規(guī)則來過濾入站、出站和轉(zhuǎn)發(fā)的包。我們可以針對來源和目的地址進行特定udp/tcp端口的準許和拒絕訪問。

17. 禁止Ctrl+Alt+Delete重啟

在大多數(shù)的linux發(fā)行版中,按下‘CTRL-ALT-DELETE’將會讓你的系統(tǒng)重啟。只說生產(chǎn)服務(wù)器上這是不是一個很好的做法,這可能導(dǎo)致誤操作。

這個配置是在‘/etc/inittab’文件,如果你打開這個文件,你可以看到下面類似的段落。默認的行已經(jīng)被注釋掉了。我們必須注釋掉他。這個特定按鍵會讓系統(tǒng)重啟。

# Trap CTRL-ALT-DELETE

#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

18. 檢查空密碼帳號

任何空密碼的賬戶意味這可以讓W(xué)eb上任何無授權(quán)的用戶訪問,這是linux服務(wù)器的一個安全威脅。所以,確定所有的用戶擁有一個復(fù)雜的密碼并且

不存在特權(quán)用戶。空密碼帳號是安全風(fēng)險,可以被輕易的攻克。可以利用下面的命令來檢查是否有空密碼賬戶存在。

# cat /etc/shadow | awk -F: '($2==""){print $1}'

19. 登錄前顯示SSH提示

在ssh認證時候,使用一個法律和安全警示是很好的建議。

20. 監(jiān)視用戶行為

如果你有很多的用戶,去收集每一個用戶的行為和和他們的進程消耗的信息非常重要??梢噪S后和一些性能優(yōu)化和安全問題處理時進行用戶分析。

但是如果監(jiān)視和搜集用戶行為信息呢 ?

有兩個很有用的工具‘psacct’和‘acct’可以用來監(jiān)視系統(tǒng)中用戶的行為和進程。這些工具在系統(tǒng)后臺執(zhí)行并且不斷記錄系統(tǒng)中每一個用戶的行為和各個服務(wù)比如 Apache、MySQL、SSH、FTP等的資源消耗。

21. 定期查看日志

將日志移動到專用的日志服務(wù)器里,這可避免入侵者輕易的改動本地日志。下面是常見linux的默認日志文件及其用處:

/var/log/message – 記錄系統(tǒng)日志或當(dāng)前活動日志。

/var/log/auth.log – 身份認證日志。

/var/log/kern.log – 內(nèi)核日志。

/var/log/cron.log – Crond 日志 (cron 任務(wù)).

/var/log/maillog – 郵件服務(wù)器日志。

/var/log/boot.log – 系統(tǒng)啟動日志。

/var/log/mysqld.log – MySQL數(shù)據(jù)庫服務(wù)器日志。

/var/log/secure – 認證日志。

/var/log/utmp or /var/log/wtmp :登錄日志。

/var/log/yum.log: Yum 日志。

22. 重要文件備份

在生產(chǎn)環(huán)境里,為了災(zāi)難恢復(fù),有必要將重要文件備份并保存在安全的遠程磁帶保險庫、遠程站點或異地硬盤。

23. NIC 綁定

有兩種類型的NIC綁定模式,需要在綁定接口用得到。

mode=0 – 循環(huán)賽模式

mode=1 – 激活和備份模式

NIC綁定可以幫助我們避免單點失敗。在NIC綁定中,我們把兩個或者更多的網(wǎng)卡綁定到一起,提供一個虛擬的接口,這個接口設(shè)置ip地址,并且和其他服務(wù)器會話。這樣在一個NIC卡down掉或者由于其他原因不能使用的時候,我們的網(wǎng)絡(luò)將能保持可用。

24. 保持 /boot 只讀

linux內(nèi)核和他的相關(guān)的文件都保存在/boot目下,默認情況下是可以讀寫的。把它設(shè)為了只讀可以減少一些由于非法修改重要boot文件而導(dǎo)致的風(fēng)險。

# vi /etc/fstab

在文件最后增加下面的行,并且保存

LABEL=/boot /boot ext2 defaults,ro 1 2

如果你今后需要升級內(nèi)核的話,你需要修回到讀寫模式。

25.不鳥ICMP和Broadcast請求

在/etc/sysctl.conf中添加下面幾行,屏蔽掉ping和broadcast請求。

Ignore ICMP request:

net.ipv4.icmp_echo_ignore_all = 1

Ignore Broadcast request:

net.ipv4.icmp_echo_ignore_broadcasts = 1

運行下面這一行加載修改或更新:

#sysctl -p

標(biāo)簽:衡陽 茂名 衡陽 仙桃 三門峽 六盤水 慶陽 湘西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《為大家詳細介紹25個Linux 服務(wù)器安全小技巧》,本文關(guān)鍵詞  為,大家,詳細,介紹,25個,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《為大家詳細介紹25個Linux 服務(wù)器安全小技巧》相關(guān)的同類信息!
  • 本頁收集關(guān)于為大家詳細介紹25個Linux 服務(wù)器安全小技巧的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章