對(duì)于互聯(lián)網(wǎng)it從業(yè)人員來說,越來越多的工作會(huì)逐漸轉(zhuǎn)移到linux系統(tǒng)之上,這一點(diǎn),無論是開發(fā)、運(yùn)維、測試都應(yīng)該是深有體會(huì)。曾有技術(shù)調(diào)查網(wǎng)站w3techs于2018年11月就發(fā)布一個(gè)調(diào)查報(bào)告,報(bào)告顯示linux在網(wǎng)站服務(wù)器的系統(tǒng)中使用率高達(dá)37.2%,這一數(shù)據(jù)也表明,linux系統(tǒng)被廣泛應(yīng)用。其實(shí),除了在網(wǎng)站服務(wù)器中的應(yīng)用,linux系統(tǒng)還被用于dns
大多數(shù)使用者都會(huì)認(rèn)為linux默認(rèn)是安全的,有時(shí)候這種說法也的確是一個(gè)存在爭議的話題。linux默認(rèn)確實(shí)有內(nèi)置的安全模型。你需要打開它并且對(duì)其進(jìn)行定制,這樣才能得到更安全的系統(tǒng)。linux更難管理,不過相應(yīng)也更靈活,有更多的配置選項(xiàng)。
對(duì)于系統(tǒng)管理員,讓產(chǎn)品的系統(tǒng)更安全,免于駭客和黑客的攻擊,一直是一項(xiàng)挑戰(zhàn)。而且,近些年來對(duì)于linux遭遇攻擊的案例很多,所以,如何構(gòu)建一個(gè)安全、強(qiáng)大且牢固的linux系統(tǒng)一直是一個(gè)可探索性的話題。今天,我將從系統(tǒng)的各個(gè)層面,給大家分享一下我在日常工作中是如何構(gòu)建、或者加固linux系統(tǒng)安全的。
1. 物理安全
這應(yīng)該說是對(duì)于服務(wù)器安全保障的第一步。
硬件服務(wù)器,首先得專業(yè)人的來做專業(yè)的維護(hù)。其次就是關(guān)閉從cd/dvd等這些方面的軟啟動(dòng)方式。同時(shí)也可以設(shè)置bios密碼,并且要有限制訪問的策略與各類流程管控。
還可以禁用usb設(shè)備來達(dá)到安全的目的:
vim?/etc/modprobe.d/stopusb?install?usb-storage?/bin/true?或者使用下面的命令將usb的驅(qū)動(dòng)程序刪除
[root@rs-server?~]#?mv?/lib/modules/3.10.0-693.el7.x86_64/kernel/drivers/usb/storage/usb-storage.ko.xz?2. 保證系統(tǒng)最新
這個(gè)就是說要保證系統(tǒng)無其它漏洞存在,比如:已經(jīng)有的漏洞要及時(shí)的修復(fù)。保證系統(tǒng)包含了最新版本的補(bǔ)丁、安全修復(fù)和可用內(nèi)核。
yum?updates?yum?check-update?3. 最小化處理原則
無論是安裝系統(tǒng),還是常用的軟件,都必須遵守這個(gè)原則:最小化安裝,同時(shí)也是減少漏洞存在的可能性。
對(duì)于系統(tǒng)一些不必要的服務(wù)、端口,建議關(guān)閉。
[root@rs-server?~]#?chkconfig?--list?|grep?3:on?network?0:off?1:off?2:on?3:on?4:on?5:on?6:off?然后使用下面的命令關(guān)閉:
chkconfig?service-name?off?4. 登錄與連接
對(duì)于linux服務(wù)器來說,一般都是采用遠(yuǎn)程登錄(ssh)連接的方式去進(jìn)行登錄操作。因此:
第一步:就是除了非必要情況,杜絕使用root用戶登錄,可以使用sudo來進(jìn)行提權(quán)操作,然后利用系統(tǒng)命令將/etc/sudoers文件鎖定(除root用戶之外的用戶無權(quán)限修改)。第二步:建議修改ssh配置文件,比如默認(rèn)端口號(hào)22,禁止root密碼登錄(有些自有機(jī)房的還可以直接禁用root用戶通過ssh協(xié)議登錄)等。[root@rs-server?~]#?vim?/etc/ssh/sshd_config?#port?22?可修改成其它端口號(hào),民工哥常用ip+22混合使用?#permitrootlogin?yes?將yes改成no?#permitemptypasswords?no?打開注釋即可?#allowusers?username?指定特定的用戶通過ssh協(xié)議進(jìn)行遠(yuǎn)程連接?5. 用戶管理
linux是一個(gè)可多用戶并行操作的系統(tǒng),所以,系統(tǒng)也對(duì)用戶進(jìn)行了劃分:超級(jí)用戶與普通用戶。兩者權(quán)限不同,因此,能干的事也有所不同,所以,對(duì)于用戶的管理也是非常重要的一步。
設(shè)置用戶密碼:
這個(gè)可以通過系統(tǒng)命令passwd來進(jìn)行設(shè)置,一般建議使用強(qiáng)度比較復(fù)雜的密碼,且各個(gè)系統(tǒng)中相同的用戶使用不同的密碼(日常可以使用管理器來管理)。
[root@rs-server?~]#?passwd?mingongge?changing?password?for?user?mingongge.?new?password:?retype?new?password:?passwd:?all?authentication?tokens?updated?successfully.?臨時(shí)用戶管理:
對(duì)于這種需要的臨時(shí)用戶管理,一般是使用過后可以刪除,也可以在一段時(shí)間后將其鎖定不讓其再登錄,在下次需要登錄時(shí)再次開啟權(quán)限。
刪除用戶很簡單,可以使用系統(tǒng)命令userdel -r username 進(jìn)行刪除。
鎖定用戶其實(shí)就是修改用戶的屬性:
[root@rs-server?~]#?usermod?-l?mingongge?我們打開終端嘗試登錄看看:
這時(shí)發(fā)現(xiàn)已經(jīng)無法正常登錄連接了,表明剛剛的配置是正確的。等到下次需要登錄時(shí),可以使用下面的命令進(jìn)行解鎖:
[root@rs-server?~]#?usermod?-u?mingongge?#-l?lock?#-u?unlock?6. 文件管理
這里的文件管理指的是存儲(chǔ)用戶信息的重要文件:/etc/passwd、/etc/shadow這兩個(gè)文件。
[root@rs-server?~]#?stat?/etc/passwd?file:?‘/etc/passwd’?size:?945?blocks:?8?io?block:?4096?regular?file?device:?fd00h/64768d?inode:?17135889?links:?1?access:?(0644/-rw-r--r--)?uid:?(?0/?root)?gid:?(?0/?root)?access:?2019-08-06?01:14:37.439994172?+0800?modify:?2019-08-06?01:14:37.440994172?+0800?change:?2019-08-06?01:14:37.442994172?+0800?birth:?-?[root@rs-server?~]#?stat?/etc/shadow?file:?‘/etc/shadow’?size:?741?blocks:?8?io?block:?4096?regular?file?device:?fd00h/64768d?inode:?17135890?links:?1?access:?(0000/----------)?uid:?(?0/?root)?gid:?(?0/?root)?access:?2019-08-06?01:14:37.445994172?+0800?modify:?2019-08-06?01:14:37.445994172?+0800?change:?2019-08-06?01:14:37.447994172?+0800?birth:?-?一般從上面的一些文件屬性上可以看出是不是這些文件遭遇篡改了,所以,一般情況建議將此兩個(gè)文件鎖定除了root用戶之外的用戶無權(quán)限修改與訪問。
7. 啟用防火墻
利用系統(tǒng)的防火墻來過濾出入站的流量,這是一個(gè)很好的預(yù)防攻擊的策略,而且系統(tǒng)防火墻的規(guī)則可以逐條設(shè)置,非常強(qiáng)大,強(qiáng)裂建議開啟。
8. 軟件包的管理
對(duì)于系統(tǒng)安裝的軟件,我們使用rpm包管理器來管理,對(duì)于使用yum或者apt-get命令列出來的軟件,在對(duì)其進(jìn)行刪除、卸載時(shí),一定要使用下面的命令進(jìn)行:
yum?-y?remove?software-package-name??sudo?apt-get?remove?software-package-name?9. 禁用crtl+alt+del 重啟
多數(shù)服務(wù)器在按下crtl+alt+del組合鍵后,都會(huì)使用服務(wù)器重啟,這個(gè)對(duì)于線上服務(wù)器來說是絕對(duì)不友好的一個(gè)安全因素,必須禁止,否則一個(gè)誤操作就造成很大的影響。
#centos6?禁用ctrl+alt+del重啟功能?#方法一:?vi?/etc/init/control-alt-delete.conf?#start?on?control-alt-delete?#注釋此行??#方法二:?mv?/etc/init/control-alt-delete.conf?/etc/init/control-alt-delete.conf.bak??#注:兩種方法都無需重啟系統(tǒng)即可生效?對(duì)于centos7 來說,方法有所不同:
[root@rs-server?~]#?cat?/etc/inittab?#?inittab?is?no?longer?used?when?using?systemd.?#?#?adding?configuration?here?will?have?no?effect?on?your?system.?#?#?ctrl-alt-delete?is?handled?by?/usr/lib/systemd/system/ctrl-alt-del.target?#?#?systemd?uses?'targets'?instead?of?runlevels.?by?default,?there?are?two?main?targets:?#?#?multi-user.target:?analogous?to?runlevel?3?#?graphical.target:?analogous?to?runlevel?5?#?#?to?view?current?default?target,?run:?#?systemctl?get-default?#?#?to?set?a?default?target,?run:?#?systemctl?set-default?target.target?#?這個(gè)文件里已經(jīng)說明了相關(guān)的介紹。
經(jīng)過測試,如果將上面文件中的配置注釋掉之后,reboot命令會(huì)不生效了:
[root@rs-server?~]#?ll?/usr/lib/systemd/system/ctrl-alt-del.target?lrwxrwxrwx.?1?root?root?13?mar?14?17:27?/usr/lib/systemd/system/ctrl-alt-del.target?->?reboot.target?這個(gè)ctrl-alt-del.target這是reboot.target的軟鏈接。所以,最終正確的方法是:移動(dòng)掉這個(gè)文件到其它目錄,然后重載配置文件使用其它生效,如果再需要這個(gè)功能就只需要重新添加這個(gè)軟件鏈接即可。
10. 監(jiān)控用戶行為
如果你的系統(tǒng)中有很多的用戶,去收集每一個(gè)用戶的行為和和他們的進(jìn)程消耗的信息非常重要。可以隨后和一些性能優(yōu)化和安全問題處理時(shí)進(jìn)行用戶分析。但是如果監(jiān)視和搜集用戶行為信息呢 ?有兩個(gè)很有用的工具‘psacct‘ 和 ‘a(chǎn)cct‘可以用來監(jiān)視系統(tǒng)中用戶的行為和進(jìn)程。
[root@rs-server?~]#?yum?install?psacct?-y?使用方法如下:
ac?統(tǒng)計(jì)用戶連接時(shí)間?ac???????#顯示所有用戶連接總時(shí)間?ac?-p????#顯示每個(gè)用戶連接時(shí)間?ac?-d????#顯示每天所有用戶連接總時(shí)間?ac?silence??????#顯示指定用戶連接時(shí)間?ac?-d?silence???#顯示指定用戶每天連接時(shí)間??sa?輸出用戶活動(dòng)信息?sa??????#顯示所有用戶執(zhí)行命令情況?sa?-u???#按用戶顯示執(zhí)行命令情況?sa?-m???#按進(jìn)程顯示執(zhí)行命令情況?sa?-p???#按使用率顯示執(zhí)行命令情況??lastcomm?輸出最近執(zhí)行命令信息?lastcomm????????????#顯示所有執(zhí)行命令?lastcomm?silence????#顯示指定用戶執(zhí)行命令?lastcomm?ls?????????#顯示指定命令執(zhí)行情況??其他?last????????#查看最近用戶登錄成功列表?last?-x?????#顯示系統(tǒng)關(guān)機(jī)、重新開啟等信息?last?-a?????#將ip顯示在最后一列?last?-d?????#對(duì)ip進(jìn)行12. 數(shù)據(jù)備份
這個(gè)不用說都知道是非常重要的,尤其是重要的生產(chǎn)數(shù)據(jù),必須本地、異地、不同介質(zhì)備份及保存,同時(shí)還需要定期檢查數(shù)據(jù)的完整性、可用性。
13. 安全工具
對(duì)于系統(tǒng)來說,常用的安全掃描工具是必備的,比如:掃描開放端口nmap。對(duì)于系統(tǒng)中的web應(yīng)用等來說,可以使用一些開源的工具:ibm appscan、sql map等,同樣這類的商用產(chǎn)品也很多,這里就不做介紹了(又不給我廣告費(fèi))。
對(duì)于文件有文件加密工具,對(duì)于系統(tǒng)還有一些入侵檢測、漏洞掃描工具,無論是開源還是商業(yè),都是可以根據(jù)實(shí)際需求與企業(yè)成本來決定使用哪一款工具。
14. 管理方法
對(duì)于安全管理來說,好的流程與管理制度同樣也是必須的,否則,上述13點(diǎn)基本的作用為0,有方法,沒有制度去讓方法落地執(zhí)行!!
所以,無論對(duì)于小企業(yè)、大企業(yè)來說,流程、管理制度始終是先行于所有的處理方法之前的。人才是世界上最不可控的因素!!
創(chuàng)新SEO分享網(wǎng)站優(yōu)化排名的另一個(gè)方法獨(dú)立香港獨(dú)立服務(wù)器怎么選擇?微營銷推廣如何才能做好,做得有效果裝飾公司網(wǎng)站建設(shè)解決方案網(wǎng)站備案是否對(duì)網(wǎng)站優(yōu)化有影響網(wǎng)站建設(shè)中可以提高網(wǎng)站用戶體驗(yàn)的5個(gè)細(xì)節(jié)為何排名上不去網(wǎng)絡(luò)優(yōu)化常見問題企業(yè)做網(wǎng)絡(luò)營銷需要注意哪些?