linux服務器安全設置{未驗證}

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"
#define SERVER_BASEPRODUCT  "Apache"
#define SERVER_BASEREVISION "1.3.20"
可以根據自己的意願改成其他信息,筆者改的是Microsoft-IIS/5.0。
SSH
編輯文件/etc/ssh/sshd_config,找到這行:
Banner /etc/issue.net
在此行前加#進行註釋就可以不顯示SSH的Banner。
Sendmail
在sendmail.mc文件中去掉$v、$z這兩個宏,幷包含下面的內容:
define(`confSMTP_LOGIN_MSG',$j Sendmail Secure/Rabid;$b)
然後生成sendmail.cf文件:
#m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
如果sendmail.mc中沒有include(`/usr/share/sendmail-cf/m4/cf.m4')這一行就需要和Sendmail提供的預設的配置文件cf.m4一起使用來生成文件sendmail.cf:
#m4 /usr/share/sendmail-cf/m4/cf.m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

php
vi php.ini
設置 expose_php = Off
 

本文出自 “kerry學網絡” 博客,請務必保留此出處http://kerry.blog.51cto.com/172631/102128

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章