當前位置:
首頁 > 知識 > 10招強化Linux安全的技能!!!

10招強化Linux安全的技能!!!



來自:阿飛的博客(微信號:AfeiJavaer)


1.找出不必要的服務


很明顯,伺服器上跑的服務,並不是每個都有用的。強烈建議檢查並關掉不需要的服務,從而減少風險(多跑一個服務,就可能多幾個漏洞)。


查詢運行在

runlevel 3

的服務列表:

[afei@afei ~]

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



關閉指定的服務:

[afei@afei ~]

# chkconfig ip6tables off



疑問:為什麼查詢

runlevel 3

的服務?
Linux系統有7個運行級別(runlevel),分別如下:
runlevel 0:系統停機狀態,系統默認運行級別不能設為0,否則不能正常啟動;
runlevel 1:單用戶工作狀態,root許可權,用於系統維護,禁止遠程登陸;
runlevel 2:多用戶狀態(沒有NFS);
runlevel 3:完全的多用戶狀態(有NFS),登陸後進入控制台命令行模式。這個運行級別的服務會啟動httpd,系統提供web server服務,所以主要查看這個運行級別的服務;
runlevel 4:系統未使用,保留;
runlevel 5:X11控制台,登陸後進入圖形GUI模式;
runlevel 6:系統正常關閉並重啟,默認運行級別不能設為6,否則不能正常啟動;



2.檢查監聽的網路埠


通過netstat命名能夠看到所有已經打開的埠,並且可以看到是哪些程序打開的。如果發現某些是必須要的,建議關掉:

[afei@afei~]

# netstat -tulpn


Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address  Foreign Address  State   PID/Program name   
tcp        

0

      

0

 

0

.

0

.

0

.

0

:

2181

   

0

.

0

.

0

.

0

:*

        LISTEN  

48983

/java          
tcp        

0

      

0

 

0

.

0

.

0

.

0

:

2182

   

0

.

0

.

0

.

0

:*

        LISTEN  

49051

/java  

3.優化CRON任務


linux的cron可以執行一些定時任務。並且還可以通過/etc/cron.allow 和 /etc/cron.deny 控制哪些用戶可以運行JOB,哪位用戶禁止運行JOB。例如:
允許用戶afei允許JOB,執行如下命令:

echo afei 

>> 

/etc/cron.allow

禁止所有用戶訪問JOB,執行如下命令:

 echo ALL 

>>

/etc/cron.deny

4.限制用戶使用舊密碼

linux用戶的舊密碼保存在文件/etc/security/opasswd中:

[root@LAPP-V1159 ~]

# cat /etc/security/opasswd


afei:

504

:

4

:$1$MVAi/EpJ$iXXkV5r3Hjc8AaK2b5KyQ/,$1$AbpFPYaD$ZKj12lK6qaYUqgQnEdocd0,$1$POabjmzY$F4Cp6aTwN6RRk1KjZWm8A/,$1$LoHe5GHY$QjkLGqABANpLmlQsRB4WE.

檢查是否有開啟限制使用舊密碼,在RHEL / CentOS / Fedora系統中,查看文件:/etc/pam.d/system-auth。在Ubuntu/Debian/Linux Mint系統中,查看文件:/etc/pam.d/common-password,需要下面兩行關鍵內容,其中remember=4,表示不能使用最後4次密碼,否則會報錯:Password has been already used. Choose another.:

auth

        sufficient    pam_unix.so nullok try_first_pass
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=

4



5.檢查密碼過期


密碼的過期屬性可以通過如下命令查看:

[root@root ~]

# chage -l afei


Last password 

change

                    : Sep 

14

2018


Password

 expires                    : Nov 

13

2018


Password

 inactive                    : 

never


Account

 expires                        : 

never


Minimum

 

number

 

of

 

days

 

between

 

password

 

change

        : 

0


Maximum 

number

 

of

 

days

 

between

 

password

 

change

        : 

60


Number

 

of

 

days

 

of

 

warning

 

before

 

password

 expires    : 

7



修改密碼的過期屬性可以執行如下命令:

chage -M 60 -W 7  afei
說明:

-M 60表示密碼最大有效期是60天。


-W 7 表示密碼還有7天過期時給出告警提醒。



6.檢查密碼為空的用戶


密碼為空意味著只要知道用戶名就能訪問,這非常危險。因為用戶與密碼信息保存在文件/etc/shadow中,且格式如下:

admin:

$6$YTSkre3DLd4SAZ$Jy9piv/

gPezhLrLzMMeUleV8F5DNjP:

17765

:

0

:

99

:

5

:

:

:

afei:

$6$.vMcyE9ss96$YNk2Q5qiS/

SAeGCcyEFsmspkC5dr3OXfnN:

17788

:

0

:

60

:

7

:

:

:


後面的幾個數字是密碼過期等屬性信息,上面已經提及。


所以,檢查密碼為空的用戶,只需要執行如下命令即可,如果發現有這樣的用戶,通過root用戶執行passwd username強行修改它的密碼:

cat

 /etc/shadow | awk -F: 

"(

$2

==""){print 

$1

}"



7.鎖定&解鎖用戶


和刪除用戶賬戶不一樣,這個只是限制用戶登錄。只需要執行如下密碼即可鎖定&解鎖用戶:

[root@root ~]

# passwd -l afei


Locking password 

for

 user afei.
passwd: Success
[root@root ~]

# passwd -u afei


Unlocking password 

for

 user afei.
passwd: Success

說明:




  • 參數l表示lock,即鎖定用戶密碼;



  • 參數u表示unlock,即解鎖用戶密碼;


8.關閉IPv6


現在IPv6基本上沒有實際使用,所以我們可以關掉它,在文件/etc/sysconfig/network中增加如下兩行內容即可:

NETWORKING_IPV6

=

no


IPV6INIT

=

no



9.複查日誌


Linux伺服器上很多的行為都會有記錄相應的日誌,簡單列舉一些如下,如果有一些非法操作,就能從這些日誌中造成蛛絲馬跡,例如非法登陸,非法定時任務等:




  • /var/log/message – Where whole system logs or current activity logs are available.



  • /var/log/auth.log – Authentication logs.



  • /var/log/kern.log – Kernel logs.



  • /var/log/cron.log – Crond logs (cron job).



  • /var/log/maillog – Mail server logs.



  • /var/log/boot.log – System boot log.



  • /var/log/mysqld.log – MySQL database server log file.



  • /var/log/secure – Authentication log.



  • /var/log/utmp or /var/log/wtmp : Login records file.



  • /var/log/yum.log: Yum log files.


10.保持系統更新


總是讓系統更新最新發行的補丁包,因為這些補丁包會修復一些BUG:

sudo apt-get upgrade

yum 

check

-

update


yum 

upgrade



參考鏈接:https://www.tecmint.com/linux-server-hardening-security-tips/


編號

602

,輸入編號直達本文



●輸入m獲取文章目錄

推薦↓↓↓



黑客技術與網路安全


更多推薦

18個技術類微信公眾號


涵蓋:程序人生、演算法與數據結構、黑客技術與網路安全、大數據技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux學習 的精彩文章:

Linux下Git圖形化界面客戶端盤點
Docker 入門教程

TAG:Linux學習 |