简单讲解网络安全与安全设置[zz]
文章转载请注名出处
作者 dxainx slinux redhatd 晚上小飞贼
都是一个人~~
1:SQL注入 (sql Injection)
这个漏洞比较常见,比如说asp+Access注入,Asp+MSSQL注入.Aspx+MSSQL注入等等. 现在 PHP+MYSQL 的也不少
PS:如果有人说静态页更好弄 估计不是他脑子进水 就是个2B 比如前段时间某人说:我只黑动态页 因为静态页太脆弱了
PS: 现在中情局 国防部 X角大楼 都是静态的(XXXBSD+APACHE html) 想装B弄静态页就可以出名了 。。。 太J8 好了。。
先说ASP。
现在那些垃圾搞ASP 站点的最多。 为啥?。。 一般来讲 asp 都为IIS 捆绑的 IIS 的话肯定就是WINDOWS WINsystem 的提升权限一般来讲是最好的弄的
防范过滤一些敏感字符比如 and or ' select update chr delete %20from ; insert mid master. set = 等
之类 但是也有突破方法比如提交 URLEncode 加密编码就可以突破过滤 or 1=1即%6f%72%20%31%3d%31 或者提交ASCII CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116)
主要注意:1:数据库一定要MD5 加密 最好用户名和密码都加密 密码长度最好在13位以上有字符+数字+特殊字符怎么记忆呢?比如某某站点叫 redhatd 密码设置为 redhatd1~redhatd1~ 这样就比较容易了吧长度不够在来个重复 还有方法就是记忆歌词:21岁还是处男之身 esyshscnzs 每个发音的声母。。后面在加特殊字符点
再说:php和JSP
这样的站 一般除了 ASP 就是 搞PHP 的挺多 但是搞PHP 站点的小黑多半是有些水准的 防范方法 还是注意 同上过滤一些敏感字符比如 and or ' select update chr delete %20from ; insert mid master. set = 密码长度 越长越好
FQA
问:密码为什么要 这么长
redhatd答: 因为很多人拿到注入后的密文都会去 一些站点读 比较有名的有
http://www.xmd5.com/ http://www.cmd5.com/ 还有一些国外的 这里不在多说 都有一个共同点 不是直接解密码而是根据自己的数据库查找密码。。。虽然某博士研究出了MD5 逆向算法。。不过这个还没广泛应用。所以基本上 MD5 是不可逆的 。。。
问:长度长一些就 安全了吗?
redhatd答: 错了 也有些变态的会 暴力跑MD5密文 (别说我变态) (PS:一个跑MD5的软件MD5Crack2 各位管理员试下就知道多速度了)
虽然这样的人比较少 但是一旦用暴利破解 就没有破不了的密码 剩下的只是时间问题。 有什么办法呢? 呵呵你可以考虑把汉字 或者 日文假名 等 比如 “ァ ◇” 之类复制到密码框 做为密码的一部分。 让别人无从猜起猜死为止
PS:社会工程学: 注意密码的唯一性....如果你是多个服务器的管理员 强烈建议密码不要设置一样 否则 一台遭殃 全家沦陷
redhatd本人秘笈
教大家一个比较2的数据库分离方法 在服务器装个虚拟机 ViasulPC,vmwaer 都可以就装Win2003,如果大家有需要 可以自己租一个服务器 然后自己用共享模式上网,跟虚拟机共享,把数据库放在虚拟机里面.那么数据库也就是在内网了.实际上跟本机一样.现在数据库在外网已经TELNET不进 1433了.就算别人得到了数据库服务器也没什么用
PS:sql 的默认工作端口也可以改
2:sql&权限 (Competence chmod)
微软的MSSQL是建立在Windows平台的 他有两种方式验证用户 是MSSQL用户,一种是Windows身份验证.
所以极度不安全就在这里 如果一个攻击者拿到系统权限 那么他可以修改管理员密码 然后利用管理员密码 用Windows身份验证登陆到本机MSSQL 可以查阅对应数据库任何资料 以及修改 删除 还可以建立一个SYSTEM ADMIN权限的SQL帐号
这里一般的解决办法 网管在建立MSSQL管理帐号时,千万切记别采用默认模式登陆.MSSQL如果是用默认的模式登陆的话,那么可以使用Windows用户验证.所以只能采用MSSQL帐户 删除xp_cmdshell 如果不是一定需要 建议讲WSCRIPT.SHELL 组建也删除
一般的网站权限不长期改的建议设置成 只读 还有一些就是网站 如果没有必要用sa 权限的话 最好不用 linux 的话建议把网站目录权限写成 chmod 544 (root 用户 可读 可执行 其他用户 可读)
3:上传与下载(Upload and Download)
这种类型的漏洞挺多也挺火 上传一般是通过欺骗的方式 上传一个文件之类 就算你禁止 上传某种文件类型 但是因为网站程序过滤不严 有些只过滤头文件之类 只要修改头文件就可以达到上传任何程序的目的
比较经典的 就是抓包上传 NC提交。。
下载漏洞 一般是通过构造特殊的 URL 来下载对自己有利用价值的文件
比如 discuz! 的 config.inc.php 取一小段
$dbhost = 'localhost'; // 数据库服务器
$dbuser = 'root'; // 数据库用户名
$dbpw = 'hook789'; // 数据库密码
$dbname = 'dz'; // 数据库名
$pconnect = 0; // 数据库持久连接 0=关闭, 1=打开
如果能正常下载这个 php 文件等于说是已经有了 连接SQL 的账户了所以我上面在说 一般情况不用最高权限的SQL用户
上传和下载漏洞 原因很多 一些是因为系统漏洞 一些是网站程序的漏洞 设置好了权限也可以防止其进一步被利用
4: 欺骗与被欺骗 (Deception and cheated)
这样的一般是因为人为的疏忽或者因为自己不购仔细。。
比如XSS 外国比较火 XSS 虽然不能直接 得到密码 或者什么敏感信息
但是可以以欺骗的方式建立一个 登陆验证框 如果你以为这个框是系统的就输入了正确的用户名和密码 那么 你的用户名 等密码文件就被存储到另外的一个地方 所谓的黑客就利用用户名 和密码入侵的网站
再比如 COOKIE 欺骗 一些网站的后台 采用COOKIE 认证的方式 如果别人构造了你的COOKIE 别人就可以不输入密码 进入管理后台了
虽然COOKIE 认证 不安全 但是还是有很多商业程序再用 也有不少用SESSION的 但是也不说 SESSION 就觉得安全 因为 有 SESSIONIE 来 持续保持 SESSION 详细实现只需要你再肉鸡上设置 一段时间连接 SESSION 连接一次 这样 SESSION 就可以永不过期 不过这个方法知道的人好比较少
欺骗 多半还是 COOKIE 方式比较多。
社会工程学
这个不像多说 多长几个心眼 不要用自己的 身份证号 生日 邮箱等做为密码
给大家个 工程学入侵参考地址:
http://bbs.yeshack.com/viewthread.php?tid=6655&highlight=%C9%E7%BB%E1%B9%A4%B3%CC
5:Arp-Sniffer
这个漏洞最值得关注 前段时间黑防 安全中国 黑客X档案 相继被黑 还有朽木BLOG 被入侵 攻击者就是通过Arp欺骗获得网站后台等帐号密码等信息的 当然也是可以防御的 但是一般因为一些机房管理人员根本没有这个意识 而且 防御ARP 只有 绑定MAC 需要再最高权限下执行
SNIFFER必须在同一个网段 也就是我们说的同段局域网 C段地址要一样 解决方法可以用ipconfig /all看下自己的MAC 然后用arp -s ip mac地址 就可以绑定MAC地址了 如果实在不会 大家用google搜索下.大家也可以用arp /? 看下 有相关的命令帮助.
Example:
> arp -s 157.55.85.212 00-aa-00-62-c6-09 .... Adds a static entry.
> arp -a .... Displays the arp table.
这个就是格式了.arp -a可以查看有没有人在通过网关ARP你的服务器
linux 绑定MAC
建立/etc/ethers文件
其中包含正确的IP/MAC对应关系
192.168.2.32 xx:xx:xx:xx:xx:xx XX 为MAC
然后在/etc/rc.d/rc.local的最后添加:
arp -f
就好
DEBIAN:
以MAC地址xx:xx:xx:xx:xx:xx 为例
debian的是在/etc/network/interface中对应网卡处加入 hwaddress ether xx:xx:xx:xx:xx:xx
或者在/etc/init.d/networking中加入一句: /sbin/ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
重起服务:/etc/init.d/network restart
5: shellcode 与 exploits
因为一些网站程序是 公开下载 比如 新云网站管理系统 DVBBS 什么的。。
当然一些黑客也可以下载下来并自己分析当中的过滤不严
这样的漏洞 一般厂家没出补丁之前根本没办法防的。 都是一些超级牛人 挖掘出来的漏洞
还有种叫法叫 0 day 这可不是“零天”漏洞 一般来讲 0 DAY 是有人挖掘出了漏洞 但是厂家还没出补丁 的这么一个空档时间。
防御的尽量多使用静态网页 多去看一些程序的官方更新。。
PS: 发布漏洞、exploits、shellcode 的站点 http://www.sebug.net/ http://www.milw0rm.com/
清楚自己的程序的话也需要去看下官方
6: 服务器变态设置
这里呢 分几个部分来讲
1:用户与账户
windows Administrator用户一定要重命名 guest 彻底删除
你可以设置Admin Admin1 Admin2…… admin只赋予修改权限 admin1只赋予读取和运行权限 admin2只赋予列出文件夹和目录权限 admin3只赋予写入权限 admin4只赋予读取权限 然后每个帐户根据需要分配配额
linux 密码和用户文件地球人都知道 是 /etc/password /etc/shadow
password
root:x:0:0:root:/root:/bin/bash
中间还有很多行。。
slinux:x:1000:1000:slinux,,,:/home/slinux:/bin/bash
SLINUX 是我自己的用户名
改为
slinux:x:0:0:slinux:/home/slinux:/bin/bash
root:x:1000:1000:root,,,:/root:/bin/bash
shadow
root:$1$Ihe0v$YedFPdHzMix1J0pVStefv0:13810:0:99999:7:::
中间还有很多行
slinux:$1$MT60Xwi5$xzTteUFZav55J8PRgnUOf1:13810:0:99999:7:::
改为
slinux:$1$MT60Xwi5$xzTteUFZav55J8PRgnUOf1:13810:0:99999:7:::
root:$1$Ihe0v$YedFPdHzMix1J0pVStefv0:13810:0:99999:7:::
这样的话 slinux 的话成为root 权限 现在就算别人搞到root 帐户也没用
PS: shadow password 改写的时候可能有权限 问题 用 root 用户设置权限 为chmod 700 修改完毕在设置为chmod 500
PS:注意别把LINUX 加密后的密文弄乱了
2:命令重设 用过 windows 的应该知道cmd 或者command
下面来重设命令
doskey 1=dir //把CMD 的dir 命令定义为1
doskey dir=x //把dir 命令 定义为x 这样1 的命令跟dir 就是等效果 dir 等于X
doskey 2=del
doskey del=x2
doskey 3=net
doskey net=x3
个人认为需要修改的命令 doskey 本身防止别人重设回来
net命令 防止新建帐户 del 命令 copy 命令 format 命令 command 与cmd 命令
LINUX 重设命令
alias 1="ls" //把bash 的ls 命令定义为1
alias ls="s" // 把ls 命令重设 为s
alias cd..="cd .."
alias cd ..="s2"
alias md="mkdir"
alias mkdir="s3"
alias rd="rmdir"
alias rmdir="s4"
PS: 记得将 unalias 命令删除或者重设命令 因为unalias 命令是用来恢复重设命令的
个人认为需要修改的命令 useadd rd vi cat rm head cp userdel groupadd chmod 等
7: 菜鸟网管的漏洞。。。
这个不想多说 比如 默认的数据库 默认的用户用 默认的后台地址 发布了补丁N 久没有补的漏洞 管理员帐号密码过于简单 等等。。。