隨著每個企業越來越依賴互聯網,網路安全日益成為組織焦點。在這方面,Linux系統是一個很好的起點。由於開源、廣泛使用、無需授權等特點,Linux系統成為了許多組織和企業的首選作業系統。然而,Linux系統的風險也不斷增加。本文將介紹如何加強和修復Linux系統漏洞,並提供了一些範例程式碼,幫助您對Linux系統進行更安全方面的設定。
首先,我們需要專注於這些方面:使用者管理、檔案和目錄權限、網路和伺服器配置以及應用程式安全性。以下將介紹每個方面的詳細措施和範例程式碼。
強密碼
制定密碼策略,要求使用者選擇複雜的密碼,並且定期更換密碼。
#强制用户选择具备最低密码强度的密码 auth requisite pam_passwdqc.so enforce=users #强制/用户更改自己的密码 auth required pam_warn.so auth required pam_passwdqc.so min=disabled,disabled,12,8,7 auth required pam_unix.so remember=24 sha512 shadow
禁止root遠端登入
建議設定只有具備root權限的使用者可以直接進行連線。在/etc/ssh/sshd_config中配置PermitRootLogin為no。
登入逾時
逾時設定可以確保在空閒一段時間之後自動斷開連線。在/etc/profile或~/.bashrc中設定如下:
#设置空闲登陆超时退出时间为300秒 TMOUT=300 export TMOUT
預設配置
預設配置將允許所有使用者都可以查看到所有的檔案和目錄。在/etc/fstab檔案中加入以下內容:
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0 tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0 tmpfs /dev/shm tmpfs defaults,noatime,mode=1777 0 0
確定敏感檔案和目錄的權限
應該將存取權限限制在特定使用者群組或個人身上。使用chown和chmod指令來修改檔案和目錄的權限,以下範例是為某個目錄設定只能root使用者修改:
#修改某目录只能root用户修改 chown root /etc/cron.deny chmod 600 /etc/cron.deny
檢查SUID、SGID、Sticky Bit位元
SUID ( Set user ID), SGID(Set group ID),Sticky Bit等位元是Linux系統中的一些安全標記,需要定期稽核。下面的指令用來找出任何不合格的權限情況:
#查找SUID权限未被使用的文件和目录 find / -perm +4000 ! -type d -exec ls -la {} ; 2>/dev/null #查找SGID权限未被使用的文件和目录 find / -perm +2000 ! -type d -exec ls -la {} ; 2>/dev/null #查找粘滞位未设置的目录 find / -perm -1000 ! -type d -exec ls -la {} ; 2>/dev/null
防火牆
##iptables是Linux中最常用的防火牆應用之一。下面的範例程式碼阻止了所有進入的存取:#清空所有规则和链 iptables -F iptables -X #允许所有本地进出的通信,并拒绝所有远程的访问 iptables -P INPUT DROP iptables -P OUTPUT DROP #添加规则 iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
#更新已安装的所有软件包 yum -y update #更新单个软件包 yum -y update <package>
#编译静态链接库 gcc -o app app.c -static
以上是如何進行Linux系統的安全加固與漏洞修復的詳細內容。更多資訊請關注PHP中文網其他相關文章!