您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“linux安全策略如何加固”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“linux安全策略如何加固”這篇文章吧。
賬號管理
一、口令鎖定策略
1、執行備份
(1)、redhat執行備份:
#cp -p /etc/pam.d/system-auth /etc/pam.d/system-auth_bak
(2)、SUSE9:
#cp -p /etc/pam.d/passwd /etc/pam.d/passwd.bak
(3)、SUSE10:
#cp -p /etc/pam.d/common-password /etc/pam.d/common-password.bak
2、修改策略設,編輯文件/etc/pam.d/system-auth(SUSE:/etc/pam.d/passwd)增加如下內容:
auth required pam_tally2.so deny=5 onerr=fail no_magic_root unlock_time=180 #unlock_time單位為秒
account required pam_tally2.so #(redhat5.1以上版本支持 pam_tally2.so,其他版本使用pam_tally.so)
二、口令生存周期
1、執行備份:
#cp -p /etc/login.defs /etc/login.defs_bak
2、修改策略設置,編輯文件/etc/login.defs(vi /etc/login.defs),在文件中加入如下內容(如果存在則修改,不存在則添加):
PASS_MAX_DAYS 90
PASS_MIN_DAYS 10
PASS_WARN_AGE 7
三、密碼復雜度
1、redhat系統
編輯文件/etc/pam.d/system-auth,在文件中找到如下內容:
password requisite pam_cracklib.so,將其修改為:
password requisite pam_cracklib.so try_first_pass retry=3 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 minlen=8 #至少包含一個數字、一個小寫字母、一個大寫字母、一個特殊字符、且密碼長度>=8
2、suse9編輯/etc/pam.d/passwd、suse10以上編輯/etc/pam.d/common-password,在文件中加入如下內容(如果文件中存在password的行請首先注釋掉):
password required pam_pwcheck.so nullok
password requisite pam_cracklib.so dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 minlen=8 use_authtok
password required pam_unix2.so nullok use_first_pass use_authtok
四、刪除或鎖定無關賬號
1、如果以下用戶(lp|sync|halt|news|uucp|operator|games|gopher|smmsp|nfsnobody|nobody)沒有被刪除或鎖定,可以使用如下命令對其進行操作:
(1)、刪除用戶:
#userdel username
(2)、鎖定用戶:
#passwd -l username #鎖定用戶,只有具備超級用戶權限的使用者方可使用。
#passwd –d username #解鎖用戶,解鎖后原有密碼失效,登錄設置新密碼才能登錄。
#passwd -u username #解鎖用戶后,原密碼仍然有效。
(3)、修改用戶shell域為/bin/false
#usermod -s /bin/false username #命令來更改相應用戶的shell為/bin/false,其中[name]為要修改的具體用戶名。
passwd -l lp
passwd -l sync
passwd -l halt
passwd -l news
passwd -l uucp
passwd -l operator
passwd -l games
passwd -l gopher
passwd -l smmsp
passwd -l nfsnobody
passwd -l nobody
usermod -s /bin/false lp
usermod -s /bin/false sync
usermod -s /bin/false halt
usermod -s /bin/false news
usermod -s /bin/false uucp
usermod -s /bin/false operator
usermod -s /bin/false games
usermod -s /bin/false gopher
usermod -s /bin/false smmsp
usermod -s /bin/false nfsnobody
usermod -s /bin/false nobody
五、口令重復限制
1、執行備份
#cp -p /etc/pam.d/system-auth /etc/pam.d/system-auth.bak
#cp -p /etc/pam.d/passwd /etc/pam.d/passwd.bak
#cp -p /etc/pam.d/common-password /etc/pam.d/common-password.bak
2、創建文件/etc/security/opasswd用于存儲舊密碼,并設置權限。
#touch /etc/security/opasswd
#chown root:root /etc/security/opasswd
#chmod 600 /etc/security/opasswd
3、修改策略設置
#vi /etc/pam.d/system-auth((SUSE9:/etc/pam.d/passwd、SUSE10以上/etc/pam.d/common-password)在類似password sufficient pam_unix.so所在行末尾增加remember=5,中間以空格隔開.如果沒有則新增,例如:
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5
=================
口令策略
一、文件與目錄缺省權限控制
1、首先對/etc/profile進行備份:
#cp /etc/profile /etc/profile.bak
2、編輯文件/etc/profile,在文件末尾加上如下內容:
umask 027
3、執行以下命令讓配置生效:
#source /etc/profile
二、用戶最小權限控制
1、賦予用戶相關賬號文件最小權限
#chmod 644 /etc/passwd
#chmod 400 /etc/shadow
#chmod 644 /etc/group
#chmod 644 /etc/services
#chmod 600 /etc/xinetd.conf
#chmod 600 /etc/security
三、修改SSH的Banner警告信息
1、如果此項檢查不合規,執行以下步驟進行修復。
執行如下命令創建ssh banner信息文件:
#touch /etc/ssh_banner
#chown bin:bin /etc/ssh_banner
#chmod 644 /etc/ssh_banner
#echo " Authorized only. All activity will be monitored and reported " > /etc/ssh_banner
可根據實際需要修改該文件的內容。
2、修改/etc/ssh/sshd_config文件,添加如下行:
Banner /etc/ssh_banner
3、重啟sshd服務:
#/etc/init.d/sshd restart
四、設置關鍵文件的屬性
1、更改該日子文件屬性
#chattr +a /var/log/messages #如果不存在則忽略
========================
認證授權
一、啟用遠程日志功能
1、linux
編輯文件 /etc/syslog.conf或者/etc/rsyslog.conf,增加如下內容:
*.* @<日志服務器ip或者域名>
2、suse
編輯文件/etc/syslog-ng/syslog-ng.conf,增加如下內容:
destination logserver { udp("192.168.56.168" port(514)); };
log { source(src); destination(logserver); };
#日志服務器ip視實際情況來確定。
3、重啟syslog服務
#/etc/init.d/syslog stop
#/etc/init.d/syslog start
二、記錄安全事件日志
1、redhat5.x之前編輯/etc/syslog.conf,在文件中加入如下內容:
*.err;kern.debug;daemon.notice /var/adm/messages,其中/var/adm/messages為日志文件。
(1)、如果該文件不存在,則創建該文件,命令為:
#touch /var/adm/messages
(2)、修改權限為666,命令為:
#chmod 666 /var/adm/messages
(3)、重啟日志服務:
#/etc/init.d/syslog restart
2、redhat6.x編輯etc/rsyslog.conf,在文件中加入如下內容:
*.err;kern.debug;daemon.notice /var/adm/messages,其中/var/adm/messages為日志文件。
(1)、如果該文件不存在,則創建該文件,命令為:
#touch /var/adm/messages
(2)、修改權限為666,命令為:
#chmod 666 /var/adm/messages
(3)、重啟日志服務:
#/etc/init.d/syslog restart
3、SUSE編輯文件/etc/syslog-ng/syslog-ng.conf,在文件中加入如下內容:
filter f_msgs { level(err) or facility(kern) and level(debug) or facility(daemon) and level(notice); };
destination msgs { file("/var/adm/msgs"); };
log { source(src); filter(f_msgs); destination(msgs); }; 其中/var/adm/msgs為日志文件。
(1)、如果該文件不存在,則創建該文件,命令為:
#touch /var/adm/msgs
(2)、修改權限為666,命令為:
#chmod 666 /var/adm/msgs
(3)、重啟日志服務:
#/etc/init.d/syslog restart
======
系統服務
一、限制root用戶SSH遠程登錄
1、執行備份:
#cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
2、新建一個普通用戶并設置高強度密碼(防止設備上只存在root用戶可用時,無法遠程訪問):
#useradd username
#passwd username
3、禁止root用戶遠程登錄系統
(1)、編輯文件/etc/ssh/sshd_config(vi /etc/ssh/sshd_config),修改PermitRootLogin值為no并去掉注釋。
PermitRootLogin no #則禁止了root從ssh登錄。
(2)、重啟SSH服務
#/etc/init.d/sshd restart
4、修改SSH協議版本
(1)、編輯文件/etc/ssh/sshd_config(vi /etc/ssh/sshd_config),修改Protocol的值為2并去掉注釋。
Protocol 2
(2)、重啟ssh服務
#/etc/init.d/sshd restart
=============
文件權限
一、登陸超時時間設置
1、執行備份
#cp -p /etc/profile /etc/profile_bak
2、在/etc/profile文件增加以下兩行(如果存在則修改,否則手工添加):
#vi /etc/profile
TMOUT=300 #TMOUT按秒計算
export TMOUT
二、系統core dump狀態
1、編輯文件/etc/security/limits.conf(vi /etc/security/limits.conf),在文件末尾加入如下兩行(存在則修改,不存在則新增):
* soft core 0
* hard core 0
2、編輯文件/etc/profile(vi /etc/profile)注釋掉如下行:
#ulimit -S -c 0 > /dev/null 2>&1
三、修改SSH的Banner信息
1、修改文件/etc/motd的內容,如沒有該文件,則創建它:
#touch /etc/motd
2、使用如下命令在文件/etc/motd中添加banner信息。
#echo " Authorized users only. All activity may be monitored and reported " > /etc/motd
可根據實際需要修改該文件的內容。
四、禁止組合鍵關機
編輯文件/etc/inittab,將以下行刪除、注釋,或者將此行:
ca::ctrlaltdel:/sbin/shutdown -r -t 4 now
修改為:
ca::ctrlaltdel:/bin/true
五、禁止ICMP重定向
1、備份文件
#cp -p /etc/sysctl.conf /etc/sysctl.conf_bak
2、編輯文件 /etc/sysctl.conf,將net.ipv4.conf.all.accept_redirects的值改為0
3、使配置生效#sysctl -p
六、使用PAM認證模塊禁止wheel組之外的用戶su為root
1、編輯文件(vi /etc/pam.d/su)
(1)、redhat4.x(32位)在文件開頭加入如下兩行(有則修改,沒有則添加):
auth sufficient /lib/security/$ISA/pam_rootok.so
auth required /lib/security/$ISA/pam_wheel.so use_uid
#注意auth與sufficient之間由兩個tab建隔開,sufficient與動態庫路徑之間使用一個tab建隔開
(2)、redhat4.x(64位)在文件開頭加入如下兩行(有則修改,沒有則添加):
auth sufficient /lib64/security/$ISA/pam_rootok.so
auth required /lib64/security/$ISA/pam_wheel.so use_uid
#注意auth與sufficient之間由兩個tab建隔開,sufficient與動態庫路徑之間使用一個tab建隔開
(3)、redhat5.x和redhat6.x在文件開頭加入如下兩行(有則修改,沒有則添加):
auth sufficient pam_rootok.so
auth required pam_wheel.so use_uid
#注意auth與sufficient之間由兩個tab建隔開,sufficient與動態庫路徑之間使用一個tab建隔開
說明:(這表明只有wheel組中的用戶可以使用su命令成為root用戶。你可以把用戶添加到wheel組,以使它可以使用su命令成為root用戶。)
添加方法:
#usermod -G wheel username #username為需要添加至wheel組的賬戶名稱。
七、禁止IP源路由
1、如果此項檢查失敗,請執行以下命令進行修復:
for f in /proc/sys/net/ipv4/conf/*/accept_source_route
do
echo 0 > $f
done
八、更改主機解析地址的順序
1、編輯/etc/host.conf文件
#vi /etc/host.conf,在空白處加入下面三行:
order hosts,bind #第一項設置首先通過DNS解析IP地址,然后通過hosts文件解析。
multi on #第二項設置檢測是否"/etc/hosts"文件中的主機是否擁有多個IP地址(比如有多個以太口網卡)。
nospoof on #第三項設置說明要注意對本機未經許可的IP欺騙。
九、更改歷史命令
1、編輯文件/etc/profile,在文件中加入如下兩行(存在則修改):
HISTFILESIZE=5
HISTSIZE=5
2、執行以下命令讓配置生效
#source /etc/profile
以上是“linux安全策略如何加固”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。