linux安全加固.
- 防口令破解
- 限制口令長度和復雜度
要求:修改口令策略,要滿足復雜性和長度在8位數以上要求,口令里面寶行大寫字母、小寫字母、數字、特殊字符,每種字符至少一個
方法authconfig -- passminlen=8 --update
authconfig --passminclass=4 –-update
(2)口令生存周期
要求:限制口令的使用期限最長為九十天,口令的最短使用期限是三天,口令到期前十五天發出提醒
方法:
vi /etc/login.defs——>修改配置文件內容
在配置文件里面修改如下內容:
PASS_MAX_DAYS 90 PASS_MIN_DAYS 3 PASS_WARN_AGE 15
保存退出(按“esc”鍵+冒號+wq)
修改前
修改后
(3)設置登錄失敗鎖定
要求:用戶遠程登錄驗證連續超過5次失敗,鎖定賬戶30分鐘
方法:
Vim /etc/pam.d/sshd 修改配置文件,在#%PAM-1.0的下面一行,添加如下內容
auth required pam_tally2.so deny=5 unlock_time=1800 even_deny_root root_unlock_time=1800
保存退出(按“esc”鍵+冒號+wq)
創建一個用戶swn,并且設置密碼為123456
可嘗試輸錯3次(我沒有輸錯3次)但是效果圖如下
上圖為引用
(4)處理弱口令用戶
要求:當某個用戶的口令為弱口令時,要修改該用戶的口令,讓其符合限制口令長度和復雜度的要求
方法:passwd swn // 為用戶設置強口令
(5)處理與系統運行維護無關的用戶
要求:系統存在于運行、維護工作無關的用戶,名為test,并鎖定它
方法:usermod -L test ----鎖定用戶
2.防服務漏洞
(1)更改SSH服務端口
要求:將ssh的監聽端口全部改為2222
方法:vi /etc/ssh/sshd_config 修改配置文件,取消Port行的注釋,將Port行的值改為2222
修改后保存退出(按“esc”鍵+冒號+x)
Systemctl restart sshd 重啟ssh服務
修改前
修改后
(2)限制SSH連接的源地址范圍
要求:只允許192.168.26.0/24網段訪問ssh
方法:vi /etc/hosts.deny 編輯配置文件,在最后一行加入sshd:ALL
保存退出(按“esc”鍵+冒號+wq)(添加的內容前面沒有#,不然就不生效)
修改配置文件前的內容:
修改配置文件后的內容:
vi /etc/hosts.allow 編輯配置文件,在末尾加入:sshd:
192.168.26.0/255.255.255.0:allow 保存退出(按“esc”鍵+冒號+wq)
(3)禁用不必要的服務
要求:停止且禁用不需要的服務,如cups,使得系統的攻擊面變小
方法:systemctl stop cups 停止服務
Systemctl disable cups 禁用服務
截圖:
(4)啟用審計服務
要求:開啟auditd服務,并且修改為開機自動運行
方法:systemctl start auditd 手動啟動服務
Systemctl enable auditd 設置開機自動運行
Systemctl status auditd 查看auditd服務真正開啟了沒
截圖:
3.防權限提升
(1)啟用sudo日志
要求:啟用sudo日志
方法:
1.創建一個sudo.log文件。用命令touch /var/log/sudo.log 創建日志文件
2.修改rsyslog配置文件。用命令vi /etc/reslog.conf 進入配置文件添加local2.debug(注意:在空白處不能用空格鍵,必須用tab鍵,保存退出(按“esc”鍵+冒號+wq))用命令systemctl restart rsyslog 重啟resyslog服務
3.修改sudo配置文件。visudo編輯配置文件sudo,加入如下幾行:
Defaults logfile=/var/log/sudo.log
Defaults loglinelen=0
Defaults !syslog
保存退出(按“esc”鍵+冒號+wq)
(2)限制su的使用
要求:除了swn用戶之外,禁止其他用戶使用su命令
方法:1.vi /etc/pam.d/su ->修改配置文件
取消如下的注釋:auth required pam_wheel.so use_uid 把這句話前面的#刪除(按i鍵進入編輯模式)
保存退出(按“esc”鍵+冒號+wq)
2. vi /etc/group->修改配置文件
把swn加入wheel組->wheel:x:10:swn
保存退出(按“esc”鍵+冒號+wq)
vi
(3)管理suid/sgid文件
要求:系統里面存在設置suid的vim程序(/usr/bin/vim),存在提權風險,必須修改vim程序的suid權限
方法:改變權限即: chmod u-s /usr/bin/vim
(4)設置嚴格的umask
要求:將用戶默認的umask值修改為027
方法:1.進入配置文件—>vi /etc/bashrc 把umask值修改為027,保存退出(按“esc”鍵+冒號+wq)
- 進入配置文件—>vi /etc/profile 把umask值修改為027,保存退出(按“esc”鍵+冒號+wq)
(5)注銷時清除歷史命令
要求:用戶注銷時清除該用戶的歷史命令
方法:1.修改配置文件——>vi /root/.bash_profile,在文章末尾加入下面一行:echo> /root/.bash_history. 保存退出(按“esc”鍵+冒號+wq)//清除root用戶的歷史命令
2.修改配置文件——>vi /home/swn/.bash_profile,在文章末尾加入下面一行:echo> /home/swn/.bash_history. 保存退出(按“esc”鍵+冒號+wq)//清除swn用戶的歷史命令
- 修改配置文件——>vi /etc/skel/.bash_profile,在文章末尾加入下面一行:echo> $HOME/.bash_history. 保存退出(按“esc”鍵+冒號+wq)//編輯用戶配置模板
(6)禁用coredump
要求:禁用系統的coredump
方法:1.vi /etc/security/limits.conf ——>進入配置文件修改
*hard core 0 ——.>文件末尾加入,然后保存退出(按“esc”鍵+冒號+wq)
2. vi /etc/sysctl.conf ——>進入配置文件修改
fs.suid_dumpable=0 ——.>文件中加入,然后保存退出(按“esc”鍵+冒號+wq),
使用命令sysctl -w fs.suid_dumpable=0重啟參數,參數立即生效(用sysctl -a |grep fs.suid_dumpable查看)
4.防木馬后門
(1)開啟網絡防火墻firewalld
要求:開啟網絡防火墻,只允許遠程主機訪問本地的特定端口,如22和80
方法:systemctl firewalld ——>啟動firewalld服務
systemctl firewalld——>設置服務開機自啟
firewalld-cmd --add-service=http——>允許訪問http
firewalld-cmd --add-service=http --permanent——>持久化(寫入配置文件)
firewalld-cmd --add-service=ssh——>
firewalld-cmd --add-service=ssh --permanent——>
firewalld-cmd --remove-service=dhcpv6-cllient——>刪除不需要的服務
firewalld-cmd --remove-service=dhcpv6-cllient –permanent
firewalld-cmd --list-service——>查看firewalld允許的服務
firewalld-cmd --list-service --permanent——>查看配置文件允許的服務
- 限制crontab使用者
要求:禁止除了root以外的用戶以crontab方式運行計劃任務
方法:創建并編輯文件cron.allowtouch /etc/cron.allow&vi /etc/cron.allow并且在文件第一行寫入root,然后保存退出(按“esc”鍵+冒號+wq)
加入swn用戶輸入crontab -e
5.防痕跡清除
(1)啟用rsyslog服務
要求:啟動rsyslog服務并設置為開機自動運行
方法:自動啟動服務——>systemctl enable rsyslog
手動啟動服務——>systemctl start rsyslog
(2)配置遠程日志服務器
要求:配置遠程rsyslog日志服務器
方法:1.修改配置文件——> vi /etc/rsyslog.conf,在配置文件/etc/rsyslog.conf末尾加入:*.*@192.168.26.137——>將全部日志轉發到192.168.26.137的UDP514端口,保存退出(按“esc”鍵+冒號+wq)
- 加強審計日志文件權限
要求:設置嚴格的權限給auidit日志文件,防止日志信息被惡意操作
方法:chmod 700 /var/log/audit
Chmod 600 /var/log/audit/audit.log
搜索:Kali與編程,學習更多技術干貨!