加固Linux系統的三種方法總結
Linux命令行歷史加固
通過配置系統環境變量實現記錄用戶在命令行執行的命令。
vim /etc/profile.d/system_monitor.sh# 添加下面代碼export TMOUT=600readonly TMOUT#historyUSER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`HISTDIR=/usr/share/.historyif [ -z $USER_IP ]; thenUSER_IP=`hostname`fiif [ ! -d $HISTDIR ]; thenmkdir -p $HISTDIRchmod 777 $HISTDIRfiif [ ! -d $HISTDIR/${LOGNAME} ]; thenmkdir -p $HISTDIR/${LOGNAME}chmod 300 $HISTDIR/${LOGNAME}fiexport HISTSIZE=4000DT=`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、做好日志分析;
新聞熱點
疑難解答