敏感信息泄露漏洞和防范
第一部分:
个人敏感信息泄露,比如手机号,身份证号,扣扣号,经常用的密码,口头禅等等之类,在自己不经意间,个人隐私因为自己的不注意已经全部爆漏在公共面前.
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)