這篇文章主要介紹了加固Linux系統的三種方法總結的相關資料,透過本文希望大家能掌握這部分內容,需要的朋友可以參考下
加固Linux系統的三種方法總結
Linux命令列歷史加固
#透過設定係統環境變數實作記錄使用者在命令列執行的命令。
vim /etc/profile.d/system_monitor.sh # 添加下面代码 export TMOUT=600 readonly TMOUT #history USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'` HISTDIR=/usr/share/.history if [ -z $USER_IP ]; then USER_IP=`hostname` fi if [ ! -d $HISTDIR ]; then mkdir -p $HISTDIR chmod 777 $HISTDIR fi if [ ! -d $HISTDIR/${LOGNAME} ]; then mkdir -p $HISTDIR/${LOGNAME} chmod 300 $HISTDIR/${LOGNAME} fi export HISTSIZE=4000 DT=`date +%Y%m%d_%H%M%S` export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT" export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S]" chmod 600 $HISTFILE/${LOGNAME}/*.history* 2>/dev/null
重新載入環境變數
source /etc/profile.d/system_monitor.sh
效果:每個帳號每次的登入IP以及執行指令都會記錄在該目錄如下:
[root@localhost ~]# ll /usr/share/.history/root/ total 8 -rw-------. 1 root root 236 Apr 23 21:49 1.180.212.137.history.20170423_214918 -rw-------. 1 root root 564 Apr 23 21:54 1.180.212.137.history.20170423_214957
crond呼叫黑白名單
Cron有它自己內建的特性,這特性允許定義哪些人能哪些人不能跑任務。 這是透過兩個檔案/etc/cron.allow 和 /etc/cron.deny控制的。要鎖定在用Cron的用戶時可以簡單的將其名字寫到corn.deny裡,而要允許用戶跑cron時將其名字加到cron.allow即可。如果你要禁止所有用戶,只允許root用戶。如下:
# echo 'root' >> /etc/cron.allow # echo 'ALL' >> /etc/cron.deny
ssh服務禁止root登入
1、不要使用預設端口,修改方式;
Port 3714
2、不要使用第一版協定;
Protocol 2
3、限制可登入的使用者;
AllowUsers user1 user2 #仅允许user1和user2用户登录
4、設定空閒會話逾時時長;
5、利用防火牆設定ssh的遠端存取策略;僅允許來自指定網路中的主機存取;
6、僅監聽於指定的IP位址;
ListenAddress
7、基於口令認證時,要使用強密碼原則;
# 使用mkpasswd命令生成密码; mkpasswd -l 15 -s 3 -d 3 -C 3###8、最後使用基於金鑰進行認證######9、禁止使用空密碼,預設啟用;############
PermitEmptyPasswords no:是否允许空密码登录;###10、禁止管理員直接登入;############
PermitRootLogin yes # 是否允许管理员直接登录;安全起见,建议为no;###11、限制ssh存取頻度和並發線上;######12、做好日誌分析;###
以上是Linux系統加固方法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!