“九份的咖啡店”通过精心收集,向本站投稿了10篇Apache防止攻击WEB安全,下面是小编整理后的Apache防止攻击WEB安全,欢迎大家阅读分享借鉴,欢迎大家分享。
- 目录
篇1:Apache防止攻击WEB安全
为了防止恶意用户对Apache进行攻击,我们需要安装mod_security这个安全模块
mod_security 1.9.x模块的下载与安装
下载地址:www.modsecurity.org/download/
建议使用1.9.x,因为2.x的配置指令与1.x完全不同,解压后进入解压目录,执行:
/home/apache/bin/apxs -cia mod_security.c
编译完成后,/home/apache/modules下会生成一个mod_security.so文件
然后kate /home/apache/conf/httpd.conf
加入以下选项(如果没有的话)
#启用mod_security这个安全模块
LoadModule security_module modules/mod_security.so (这一句通常会被自动加入)
# 打开过滤引擎开关,如果是Off,那么下面这些都不起作用了。
SecFilterEngine On
# 把设置传递给字目录
SecFilterInheritance Off
# 检查url编码
SecFilterCheckURLEncoding On
# 检测内容长度以避免堆溢出攻击
#SecFilterForceByteRange 32 126
# 日志的文件和位置。一定要先建立好目录,否则apache重新启动的时候会报错。
SecAuditLog logs/audit_log
# debug的设置
#SecFilterDebugLog logs/modsec_debug_log
#SecFilterDebugLevel 1
#当匹配chmod,wget等命令的时候,重新定向到一个特殊的页面,让攻击者知难而退
SecFilter chmod redirect:www.sina.com
SecFilter wget redirect:www.sina.com
#检测POST数据,注意,请甚用这个开关,可能会导致一些post页面无法访问。详细的信息,请察看www.modsecurity.org的文档,其中有详细的post编码要求。
#SecFilterScanPOST Off
# 缺省的动作
SecFilterDefaultAction “deny,log,status:406″
# 重新定向用户
#SecFilter xxx redirect:www.sina.com
# 防止操作系统关键词攻击
SecFilter /etc/*passwd
SecFilter /bin/*sh
# 防止double dot攻击
SecFilter “\\.\\./”
# 防止跨站脚本(CSS)攻击
SecFilter “<( |\\n)*script”
# Prevent XSS atacks (HTML/Javascript. injection)
SecFilter “<(.|\\n)+>”
# 防止sql注入式攻击
SecFilter “delete[[:space:]]+from”
SecFilter “insert[[:space:]]+into”
SecFilter “select.+from”
#重定向exe和asp请求
SecFilterSelective REQUEST_URI “\\.exe” “redirect:www.google.com”
SecFilterSelective REQUEST_URI “\\.asp” “redirect:www.google.com”
#下面是限制了upload.php文件只能用来上传jpeg.bmp和gif的图片
#
#SecFilterInheritance On
#SecFilterSelective POST_PAYLOAD “!image/(jpeg|bmp|gif)”
#
#伪装服务器标识
SecServerSignature “Microsoft-IIS/6.0″
保存后重启apache即可!
为了防止Web服务器被DDoS攻击,我们需要安装mod_evasive这个防DDoS的模块
mod_evasive 1.10.x防DDoS模块的下载与安装
下载地址:www.zdziarski.com/projects/mod_evasive/
解压后进入解压目录,执行
/home/apache/bin/apxs -cia mod_evasive20.c
编译完成后,/home/apache/modules下会生成一个mod_evasive20.so文件
然后kate /home/apache/conf/httpd.conf
加入以下选项(如果没有的话)
#启用mod_evasive for Apache 2.x防DDoS模块
LoadModule evasive20_module modules/mod_evasive20.so (这一句通常会被自动加入)
#记录和存放黑名单的哈西表大小,如果服务器访问量很大,可以加大该值
DOSHashTableSize 3097
#同一个页面在同一时间内可以被统一个用户访问的次数,超过该数字就会被列为攻击,同一时间的数值可以在DosPageInterval参数中设置,
DOSPageCount 3
#同一个用户在同一个网站内可以同时打开的访问数,同一个时间的数值在DOSSiteInterval中设置。
DOSSiteCount 40
#设置DOSPageCount中时间长度标准,默认值为1。
DOSPageInterval 2
#DOSSiteInterval 2 设置DOSSiteCount中时间长度标准,默认值为1。
DOSSiteInterval 2
#被封时间间隔秒,这中间会收到 403 (Forbidden) 的返回。
DOSBlockingPeriod 10
#设置受到攻击时接收攻击信息提示的邮箱地址。
#DOSEmailNotify
#受到攻击时Apache运行用户执行的系统命令
#DOSSystemCommand “su - someuser -c ‘/sbin/… %s …’”
#攻击日志存放目录,BSD上默认是 /tmp
#DOSLogDir “/var/lock/mod_evasive”
SecFilterEngine On
SecFilterCheckURLEncoding On
SecFilterDefaultAction “deny,log,status:500”
#SecFilterForceByteRange 32 126
#SecFilterScanPOST On
SecAuditLog logs/audit_log
###
SecFilter “\\.\\./”
#####
SecFilter /etc/*passwd
SecFilter /bin/*sh
#for css attack
SecFilter “<( | )*script”
SecFilter “<(.| )+>”
#for sql attack
SecFilter “delete[ ]+from”
SecFilter “insert[ ]+into”
SecFilter “select.+from”
SecFilter “union[ ]+from”
SecFilter “drop[ ]”
篇2:防止局域网ARP攻击的方法WEB安全
【故障现象】当局域网内某台主机运行ARP欺骗的木马程序时,会欺骗局域网内所有主机和安全网关,让所有上网的流量必须经过病毒主机,其他用户原来直接通过安全网关上网现在转由通过病毒主机上网,切换的时候用户会断一次线。
切换到病毒主机上网后,如果用户已经登陆了传奇服务器,那么病毒主机就会经常伪造断线的假像,那么用户就得重新登录传奇服务器,这样病毒主机就可以 了。
由于ARP欺骗的木马程序发作的时候会发出大量的数据包导致局域网通讯拥塞以及其自身处理能力的限制,用户会感觉上网速度越来越慢。当ARP欺骗的木马程序停止运行时,用户会恢复从安全网关上网,切换过程中用户会再断一次线。
【快速查找】在WebUIà系统状态à系统信息à系统历史记录中,看到大量如下的信息:
MAC SPOOF 192.168.16.200
MAC Old 00:01:6c:36:d1:7f
MAC New 00:05:5d:60:c7:18
这个消息代表了用户的MAC地址发生了变化,在ARP欺骗木马开始运行的时候,局域网所有主机的MAC地址更新为病毒主机的MAC地址(即所有信息的MAC New地址都一致为病毒主机的MAC地址)。
同时在安全网关的WebUIà高级配置à用户管理à读ARP表中看到所有用户的MAC地址信息都一样,或者在WebUIà系统状态à用户统计中看到所有用户的MAC地址信息都一样。
如果是在WebUIà系统状态à系统信息à系统历史记录中看到大量MAC Old地址都一致,则说明局域网内曾经出现过ARP欺骗(ARP欺骗的木马程序停止运行时,主机在安全网关上恢复其真实的MAC地址)。
在上面我们已经知道了使用ARP欺骗木马的主机的MAC地址,那么我们就可以使用NBTSCAN(下载地址:www.utt.com.cn/upload/nbtscan.rar)工具来快速查找它。
NBTSCAN可以取到PC的真实IP地址和MAC地址,如果有”传奇木马”在做怪,可以找到装有木马的PC的IP/和MAC地址。
命令:“nbtscan -r 192.168.16.0/24”(搜索整个192.168.16.0/24网段, 即192.168.16.1-192.168.16.254);或“nbtscan 192.168.16.25-137”搜索192.168.16.25-137 网段,即192.168.16.25-192.168.16.137,
输出结果第一列是IP地址,最后一列是MAC地址。
NBTSCAN的使用范例:
假设查找一台MAC地址为“000d870d585f”的病毒主机。
1)将压缩包中的nbtscan.exe 和cygwin1.dll解压缩放到c:\\下。
2)在Windows开始à运行à打开,输入cmd(windows98输入“command”),在出现的DOS窗口中输入:C:\\nbtscan -r 192.168.16.1/24(这里需要根据用户实际网段输入),回车。
3)通过查询IP--MAC对应表,查出“000d870d585f”的病毒主机的IP地址为“192.168.16.223”。
【解决办法】
采用双向绑定的方法解决并且防止ARP欺骗。
1、在PC上绑定安全网关的IP和MAC地址:
1┦紫龋获得安全网关的内网的MAC地址(例如HiPER网关地址192.168.16.254的MAC地址为0022aa0022aa
2)编写一个批处理文件rarp.bat内容如下:
@echo off
arp -d
arp -s 192.168.16.254 00-22-aa-00-22-aa
将文件中的网关IP地址和MAC地址更改为实际使用的网关IP地址和MAC地址即可。
将这个批处理软件拖到“windowsà开始à程序à启动”中。
3)如果是网吧,可以利用收费软件服务端程序(pubwin或者万象都可以)发送批处理文件rarp.bat到所有客户机的启动目录。Windows2000的默认启动目录为“C:\\Documents and Settings\\All Users「开始」菜单程序启动”。
2、在安全网关上绑定用户主机的IP和MAC地址:
在WebUIà高级配置à用户管理中将局域网每台主机均作绑定。
篇3:关于如何防止PHP漏洞?WEB安全
踏入编程圈一年不到,之前写的文章一直放在个人博客上,以后我写的或整理的好的教程一定到园子里分享,只是园子里PHPer好像不怎么活跃,希望同行多多交流,这是我之前整理的一篇PHP漏洞文章!
漏洞无非这么几类,XSS、sql注入、命令执行、上传漏洞、本地包含、远程包含、权限绕过、信息泄露、cookie伪造、CSRF(跨站请求)等。这些漏洞不仅仅是针对PHP语言的,本文只是简单介绍PHP如何有效防止这些漏洞。
1.xss + sql注入(关于xss攻击详细介绍)
其中占大头的自然是XSS与SQL注入,对于框架类型或者有公共文件的,建议在公共文件中统一做一次XSS和SQL注入的过滤。用PHP写个过滤函数,可由如下所示:
$_REQUEST = filter_xss($_REQUEST);
$_GET = filter_xss($_GET);
$_POST = filter_xss($_POST);
$_COOKIE = filter_xss($_COOKIE);
$_POST = filter_sql($_POST);
$_GET = filter_sql($_GET);
$_COOKIE = filter_sql($_COOKIE);
$_REQUEST = filter_sql($_REQUEST);
最简单的filter_xss函数是htmlspecialchars
最简单的filter_sql函数是mysql_real_escape_string()
当然,谁都知道这种过滤filter_sql(详细防止sql注入)只能过滤字符型和搜索型的注入,对于数字型是没有办法的,但也说明做了这层过滤后,只需在后面注意数字型的SQL语句就可以了,遇到了加intval过滤就可以了,这就变得容易多了。
2. 命令执行
对于命令执行,可以从关键字入手,总共可分为3类
(1) php代码执行 :eval等
(2)shell命令执行:exec、passthru、system、shell_exec等
(3) 文件处理:fwrite、fopen、mkdir等
对于这几类需要注意其参数是否用户可控,
3.上传漏洞
对于上传漏洞,也是重点关注的地方,要仔细分析它的处理流程,针对上传的绕过方式是很多的,最保险的方式:在保存文件是采用文件名随机命名和后缀白名单方式。其次要注意的一点是上传文件的地方可能不止一处,不要有遗漏,可能会碰到这样的情况,突然在某个目录里面包含了一个第三方的编辑器在里面。
文件包含漏洞涉及的函数如include() 、include_once()、require()、require_once()、file_get_contents()等
最常见的还是出在下载文件功能函数,例如download.php?file=../../../etc/passwd 这种类型中。
4. 权限绕过
权限绕过可分为两类吧
(1)后台文件的未授权访问。后台的文件没有包含对session的验证,就容易出现这样的问题
(2)未作用户隔离,例如mail.php?id=23显示了你的信件,那么换个ID, mail.php?id=24就查看到了别人的信件,编写代码是方便,把信件都存在一个数据表里,id统一编号,前端展现时只需按id取出即可,但未作用户隔离,判定归属,容易造成越权访问。
这样的例子是很常见的,给某银行做评估是就经常发现这种漏洞。
5. 信息泄露
信息泄露算是比较低危的漏洞了,比如列目录这种就属于部署问题,而与代码审计无关了,而像暴路径、暴源码这种是需要防止的。曾经遇到这样的代码
表面上似乎没问题,可是当请求变为 xx.php?a[]=1时,即参数变为数组的时候,就会发生错误以致路径泄露,而用isset判断则不会,当然一个个防太麻烦,建议在配置文件中关闭错误提示,或者在公共文件中加入如下代码以关闭错误显示功能:
之前PHP点点通(phpddt.com)就有一篇文章:关于PHP防止漏洞策略 ,介绍了register_globals 的危害以及魔术引用Magic Quotes使用说明。
注明:本文部分内容摘自PHPCHINA
篇4:防止CSRF攻击
至于什么是csrf攻击请看:/Article/200712/22519.html
作者:Nexus
网站:nexus.playhack.net
日期:2007-10-25 (ISO 8601)
译者:韩国峰 www.hanguofeng.com
本文已经获得原作者Email授权――译者注
概览:
1. Hello World
2. 介绍
3. 关于认证技术
3.1 Cookies Hashing
3.2 HTTP来路
3.3 验证码
4. 一次性令牌
5. 最后的话
1.Hello World
欢迎来到崭新的Playhack.net的新季度开题项目报告,我非常高兴您能够再次回来让我们的c001项目重现。
希望您能喜欢这个新的短篇论文,我邀请你浏览位于www.playhack.net的全部新项目。
开始:几乎没有什么,只是一点香烟!:
呐喊:我向我的playhack m8s null,omni,god and emdel,ofc o str0ke大声呐喊!NEX 回来了。
2.介绍
我对跨站请求伪造(Cross Site Request Forgery,即CSRF)技术有一定研究,但是对网站开发者应当采取的措施研究不深。这些日子在编写一个对用户和管理员(这些人对他们的任务并不明晰:P)有高度安全要求的分布式网站程序时,我被这个话题深刻的纠缠了。
针对这种情况,我必须考虑程序最终可能受到的各个方面的可能的攻击威胁。
给我最多麻烦的就是Session欺骗(或者CSRF,你可以按照自己喜欢的方式称呼),因为这种攻击是完全以用户的身份,因此并没有百分百的可能性来防止它。
如果你对我刚才说所的Session欺骗并不太了解,那么你可以阅读:www.playhack.net/view.php?id=30
3.可行措施
Ok,从这里开始,我必须假定你对Session欺骗攻击的实施方法已经深刻领会了:P
让我们开始新的继续。
考虑到一个已经登录到网站的受信用户可以完成一些重要的或者私密的操作,攻击者尝试记性一个可能的登录攻击(但是大多数情况下是不可行的)并且得到已经登录用户的Session来实现其巧妙的行为。
为了劫持用户的Seession,入侵者精心构造一个适当的网页,在这个网页中包含了隐藏的JavaScript函数来重新创造一个原始操作表单,但是攻击者却修改了一些表单值,然后攻击者让受攻击者访问该页面,此时页面加载过程会提交上述表单到一个远程页面,以隐秘地完成一个请求(此时受攻击者并不知道),他们用这种方法利用了用户的受信身份。
这种方式简单解释了Session欺骗攻击是如何工作的,但是一个重要的问题是,“我如何避免我的用户成为这种攻击的受害者?”
现在,你可能想到如下的几种方法:
检查Cookies凭据
检查HTTP请求来路
使用验证码
但是经过一些尝试,你会发现这些方法不是我们应当采取的最合适的解决方式,让我们一个个的来看为什么。
3.1 Cookies Hashing
第一个方案可能是解决这个问题的最简单和快捷的方案了,因为攻击者不能够获得被攻击者的Cookies内容,也就不能够构造相应的表单。
这个问题的实现方法与下面的类似。在某些登录页面我们根据当前的会话创建Cookies:
// Cookie value
$value = “Something from Somewhere”;
// Create a cookie which expires in one hour
setcookie(“cookie”, $value, time()+3600);
?>
在这里,我们在Cookies中使用了散列来使得这个表单可被认证。
// Hash the cookie
$hash = md5($_COOKIE['cookie']);
?>
此时,后台的动态网页部分可以进行如下操作:
// Check if the “check” var exists
if(isset($_POST['check'])) {
$hash = md5($_COOKIE['cookie']);
// Check if the values coincide
if($_POST['check'] == $hash) {
do_something();
} else {
echo “Malicious Request!”;
}
} else {
echo “Malicious Request!”;
}
?>
事实上,如果我们不考虑用户的Cookies很容易由于网站中存在XSS漏洞而被偷窃(我们已经知道这样的事情并不少见)这一事实,这是一个很好的应对对CSRF的解决方案。如果我们为用户的每一个表单请求中都加入随机的Cookies,那么这种方法会变得更加安全,但是这并不是十分合适。
3.2 HTTP来路
检测访问来路是否可信的最简单方法是,获得HTTP请求中的来路信息(即名为Referer的HTTP头―译者注)并且检查它来自站内还是来自一个远程的恶意页面:这是一个很好的解决方法,但是由于可以对服务器获得的请求来路进行欺骗以使得他们看起来合法,这种方法不能够有效防止攻击。
让我们来看看为什么这并不是一个合适的方法。
下面的代码展示了HTTP Referer实现方法的一个例子:
if(eregi(“www.playhack.net”, $_SERVER['HTTP_REFERER'])) {
do_something();
} else {
echo “Malicious Request!”;
}
这个检测则会轻易的忽略掉来自某个攻击者伪造的HTTP Referer欺骗,攻击者可以使用如下代码:
header(“Referer: www.playhack.net”);
或者其他在恶意脚本中伪造HTTP头并发送的方法。
由于HTTP Referer是由客户端浏览器发送的,而不是由服务器控制的,因此你不应当将该变量作为一个信任源。
3.3 验证码
另外一个解决这类问题的思路则是在用户提交的每一个表单中使用一个随机验证码,让用户在文本框中填写图片上的随机字符串,并且在提交表单后对其进行检测。
这个方法曾经在之前被人们放弃,这是由于验证码图片的使用涉及了一个被称为MHTML的Bug,可能在某些版本的微软IE中受影响。
你可以在Secunia的站点上获得关于此缺陷的详细信息:secunia.com/advisories/19738/ 。
这里是Secunia关于此Bug解释的概述:
“此缺陷是由于处理“mhtml:”的URL处理器重定向引起的。它可以被用来利用从另外一个网站访问当前的文档”
在同一个页面你会找到来自Secunia工作人员的网站测试方法。
事实上,我们知道,这个Bug已经被微软放出的Windows XP和Windows Vista及其浏览器IE6.0的修复包所解决了。
即使他的确出现了安全问题,这么长时间也会有其他的可靠方案出现,
4.一次性令牌
现在让我们来看经过研究,我希望介绍的最后一种解决方案:在使用这些不可靠的技术后,我尝试做一些不同然而却是更有效的方法。
为了防止Web表单受到Session欺骗(CSRF)的攻击,我决定检测可能被伪装或伪造的每一个项目。因此我需要来创造一次性令牌,来使得在任何情况下都不能够被猜测或者伪装,这些一次性令牌在完成他们的工作后将被销毁。
让我们从令牌值的生成开始:
function gen_token() {
// Generate the md5 hash of a randomized uniq id
$hash = md5(uniqid(rand(), true));
// Select a random number between 1 and 24 (32-8)
$n = rand(1, 24);
// Generate the token retrieving a part of the hash starting from
// the random N number with 8 of lenght
$token = substr($hash, $n, 8);
return $token;
}
?>
PHP函数uniqid()允许web开发者根据当前的时间(毫秒数)获得一个唯一的ID,这个唯一ID有利于生成一个不重复的数值。
我们检索相应ID值的MD5散列,而后我们从该散列中以一个小于24的数字为开始位置,选取8位字母、
返回的$token变量将检索一个8位长的随机令牌。
现在让我们生成一个Session令牌,在稍后的检查中我们会用到它。
function gen_stoken() {
// Call the function to generate the token
$token = gen_token();
// Destroy any eventually Session Token variable
destroy_stoken();
// Create the Session Token variable
session_register(STOKEN_NAME);
$_SESSION[STOKEN_NAME] = $token;
}
?>
在这个函数中我们调用gen_token()函数,并且使用返回的令牌将其值复制到一个新的$_SESSION变量。
现在让我们来看启动完整机制中为我们的表单生成隐藏输入域的函数:
function gen_input() {
// Call the function to generate the Session Token variable
gen_stoken();
// Generate the form. input code
echo “
value=\\”“ . $_SESSION[STOKEN_NAME] . ”\\“>”;
}
?>
我们可以看到,这个函数调用了gen_stoken()函数并且生成在WEB表单中包含隐藏域的HTML代码。
接下来让我们来看实现对隐藏域中提交的Session令牌的检测的函数:
function token_check() {
// Check if the Session Token exists
if(is_stoken()) {
// Check if the request has been sent
if(isset($_REQUEST[FTOKEN_NAME])) {
// If the Form. Token is different from Session Token
// it's a malicious request
if($_REQUEST[FTOKEN_NAME] != $_SESSION[STOKEN_NAME]) {
gen_error(1);
destroy_stoken();
exit();
} else {
destroy_stoken();
}
// If it isn't then it's a malicious request
} else {
gen_error(2);
destroy_stoken();
exit();
}
// If it isn't then it's a malicious request
} else {
gen_error(3);
destroy_stoken();
exit();
}
}
?>
这个函数检测了$_SESSION[STOKEN_NAME]和$_REQUEST[FTOKEN_NAME]的存在性(我使用了$ _REQUEST方法来使得GET和POST两种方式提交的表单变量均能够被接受),而后检测他们的值是否相同,因此判断当前表单提交是否是经过认证授权的。
这个函数的重点在于:在每次检测步骤结束后,令牌都会被销毁,并且仅仅在下一次表单页面时才会重新生成。
这些函数的使用方法非常简单,我们只需要加入一些PHP代码结构。
下面是Web表单:
session_start();
include(“functions.php”);
?>
下面是解决的脚本代码:
session_start();
include(“functions.php”);
// Call the function to make the check
token_check();
// Your code
...
?>
你可以看到,实现这样一个检测是十分简单的,但是它可以避免你的用户表单被攻击者劫持,以避免数据被非法授权。
5.结论
让我们对这篇简短的论文做一个结论,你的Web应用程序没有百分百的安全,但是你可以开始避免绝大多数普通的攻击技术。
我希望您关注的另一个要点是,Web开发者不应当忽视一般的程序错误(例如XSS 浏览器漏洞等等),不将这些考虑为对您的用户的潜在威胁是一个巨大的错误:你应该永远记得它们将影响程序的信任性、安全性和互操作性。
Cya!
nexus
(前面的PHP代码是从Seride项目中参考的,该项目地址为:projects.playhack.net/project.php?id=3)
from:www.yeeyan.com/articles/view/hanguofeng/3994
篇5:如何防止邮件攻击
一、有哪些邮件攻击
校园网上大多数邮件服务器都是UNIX系统,包括Solaris, HPUX, AIX, IRIX,Linux等等,其中最通用的配置是运行sendmail和popper服务软件,Sendmail是SMTP服务器,专门负责接收和发送邮件;而popper是通过POP3协议来专门负责用户读取和处理邮件的请求。目前邮件服务器所受的攻击主要有下面两类:
1.中继利用(Relaying)。比如国外的用户通过你的邮件服务器给不属于你本地的用户发邮件,这样, 他的国际流量都记载在你的邮件服务器上。在SendmailV8.8之前的版本都不能防止这一类攻击。
2.垃圾邮件(Spamming),也叫邮件炸弹。这种情形是指邮件服务器或某个用户在很短的时间内收到大量无用的邮件,而且通常是从某一虚设的地址发来的。
这两类的攻击都是通过sendmail进行的。那么, 如何来防卫这两类的攻击呢? 最直接的方法就是安装 SendmailV8.8以上版本,因为在V8.8以上版本的Sendmail中已经提供了很好的功能来对付这些邮件攻击,Sendmail V8.8.x之前的版本都没有提供一定的机制来对付这种攻击。。下面我们就说明SendmailV8.9.3中是如何实现这些机制的。
1.Sendmail如何防止邮件攻击
我们知道,sendmail8.9.x的缺省配置是不允许邮件中继的。但通常我们不应屏蔽所有的邮件中继,至少本地子网中的IP地址是许可中继的。Sendmail提供了一些配置文件是我们可以根据自己的需要灵活配置,这些文件主要有:
1./etc/mail/relay-domains
在该文件中你可以设定那些你许可中继的域,比如 cs.pku.edu.cn来允许所有计算机系有域名的机器可以通过你的服务器发邮件。注意每次修改该文件后必须重新启动sendmail后,新的配置才起作用。
2./etc/mail/access
在该文件中,你可以根据域名、IP或 发送方的邮件地址(From 域)来允许或屏蔽中继或邮件轰炸。Access是一个正文文件,其中每项由一个地址做关键字,而一个动作做值。地址可以是域名如 host.subdomain.domain.com,subdomain.domain.com 或 domain.com,也可以是网络地址,子网地址,或单个IP地址,如205.199,205.199.2,或205.199.2.200;还可以是邮件地址,如 sam@netscape.com。下面我们看一个Access文件实例:
cyberpromo.com REJECT
cs.pku.edu.cn RELAY
spam@buyme.com 550 Spammers shan't see sunlight here
在该配置文件中,拒绝所有从 cyberpromo.com来的邮件,许可从cs.pku.edu.cn来的邮件中继,拒绝从发送方地址为spam@buyme.com来的邮件,并返回给他一个确定信息,
Access文件中的动作值有下面几类:
OK--接收邮件,即使和其他规则不符,如不可查询的域名。
RELAY--允许通过你的SMTP服务器中转邮件。
REJECT--拒绝从指定地址来的邮件。
DISCARD--将收到的指定地址的邮件交给 #discard mailer 处理,该功能只作用于发送方地址。
### any text --其中 ###是 RFC821 出错码,“any text”是返回该命令的信息。
由上可知,通过access 文件,可以对邮件中继和邮件轰炸进行有效的防卫。一旦你发现某个地址在进行攻击,就可将其加入到access文件中。要使每一次的修改有效,你都要重新生成 access的数据库文件,通过下面的命令:
makemap hash access.db < access
但每次的修改不需要重新启动sendmail进程。
另外, 我们能对邮件的大小进行限制,在sendmail的配置文件sendmail.cf中有一项可用来设置邮件大小:
#maximum message size
O MaxMessageSize = 1000000
这样,sendmail只处理大小为1兆之内的邮件,大于1兆的邮件都拒收。
2.还存在的问题
通过上面的配置文件基本上可以对邮件攻击进行有效的抵制。唯一存在的问题是我们不能事先知道所有的邮件炸弹从哪儿来,只能等出现后才能禁止。而且目前大多数邮件客户软件都许可用户随便设置发送方地址,这也使得防范邮件攻击更复杂。通常我们设立一个专门用来就接收用户举报的邮件地址,如 abuse@pku.edu.cn, 这样系统管理员可及时得到YO邮件攻击消息,并采取相应的措施。
另外,目前我们还不能根据邮件内容进行过滤,现在很多邮件都是MIME格式的,可能是二进制文件、图形、声音,各种语言的文字或加密文件,所以,对邮件内容进行过滤不是一件简单的关键词匹配的问题。如何解决该问题还有待探讨。
篇6:htmlspecialchars函数并不能百分百的防止XSS攻击WEB安全
htmlspecialchars函数只对&、’、”、<、>符号进行转译成html特殊符号
我们可以通过url编码对带有连接的标记进行攻击:
“>a
”>a
篇7:QQ安全之如何防止qq代码攻击
方案1:把在线的好友发送信息的对话框都最小化,当好友来信息时点击聊天记录查看好友信息内容,如果发现是非法操作等代码时不要点击任务栏的对话框。直接将代码复制发挥恶意者。(大不了同归于尽了)但是,这总方法是典型的防君子不防小人,如果恶意者隐身登陆哪?!
同样也可以建立群来聊天,不过很彪呀!!!哈哈哈
方案2:到下载地址:www.nhcj.com/RICHED20.DLL去下载个小东东了,就是在网吧上网也不要嫌浪费时间呀。安全第一嘛。
以下是攻击代码:{\\rtf1\\ansi\\ansicpg936\\deff0\\deflang1033\\deflangfe2052{\\fonttbl{\\f0\\fnil\\fprq2\\fcharset134\\'cb\\'ce\\'cc\\'e5;}}
{\\colortbl;\\red255\\green0\\blue255;}
\\viewkind4\\uc1\\pard\\cf1\\kerning2\\f0\\fs18121111111111111111111111111111111110000www.yoursft.com\\fs20\\par
}
和
{\\rtf1\\ansi\\ansicpg936\\deff0\\deflang1033\\deflangfe2052{\\fonttbl{\\f0\\fnil\\fcharset134'cb'ce'cc'e5;}}
\\fs1800000000000000000000000000000
篇8:教你如何防范Qzone攻击WEB安全
由于QQ在桌面IM领域占据着绝对霸主地位,在其身上衍生的各种产品也变得日益流行,而Qzone也逐渐成为网友书写日志和展示个性的地方,因此,Qzone的安全性也备受关注。不过,Qzone近日却爆出了一个跨站漏洞,这个漏洞非常容易被 利用。那么, 一般会如何通过这个漏洞来攻击普通用户呢?作为用户,我们又如何来防范这一漏洞的危害呢?
一、模拟 攻击
这里,我们首先来了解这个漏洞的具体情况。Qzone的跨站漏洞是网友无意中打开类似“hxxp://u ser.qzone.qq.com/QQ号码?url=任意字母”时发现的,这时网页显示为一个框架网页,中间为“无法打开网页”的空白页面(如图1);然而,当输入类似“hxxp://u ser.qzone.qq.com/QQ号码?url=www.baidu.com”的地址时却可以正常显示,这时url后的网址其实在幕后是加载的。那么,Qzone的跨站漏洞又是如何被 作为木马的媒介的呢?
第一步: 需要对该地址进行乔装改扮一番。比如:网页木马的url为“www.muma.com/muma.exe”。 会使用URl加密技术来为木马地址作掩护,常用的方法是把url地址转换为16进制,这里以ASCII码随心换为例(如图2)进行示范。
第二步: 将Qzone的地址设置为“hxxp://u ser.qzone.qq.com/QQ号码?url=%68%74%74%70%3A%2F%2F%77%77%77%2E%6D%75%6D%61%2E%63%6F%6D%2F%6D%75%6D%61%2E%65%78%65”并在网页上贴出Qzone的地址来引诱网友点击,用户往往点击了该地址下载运行了木马还蒙在鼓里。
二、如何防范Qzone攻击
方法1:既然这一跨站漏洞这么隐蔽,用户感染的几率也不会低,
我们需要如何来防范这一漏洞可能造成的危害呢?做到不感染病毒,未雨绸缪是最有效果的。因此,我们在访问网友的Qzone前,要多长几个心眼,要观察其网址的形式。
一般正常的Qzone的地址是“hxxp://u ser.qzone.qq.com/号码”或者“号码.qzone.qq.com/”形式的,如果出现“hxxp://u ser.qzone.qq.com/QQ号码?url=”的地址就要谨慎了,Qzone也可能出现类似“hxxp://u ser.qzone.qq.com/号码/?url=http%3A//photo.qq.com/tips_jump.htm%23uin%3D号码%26albumid%3D393029702%26photoid%3D”的地址,如果地址里面完全没有QQ的地址段,那么为了防止下载运行网页木马,可以将url后的字符输入到ASCII码随心换进行转换(如果是像以上地址的格式,可以将%后的十六进制字符逐个进行转换来获得完整地址),如果url指向可执行文件就不能点击了。
方法2:为了防止系统被种植网页木马,还可以安装杀毒软件和防火墙并需要开始实时文件和网络监控,这样即使下载了网页木马也会被清除。如果发现了可疑的Qzone地址要及时举报,让 成为过街老鼠,毫无藏身之处。
小结:Qzone的跨站漏洞被用来种植木马具有受众广的特点,Qzone的地址经过加密化装后,又有几个人会仔细地进行甄别呢?因此,利用人们偷窥人家隐私空间的好奇心来传播木马是很有效果的。
其实,要防范Qzone地址在你的电脑种植木马也不难,最简单的方法就是只点击QQ资料里的Qzone地址,不去其他网站点击就可以了。另外,需要使用具有防范IE漏洞的安全工具和杀毒软件来查杀这类木马的下载安装,如:瑞星卡卡。携带木马的Qzone地址一经发现要马上通知网友,决不姑息,不让其他人成为 的牺牲品。同时,每次Qzone提示升级我们也最好升级不用嫌麻烦而取消升级,以免被 利用其他未知的漏洞。
篇9:如何防范被搜索引擎攻击WEB安全
为了产生攻击效果,这些URL必须从搜索引擎给出的搜索结果中排名靠前的域名中取得,攻击者通常会通过搜索引擎查找一些专门伪造的搜索词,这些搜索词往往能够泄露特定漏洞的存在。
搜索引擎投毒这种攻击,能够利用搜索引擎来显示搜索结果,该结果包含着对交付恶意软件的网站的一个或多个引用。有多种方法可以执行搜索引擎投毒,其中包括控制流行网站、使用搜索引擎的“赞助”链接,其目的都是为了链接到恶意网站,进而注入恶意代码。
此外,攻击者通过操纵搜索引擎来返回搜索结果(该结果包含着对感染了跨站脚本的网站的引用),也可以实施搜索引擎投毒。受感染的网页将轻信的用户重新定向到恶意网站。在该用户点击这些链接时,其计算机就有可能感染恶意软件。这种伎俩很不一般,因为它并不要求攻击者控制或攻入任何服务器。
攻击原理与步骤
首先,攻击者搭建一台在收到请求后就交付恶意软件的服务器。可通过不同的方法来交付恶意软件,如通过一个能够利用浏览器漏洞的HTML页面或其它方法。
然后,攻击者获得一系列易于遭受跨站脚本攻击的URL。为了产生攻击效果,这些URL必须从搜索引擎给出的搜索结果中排名靠前的域名中取得。攻击者通常会通过搜索引擎查找一些专门伪造的搜索词,这些搜索词往往能够泄露特定漏洞的存在。
下一步,攻击者使用这些URL,根据有漏洞的URL创建大量的专门伪造的URL,其中包括目标关键词和一段能够与恶意软件交付服务器进行交互的脚本。
然后,攻击者获得一个支持简单用户内容生成的应用程序清单,如一些论坛程序。攻击者会用各种专门仿造的URL,使网页的内容泛滥,并有可能包含多个链接,并使其接受不同的应用程序。
此后,流行的搜索引擎在扫描整个Web,就会选取专门伪造的URL,并跟踪这些URL,进而对这些网页进行索引。其结果是,目标关键词与专门伪造的URL发生了关联。由于攻击者选取了高优先级的域名作为开始,而且由于对这些URL的大量引用,受到“投毒”的搜索结果的排名当然就靠前了。
最后,搜索这些关键词且容易轻信的用户单击这些URL中的一个链接,其计算机便容易被感染恶意软件,
总之,搜索引擎投毒易于实施,却难被搜索引擎检测到。这种伎俩的目标是诱导无辜的搜索者到达恶意网站或欺诈网站。例如,攻击者利用机器人程序生成大量的用户名,在论坛上彼此发布拥有许多链接的帖子进行讨论,显得不亦乐乎。对搜索引擎来说,这倒是一个好事儿,既然有这么多用户牵涉进来,因而搜索引擎便把这种网页放在显赫的位置。在某个用户单击了其中的某个链接后,就会打开一个链接到色情或购物网站的网页。在用户再次单击后,该链接就会将恶意软件安装到用户的计算机上,进而对用户实施欺诈或其它犯罪活动。
防范
攻击者以这种方式滥用网站可以导致企业的商誉和品牌受到破坏,丢失客户和潜在的访客。而且,这种攻击对网站的可访问性造成明显的负面影响,这会导致搜索引擎将URL引用标记为“有害”或“危险”,甚至被完全地从搜索索引中删除,从而使企业遭受严重的经济损失。
从管理层面来说,系统管理员可以使用一个具备“黑名单”功能的安全网关,截获被列入“黑名单”的网站上的所有通信,从而阻止一些不确定的或具有潜在威胁的URL分类,从而阻止搜索引擎投毒的危害。此外,保护好公司自己的网站(博客和用户论坛)也很重要,因为这样做就不会使其成为搜索引擎投毒的帮凶。保护Web应用程序免受XSS攻击可以防止这些网站被攻击者用作发动搜索引擎投毒的媒介。
从用户层面来说,防止搜索引擎投毒攻击要从提升搜索用户的认识水平开始。研究发现,虽然许多人已经理解在邮件中可能包含恶意软件,却并未认识到在上网搜索时,其搜索结果也有可能是不安全的。企业必须教育雇员不能访问色情、赌博等网站,在搜索信息时,要尽量使用知名网站上的URL。
仅有防火墙或反病毒软件对于防护动态变化的恶意软件及其灵活多变的交付方式是不够的。相反,企业需要实时的保护情报,基于云的Web防御可以快速地适应新的威胁,应当作为企业的首选方案。
篇10:防止对WEB应用服务器的三种攻击服务器教程
WWW,也有人称它为WEB,是应用目前互联网上增长最快的网络信息服务,也是最方便和最受欢迎的信息服务类型,其最大的特点为集成性,它可以集成多种应用,如FTP、E-Mail、数据库等,这种集成性也使WEB服务成为最脆弱的服务器之一。
当然,我们对安全问题越来越重视,影响安全的因素有很多。如,病毒、间谍软件、漏洞等。而恶意软件由来已久,远远超出了我们的记忆。特别是在当今,特洛伊木马等恶意代码日益横行,这种趋势好像并没有减缓的迹象。不过,恶意软件问题比起攻击者通过利用脆弱的应用程序服务器窃取大量的关键信息来说,显得还是相形见绌。
为什么WEB应用程序服务器会成为攻击者的靶子?原因很简单,因为它们是可以被公开访问的,并且与后端的数据库服务器紧密相连,后端数据库服务器存储着海量的令犯罪分子垂涎三尺的信息。那么,攻击者是怎样使用前端有WEB应用程序攻入后端数据库服务器壁垒的呢。
SQL 注入式攻击
SQL注入式攻击如今日益成为互联网上窃取机密信息的受欢迎的途径。一次SQL注入式攻击都包含这样一种方法:攻击者在一个WEB表单的搜索字段中输入一个SQL查询,如果这个查询被WEB应用程序接受,就会被传递到后端的数据库服务器来执行它,当然这要建立在从WEB应用程序到数据库服务器的读/写访问操作被准许的前提下。这可以导致两种情况发生,一是攻击者可以查看数据库的内容,二是攻击者删除数据库的内容。无论哪一种情况发生,对用户来说都意味着灾难。
很多人可能认为,SQL注入式攻击需要高深的知识。其实恰恰相反,实质上,任何人,只要对SQL有一个基本的理解并拥有一定的查询程序(这种程序在互联网上比比皆是),这种攻击就可以实施。
Blind SQL 注入式攻击
Blind SQL注入式攻击是发动攻击的另一个方法,但却是另一种略有不同的方法,
在执行一次标准的SQL注入式攻击时,攻击者将一个SQL查询插入到一个WEB应用程序中,期望使服务器返回一个错误消息。这种错误消息能够使攻击者获得用于执行更精确的攻击所需要的信息。这会致使数据库管理员相信只要消除这种错误的消息就会解决引起SQL注入式攻击的潜在的问题。管理员可能不会认识到虽然这样会隐藏错误消息,这种脆弱性仍然存在。这样会为攻击者增加点儿困难,却不能阻止攻击者使用错误消息收集信息,攻击者会不断地将伪造的SQL查询发送给服务器,以期获得对数据库的访问。
跨站点脚本攻击
跨站点的脚本攻击,也可称为XSS或CSS,是 损害那些提供动态网页的WEB应用的一种技术。当今的许多WEB站点都提供动态的页面,这些页面由为用户动态建造的多个源站点的信息组成。如果WEB站点管理员不注意这个问题,恶意内容能够插入到Web页面中,以收集机密信息或简单地用户端系统上执行。
对抗手段
有许多对抗Web应用服务器攻击的对策和措施。对问题的清醒的认识无疑是最重要的。许多企业组织正专注于一些需要执行的预防性的措施,不过却不知晓这些攻击是如何执行的。如果不理解WEB应用服务器攻击是如何工作的,将会使对抗措施不能真正起作用,简单地依靠防火墙和入侵防御系统不能从根本上解决问题。例如,如果你的WEB应用服务器没有对用户输入进行过滤,你就很容易遭受上述类型的攻击。
领先于攻击者的另一个关键问题是定期对你的WEB应用进行彻底的检查。在技术领域,“亡羊补牢,未为晚也”可能不太适用,因为如果你不及时检查修补你的“墙”,你丢失的将不仅仅是“羊”,很有可能是你的整个“羊圈”甚至更多。
★ 防止溺水作文
Apache防止攻击WEB安全(通用10篇)




