敏感信息泄露漏洞和防範
第一部分:
個人敏感信息泄露,比如手機號,身份證號,扣扣號,經常用的密碼,口頭禪等等之類,在自己不經意間,個人隱私因爲自己的不注意已經全部爆漏在公共面前.
Q:如何防禦?
A:注意個人隱私保護,經常更換密碼,多備用幾套密碼。
第二部分:
也就是操作系統部分,比如操作系統的類型
cat /etc/issue
cat /etc/issue
etc/*-release
cat /proc/version
uname -a
uname -mrs
rpm -q kernel
dmesg | grep Linux
ls /boot | grep vmlinuz
cat /etc/profile
cat /etc/bashrc
cat ~/.bash_profile
cat ~/.bashrc
cat ~/.bash_logout
env
set
ps aux
ps -ef
top
cat /etc/service
查看開放的端口
netstat -tnalun
具有root權限的服務
ps aux | grep root
ps -ef | grep root
安裝了那些服務
ls -alh /usr/bin/
ls -alh /sbin/
查看主機的計劃任務
crontab -l
主機網絡配置信息
cat /etc/resolv.conf
cat /etc/sysconfig/network
cat /etc/networks
iptables -L
hostname
dnsdomainname
private-key 信息能否被發現?
cat ~/.ssh/authorized_keys
cat ~/.ssh/identity.pub
cat ~/.ssh/identity
cat ~/.ssh/id_rsa.pub
cat ~/.ssh/id_rsa
cat ~/.ssh/id_dsa.pub
cat ~/.ssh/id_dsa
cat /etc/ssh/ssh_config
cat /etc/ssh/sshd_config
cat /etc/ssh/ssh_host_dsa_key.pub
cat /etc/ssh/ssh_host_dsa_key
cat /etc/ssh/ssh_host_rsa_key.pub
cat /etc/ssh/ssh_host_rsa_key
cat /etc/ssh/ssh_host_key.pub
cat /etc/ssh/ssh_host_key
windows的不太熟悉。。。。。。
第三部分:
也就是中間件信息,比如Apache,niginx,tomcat,iis等中間件的版本,啓動文件,安裝目錄,配置文件,有了這些信息,可以在烏雲等安全網站,查找對應的漏洞以及類似的文檔,其次是運行在中間件腳本語言。
Apache敏感信息的防禦:
在配置文件/etc/http/httpd.conf中設置
ServerSignature off
serverToken Prod
就可以隱藏版本號和banner。
關閉目錄瀏覽
Options Indexes FollowSymLinks
改爲
Options -Indexes FollowSymLinks
屏蔽枚舉賬戶
安裝在Linux 7.0系統的各種版本Apache WEB服務器,在默認配置情況下允許遠程用戶觀察登陸的用戶是否爲合法用戶。當遠程用戶給可能存在的home提交一個HTTP請求時,服務器通常給出如下三種響應結果。如果用戶名合法並且該用戶有homepage的話,服務器會給出200響應和用戶的homepage。如果用戶名合法但homepage不存在,服務器給出403響應和服務器信息“You don’t have permission to access /~username on this server”。反之,如果用戶名不合法,服務器給出404響應和服務器信息“The requested URL /~username was not found on this server”。利用服務器給出的後兩種結果,用戶就可以用枚舉法尋找合法用戶,從而破壞系統。
註釋掉該行
UserDir public_html
隱藏PHP的banner
expose_php = off
至此,Apache的敏感信息大體屏蔽完畢。
隱藏nginx版本信息只需加一行
server_tokens off 即可隱藏版本信息
響應頭隱藏php版本信息,編輯php.ini將
expose_php = on
改爲
expose_php = off
還有一個猥瑣的辦法,顯示nginx的錯誤的版本號,修改nginx的源碼文件src/core/nginx.h將一下信息修改爲你想要的任何信息,
define NGINX_VERSION “1.9.5”
define NGINX_VER “nginx/” NGINX_VERSION
即可
tomcat隱藏版本號
首先找到這個jar包,$TOMCAT_HOME/lib/catalina.jar
依次路徑\org\apache\catalina\util\ServerInfo.properties
server.info
server.number
server.built
改爲別的信息即可。
至此有過接觸的中間件已經全部弄了
運行在中間件的腳本語言比如php(也只接觸過php),記得測試結束後刪除phpinfo()函數,或者改個別人不易猜到的名字,其次,php代碼中總是要有數據庫的地址,用戶名,密碼等等。這樣就不要安全,所以儘量換個地方保存,比如可以通過nginx的fastcgi_param來設置,例如:
fastcgi_param DATABASE_HOST 192.168.0.1;
fastcgi_param DATABASE_USERNAME administrator;
fastcgi_param DATABASE_PASSWORD e1bfd762321e409cee4ac0b6e841963c;
之後的php代碼就是
`
第四部分也就是數據庫的地方了。
也是版本號,user(),databases() load_file() into outfile()(直接出過mysql)