本篇文章給大家分享的是有關(guān)14個Linux系統(tǒng)安全小妙招分別有哪些,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
為五華等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及五華網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計制作、網(wǎng)站設(shè)計、五華網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
大多數(shù)使用者都會認(rèn)為Linux默認(rèn)是安全的,有時候這種說法也的確是一個存在爭議的話題。Linux默認(rèn)確實有內(nèi)置的安全模型。你需要打開它并且對其進行定制,這樣才能得到更安全的系統(tǒng)。Linux更難管理,不過相應(yīng)也更靈活,有更多的配置選項。
對于系統(tǒng)管理員,讓產(chǎn)品的系統(tǒng)更安全,免于駭客和黑客的攻擊,一直是一項挑戰(zhàn)。而且,近些年來對于Linux遭遇攻擊的案例很多,所以,如何構(gòu)建一個安全、強大且牢固的Linux系統(tǒng)一直是一個可探索性的話題。今天,我將從系統(tǒng)的各個層面,給大家分享一下我在日常工作中是如何構(gòu)建、或者加固Linux系統(tǒng)安全的。
1. 物理安全
這應(yīng)該說是對于服務(wù)器安全保障的第一步。
硬件服務(wù)器,首先得專業(yè)人的來做專業(yè)的維護。其次就是關(guān)閉從CD/DVD等這些方面的軟啟動方式。同時也可以設(shè)置BIOS密碼,并且要有限制訪問的策略與各類流程管控。
還可以禁用USB設(shè)備來達到安全的目的:
vim /etc/modprobe.d/stopusb install usb-storage /bin/true
或者使用下面的命令將USB的驅(qū)動程序刪除
[root@rs-server ~]# mv /lib/modules/3.10.0-693.el7.x86_64/kernel/drivers/usb/storage/usb-storage.ko.xz
2. 保證系統(tǒng)最新
這個就是說要保證系統(tǒng)無其它漏洞存在,比如:已經(jīng)有的漏洞要及時的修復(fù)。保證系統(tǒng)包含了最新版本的補丁、安全修復(fù)和可用內(nèi)核。
yum updates yum check-update
3. 最小化處理原則
無論是安裝系統(tǒng),還是常用的軟件,都必須遵守這個原則:最小化安裝,同時也是減少漏洞存在的可能性。
對于系統(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. 登錄與連接
對于Linux服務(wù)器來說,一般都是采用遠程登錄(SSH)連接的方式去進行登錄操作。因此:
第一步:就是除了非必要情況,杜絕使用root用戶登錄,可以使用sudo來進行提權(quán)操作,然后利用系統(tǒng)命令將/etc/sudoers文件鎖定(除root用戶之外的用戶無權(quán)限修改)。
第二步:建議修改SSH配置文件,比如默認(rèn)端口號22,禁止root密碼登錄(有些自有機房的還可以直接禁用root用戶通過SSH協(xié)議登錄)等。
[root@rs-server ~]# vim /etc/ssh/sshd_config #Port 22 可修改成其它端口號,民工哥常用IP+22混合使用 #PermitRootLogin yes 將yes改成No #PermitEmptyPasswords no 打開注釋即可 #AllowUsers username 指定特定的用戶通過SSH協(xié)議進行遠程連接
5. 用戶管理
Linux是一個可多用戶并行操作的系統(tǒng),所以,系統(tǒng)也對用戶進行了劃分:超級用戶與普通用戶。兩者權(quán)限不同,因此,能干的事也有所不同,所以,對于用戶的管理也是非常重要的一步。
設(shè)置用戶密碼:
這個可以通過系統(tǒng)命令passwd來進行設(shè)置,一般建議使用強度比較復(fù)雜的密碼,且各個系統(tǒng)中相同的用戶使用不同的密碼(日常可以使用管理器來管理)。
[root@rs-server ~]# passwd mingongge Changing password for user mingongge. New password: Retype new password: passwd: all authentication tokens updated successfully.
臨時用戶管理:
對于這種需要的臨時用戶管理,一般是使用過后可以刪除,也可以在一段時間后將其鎖定不讓其再登錄,在下次需要登錄時再次開啟權(quán)限。
刪除用戶很簡單,可以使用系統(tǒng)命令userdel -r username 進行刪除。
鎖定用戶其實就是修改用戶的屬性:
[root@rs-server ~]# usermod -L mingongge
我們打開終端嘗試登錄看看:
這時發(fā)現(xiàn)已經(jīng)無法正常登錄連接了,表明剛剛的配置是正確的。等到下次需要登錄時,可以使用下面的命令進行解鎖:
[root@rs-server ~]# usermod -U mingongge #-L lock #-U unlock
6. 文件管理
這里的文件管理指的是存儲用戶信息的重要文件:/etc/passwd、/etc/shadow這兩個文件。
[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: -
一般從上面的一些文件屬性上可以看出是不是這些文件遭遇篡改了,所以,一般情況建議將此兩個文件鎖定除了root用戶之外的用戶無權(quán)限修改與訪問。
7. 啟用防火墻
利用系統(tǒng)的防火墻來過濾出入站的流量,這是一個很好的預(yù)防攻擊的策略,而且系統(tǒng)防火墻的規(guī)則可以逐條設(shè)置,非常強大,強裂建議開啟。
8. 軟件包的管理
對于系統(tǒng)安裝的軟件,我們使用RPM包管理器來管理,對于使用yum或者apt-get命令列出來的軟件,在對其進行刪除、卸載時,一定要使用下面的命令進行:
yum -y remove software-package-name sudo apt-get remove software-package-name
9. 禁用Crtl+Alt+Del 重啟
多數(shù)服務(wù)器在按下Crtl+Alt+Del組合鍵后,都會使用服務(wù)器重啟,這個對于線上服務(wù)器來說是絕對不友好的一個安全因素,必須禁止,否則一個誤操作就造成很大的影響。
#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)即可生效
對于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 #
這個文件里已經(jīng)說明了相關(guān)的介紹。
經(jīng)過測試,如果將上面文件中的配置注釋掉之后,reboot命令會不生效了:
[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
這個ctrl-alt-del.target這是reboot.target的軟鏈接。所以,最終正確的方法是:移動掉這個文件到其它目錄,然后重載配置文件使用其它生效,如果再需要這個功能就只需要重新添加這個軟件鏈接即可。
10. 監(jiān)控用戶行為
如果你的系統(tǒng)中有很多的用戶,去收集每一個用戶的行為和和他們的進程消耗的信息非常重要??梢噪S后和一些性能優(yōu)化和安全問題處理時進行用戶分析。但是如果監(jiān)視和搜集用戶行為信息呢 ?有兩個很有用的工具‘psacct‘ 和 ‘acct‘可以用來監(jiān)視系統(tǒng)中用戶的行為和進程。
[root@rs-server ~]# yum install psacct -y
使用方法如下:
ac 統(tǒng)計用戶連接時間 ac #顯示所有用戶連接總時間 ac -p #顯示每個用戶連接時間 ac -d #顯示每天所有用戶連接總時間 ac silence #顯示指定用戶連接時間 ac -d silence #顯示指定用戶每天連接時間 sa 輸出用戶活動信息 sa #顯示所有用戶執(zhí)行命令情況 sa -u #按用戶顯示執(zhí)行命令情況 sa -m #按進程顯示執(zhí)行命令情況 sa -p #按使用率顯示執(zhí)行命令情況 lastcomm 輸出最近執(zhí)行命令信息 lastcomm #顯示所有執(zhí)行命令 lastcomm silence #顯示指定用戶執(zhí)行命令 lastcomm ls #顯示指定命令執(zhí)行情況 其他 last #查看最近用戶登錄成功列表 last -x #顯示系統(tǒng)關(guān)機、重新開啟等信息 last -a #將IP顯示在最后一列 last -d #對IP進行域名解析 last -R #不顯示IP列 last -n 3 #顯示最近3條 lastb #查看最近用戶登錄失敗的列表
具體的使用例子:
[root@rs-server ~]# ac -p root 71.88 total 71.88 [root@rs-server ~]# sa -u root 0.00 cpu 1043k mem 0 io accton root 0.00 cpu 3842k mem 0 io systemd-tty-ask root 0.03 cpu 72576k mem 0 io pkttyagent root 0.00 cpu 32112k mem 0 io systemctl root 0.00 cpu 2674k mem 0 io systemd-cgroups root 0.07 cpu 37760k mem 0 io ps root 0.00 cpu 28160k mem 0 io grep root 0.00 cpu 1080k mem 0 io ac root 0.14 cpu 0k mem 0 io kworker/u256:0 * root 0.10 cpu 0k mem 0 io kworker/0:0 * root 0.02 cpu 0k mem 0 io kworker/0:2 * [root@rs-server ~]# lastcomm sa sa root pts/0 0.00 secs Tue Aug 6 02:15 [root@rs-server ~]# last -x root pts/0 192.168.1.14 Tue Aug 6 00:48 still logged in root tty1 Tue Aug 6 00:48 still logged in [root@rs-server ~]# lastb mingongg ssh:notty 192.168.1.14 Tue Aug 6 01:11 - 01:11 (00:00) mingongg ssh:notty 192.168.1.14 Tue Aug 6 01:11 - 01:11 (00:00) btmp begins Tue Aug 6 01:11:27 2019
11. 定期檢查日志
將系統(tǒng)及其重要的日志保存在本服務(wù)器之外的專業(yè)日志服務(wù)器上,從而避免黑客通過分析日志來入侵系統(tǒng)及應(yīng)用,以下是常見的日志文件:
12. 數(shù)據(jù)備份
這個不用說都知道是非常重要的,尤其是重要的生產(chǎn)數(shù)據(jù),必須本地、異地、不同介質(zhì)備份及保存,同時還需要定期檢查數(shù)據(jù)的完整性、可用性。
13. 安全工具
對于系統(tǒng)來說,常用的安全掃描工具是必備的,比如:掃描開放端口nmap。對于系統(tǒng)中的WEB應(yīng)用等來說,可以使用一些開源的工具:IBM AppScan、SQL Map等,同樣這類的商用產(chǎn)品也很多,這里就不做介紹了(又不給我廣告費)。
對于文件有文件加密工具,對于系統(tǒng)還有一些入侵檢測、漏洞掃描工具,無論是開源還是商業(yè),都是可以根據(jù)實際需求與企業(yè)成本來決定使用哪一款工具。
14. 管理方法
對于安全管理來說,好的流程與管理制度同樣也是必須的,否則,上述13點基本的作用為0,有方法,沒有制度去讓方法落地執(zhí)行!!
以上就是14個Linux系統(tǒng)安全小妙招分別有哪些,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。