平特肖中了5肖怎么赔|开码日杀平特肖公式
  • 當前位置: 主頁 > Linux安裝教程 > 系統安裝 >

    深入分析Linux 系統深度安全加固

    時間:2019-06-04 07:00來源:網絡整理 作者:Linux先生 舉報 點擊:
    登錄采用加密的 ssh,如果管理員只從固定的終端登陸,還應限制合法 ssh 客戶端的范圍防止嗅探及中間人攻擊 防止入侵者向其中寫入木馬語句(諸如一個shell的拷貝)

      ★ Linux 系統深度安全加固

      1. 安裝和升級

      盡量選用最新的 Linux 發行版本,安裝前拔掉網線,斷開物理連接,安裝時建議用 custom 自定義方式安裝軟件包,數量以少為好,一般來說服務器沒有必要安裝 X-windows,在 lilo/grub 引導器中加入口令限制,防止能夠物理接觸的惡意用戶因為 Linux 安裝光盤的 rescue 模式可以跳過這個限制,所以還要給bios加上密碼或服務器機箱上鎖 /var, /home, /usr, /root 等目錄用獨立的物理分區,防止垃圾數據和日志填滿硬盤而導致 D.o.S 攻擊.

      root 賬號給予強壯的口令.

      安裝完畢立即用 up2date 或 apt 升級系統軟件,有時升級內核也是必要的,因為內核出現問題同樣會給攻擊者提供機會Apt 是 Debian GNU Linux 下的一個強大的包管理工具,也可用于其他版本的 Linux.

      2. 賬號

      如果系統中的用戶比較多,可以編輯 /etc/login.defs,更改密碼策略

      刪除系統中不必要帳戶和組,

      [[email protected] /]# userdel -r username

      如果不開匿名 ftp 則可以把 ftp 賬號也刪了

      最安全的方式是本地維護,可惜不太現實,但還是需要限制 root 的遠程訪問,管理員可以用普通賬戶遠程登錄,然后 su 到 root,我們可以把使用 su 的用戶加到 wheel 組來提高安全性

      在 /etc/pam.d/su 文件的頭部加入下面兩行:

      auth sufficient /lib/security/pam_rootok.so debug

      auth required /lib/security/pam_wheel.so group=wheel

      然后把可以執行 su 的用戶放入 wheel 組

      [[email protected] /]# usermod -G10 admin

      編輯 /etc/securetty,注釋掉所有允許 root 遠程登錄的控制臺,然后禁止使用所有的控制臺程序,[[email protected] /]# rm -f /etc/security/console.apps/servicename

      登錄采用加密的 ssh,如果管理員只從固定的終端登陸,還應限制合法 ssh 客戶端的范圍防止嗅探及中間人攻擊

      將命令歷史紀錄歸為零,盡可能的隱藏你做過的事情

      [[email protected] /]# unset HISTFILESIZE

      3. 服務

      最少服務原則,凡是不需要的服務一律注釋掉

      在 /etc/inetd.conf 中不需要的服務前加 "#",較高版本中已經沒有 inetd 而換成了 Xinetd;取消開機自動運行服務,把 /etc/rc.d/rc3.d 下不需要運行的服務第一個字母大寫改稱小寫,或者由 setup 命令啟動的 GUI 界面中的 service 更改

      如果你希望簡單一點,可以使用 /etc/host.allow,/etc/host.deny 這兩個文件,但是本文計劃用 iptables 防火墻,所以不在此詳述.

      4. 文件系統權限

      找出系統中所有含 "s" 位的程序,把不必要得 "s" 位去掉,或者把根本不用的直接刪除

      [[email protected] /]# find / -type f ( -perm -04000 -o -perm -02000 ) -exec ls -lg {}

      [[email protected] /]# chmod a-s filename

      防止用戶濫用及提升權限的可能性

      把重要文件加上不可改變屬性

      [[email protected] /]# chattr +i /etc/passwd

      [[email protected] /]# chattr +i /etc/shadow

      [[email protected] /]# chattr +i /etc/gshadow

      [[email protected] /]# chattr +i /etc/group

      [[email protected] /]# chattr +i /etc/inetd.conf

      [[email protected] /]# chattr +i /etc/httpd.conf

      ...............................

      具體視需要而定,我懷疑現在的入侵者都知道這個命令,有些 exploit 溢出后往 inetd.conf 寫一條語句綁定 shell 在一個端口監聽,此時這條命令就起了作用,淺薄的入侵者會以為溢出不成功.

      找出系統中沒有屬主的文件:

      [[email protected] /]# find / -nouser -o -nogroup

      找出任何人都有寫權限的文件和目錄:

      [[email protected] /]# find / -type f ( -perm -2 -o -perm -20 ) -exec ls -lg {}

      [[email protected] /]# find / -type d ( -perm -2 -o -perm -20 ) -exec ls -ldg {}

      防止入侵者向其中寫入木馬語句(諸如一個shell的拷貝)或繼承屬主權限而非法訪問

      找出并加固那些歷來被入侵者利用的文件,比如 .rhosts

      編輯 /etc/security/limits.conf,加入或改變如下行:

      * hard core 0

      * hard rss 5000

      * hard nproc 20

      5. Banner 偽裝

      入侵者通常通過操作系統,服務及應用程序版本來攻擊,漏洞列表和攻擊程序也是按此來分類,所以我們有必要作點手腳來加大入侵的難度

      更改 /etc/issue,因為 reboot 后重新加載,所以編輯 /ect/rc.d/rc.local

      # This will overwrite /etc/issue at every boot. So, make any changes you

      # want to make to /etc/issue here or you will lose them when you reboot.

      #echo "" > /etc/issue

      #echo "$R" >> /etc/issue

      #echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue

      #

      #cp -f /etc/issue /etc/issue.net

      #echo >> /etc/issue

      把以上行前的 "#" 去掉

      Apache 不回顯版本:

      apache 的配置文件,找到 ServerTokens 和 ServerSignature 兩個 directive,修改默認屬性:

      #ServerTokens Full

      ServerTokens Prod <----------

      #ServerSignature On

      ServerSignature Off <----------

      修改 uname

      拿出 uname.c 的源碼,找到如下行

      print_element (PRINT_SYSNAME, name.sysname);//操作系統名如 linux

      print_element (PRINT_NODENAME, name.nodename);//主機名

      print_element (PRINT_RELEASE, name.release);//發行版本,如:2.4.20-18

      print_element (PRINT_VERSION, name.version);//

      print_element (PRINT_MACHINE, name.machine);//機器類型,如i686

      print_element (PRINT_PROCESSOR, processor);//處理器類型

      可以修改為

      print_element (PRINT_SYSNAME,"HP-UX");

      .......

      編譯后替換 /bin/uname

      其他服務及程序的修改可以查看其配置文件或者源碼不要改太多,否則會給系統管理帶來大麻煩。

      6. Iptales 防火墻規則

      假設我們的服務器 server1 運行 apache,sshd (sshd 可以不運行在標準端口,配置文件中能修改)eth0 網卡接 Internet,eth1 連接 LAN,管理員在家中撥號登陸到 server2 (其私用網絡 IP 為 192.168.0.12),再登陸 server1[[email protected] root]# iptables -A INPUT -i eth1 -s 192.168.0.12 -p tcp --dport 22 -j ACCEPT為防止 IP spoofing 的可能,還可以綁定 server2 的網卡地址:sh-2.05b# iptables -A INPUT -i eth1 -s 192.168.0.12 --mac-source 01:68:4B:91:CC:B7 -p tcp --dport 22 -j ACCEPT不過好像也很少有入侵者能夠做到這種地步,而且沒什么利用的價值

      [[email protected] root]# iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

      [[email protected] root]# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

      [[email protected] root]# iptables -A INPUT -j DROP

      對攻擊有所了解的人都知道“端口重定向+反向管道”的美妙結合來穿越防火墻的例子吧這種技巧已經運用太廣,而危害很大為了對抗這種難以防御的攻擊,我們必須以犧牲一定的易用性為代價 [[email protected] root]# iptables -A OUTPUT -o eth0 -p tcp --syn -j DROP以上規則將阻止由內而外的 TCP 主動連接另外,用 tftp 或其他客戶端反向攫取文件的攻擊行為也很普遍,由于 tftp 以及其他一些工具依賴 UDP,所以現在要把它徹底抹煞掉[[email protected] root]# iptables -A OUTPUT -o eth0 -p udp -j DROPPS: 在更新系統和調試網絡時需要把這兩條規則臨時去掉因為入侵的本質就是通過文本或圖形界面在標準或非標準端口得到目標操作系統的 shell,所以,這不僅能阻止反向管道本身,還能免疫很多入侵技巧不過對一般的系統管理員而言,這太苛刻了!

      iptables 的一些攻擊對策

      Syn-flood protection:

      [[email protected] foo]# iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

      Furtive port scanner:

      [[email protected] foo]# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

      Ping of death:

      [[email protected] foo]# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

      此外,iptables 還能配置出讓一些掃描行為比如 nmap 失效的規則,應當注意:防火墻不是萬能的,當一個攻擊者足夠瘋狂時,不要指望你的防火墻能抵擋得住 DDoS 的洪水。

    推薦內容
  • 平特肖中了5肖怎么赔 17176期的彩票中奖号码 浙江快乐彩遗漏期 云南十一选五购买技巧 十三水作弊技巧视频 网络捕鱼赚人民币 极速快乐十分计划软件下载 申城棋牌网报名 欢乐斗地主最新版 北单比分网 众赢娱乐首页