1.禁止ping
/etc/rc.d/rc.local
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
2.對用戶和口令文件進行權限控制
chmod 600 /etc/passwd
chmod 600 /etc/shadow
chmod 600 /etc/group
chmod 600 /etc/gshadow
3.給下面文件加上不可更改屬性
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
4.對vsftp進行訪問控制
vi hosts.deny
vsftpd: all --先禁止所有vsftp的請求
vi hosts.allow
vsftpd: 192.168.2.1 --再允許內網的vsftd請求
5.關閉無用端口,只開啟常規端口(21、22、80、443)
service portmap stop
chkconfig --level 35 portmap off --關閉111端口
netstat -nap |grep 32768
killall rpc.statd --關閉32768端口
netstat -nap |grep 631
killall cupsd --關閉631端口
service sendmail stop
chkconfig --level 12345 sendmail off --關閉25端口
6.apache安全設置(先備份httpd.conf配置文件)
vi /etc/httpd/httpd.conf
ServerSignature Off
ServerTokens Prod ---隱藏Apache的版本號及其它敏感信息
<Directory>
Options -ExecCGI -FollowSymLinks -Indexes --關閉CGI執行程序、includes、目錄瀏覽
</Directory>
將UserDir public_html改為UserDir disabled
#ScriptAlias /cgi-bin "/usr/local/apache/cgi-bin/"
注釋掉manual
7.vi /etc/profile
HISTFILESIZE=30
HISTSIZE=30 --這表示每個用戶的“.bash_history”文件只可以保存30條舊命令
tmout=600 --用戶將在10分鐘無操作后自動注銷
vi /etc/skel/.bash_logout
rm -f $HOME/.bash_history --當用戶每次注銷時,“.bash_history”文件都會被刪除。
vi /etc/inittab
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
改為:
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
/sbin/init q --讓改動起作用
8.刪除無法帳戶和組
userdel adm
userdel lp
userdel sync
userdel shutdown
userdel halt
userdel mail
userdel news
userdel uucp
userdel operator
userdel games
userdel ftp
groupdel adm
groupdel lp
groupdel mail
groupdel news
groupdel uucp
groupdel games
==================================================================================================
你的webserver支持TRACE 和/或 TRACK 方式。 TRACE和TRACK是用來調試web服務器連接的HTTP方式。
支持該方式的服務器存在跨站腳本漏洞,通常在描述各種瀏覽器缺陷的時候,把"Cross-Site-Tracing"簡稱為XST。
攻擊者可以利用此漏洞欺騙合法用戶并得到他們的私人信息。
解決方案: 禁用這些方式。
如果你使用的是Apache, 在各虛擬主機的配置文件里添加如下語句:
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
===================================================================================================
下面簡單的說一些修改那些服務Banner的方法
apache
徹底地去掉banner, 修改httpd.h:
Include/httpd.h
Define SERVER_BASEVENDOR "Apache Group"
Define SERVER_PRODUCTVENDOR "Apache"
Define SERVER_BASEVERSION "1.3.27"
后從新編譯Apache就能夠完全去掉了
Wu-ftp
用十六進制文本編輯器修改/usr/sbin/in.ftpd文件,找到如下幾行:
/var/log/lastlog
Could not write %.100s: %.100s
Version wu-2.6.1-16
改成
Microsoft FTP Service (Version 5.0)
或者
Serv-U FTP Server v4.0 for WinSock ready...
Telnet banner
編輯文件/etc/issue.net,找到類似這行(不同版本的Linux內容不太一樣):
Red Hat Linux release 8.0 (Psyche)
Kernel \r on an \m
改成
Microsoft Windows Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99206.1
由于issue.net重啟后會自動恢復,為了保持這些偽造的信息,需要再編輯文件/etc/rc.local,在這些行前加“#”號,注釋掉恢復的功能:
# echo "" > /etc/issue
# echo "$R" >> /etc/issue
# echo "Kernel $(uname -r) on $a $SMP$(uname -m)" >> /etc/issue
# cp -f /etc/issue /etc/issue.net
# echo >> /etc/issue
Apache
在安裝Apache前,在源文件/src/include目錄下找到httpd.h頭文件。此文件定義了apache的版本信息,apache安裝時需要調用它。編輯http.h文件,找到如下幾行:
#define SERVER_BASEVENDOR "Apache Group"