Linux可插拔认证模块(PAM)的配置文件、工作原理与流程

        PAM的配置文件:

        我们注意到,配置文件也放在了在应用接口层中,他与PAM API配合使用,从而达到了在应用中灵活插入所需鉴别模块的目的。他的作用主要是为应用选定具体的鉴别模块,模块间的组合以及规定模块的行为。下面是一个示例配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cat /etc/pam.d/system-auth:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required /lib/security/$ISA/pam_env.so
auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
auth required /lib/security/$ISA/pam_deny.so
account required /lib/security/$ISA/pam_unix.so
account sufficient /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet
account required /lib/security/$ISA/pam_permit.so
password requisite /lib/security/$ISA/pam_cracklib.so retry=3
password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow nis
password required /lib/security/$ISA/pam_deny.so
session required /lib/security/$ISA/pam_limits.so
session required /lib/security/$ISA/pam_unix.so

阅读全文 >>

防止SQL注入

        一个恐怖的例子:

        注入式攻击的详细解释SQL下面我们将以一个简单的用户登陆为例,结合代码详细解释一下SQL注入式攻击,与及他的防范措施。对于一个简单的用户登陆可能的代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
try
{
 string strUserName = this.txtUserName.Text;
 string strPwd = this.txtPwd.Text;
 string strSql = "select * from userinfo where UserName='" + strUserName + "' and Password='" + strPwd + "'";
 SqlConnection objDbConn = new SqlConnection("数据库连接字符串");
 SqlDataAdapter objAdapter = new SqlDataAdapter(strSql,objDbConn);
 DataSet objDataSet = null;
 objAdapter.Fill(objDataSet);//TODO 对获取的数据进行判断。
}
catch (System.Exception e)
{
 this.lblMsg.Text = e.Message;
 this.lblMsg.Visible = true;
}

阅读全文 >>

Web 应用程序常见漏洞 CSRF 的入侵检测与防范

        互联网的安全问题一直存在,并且在可预见的未来中没有消弭的迹象,而在软件开发周期中,加入对产品安全问题的检测工作,将极大的提升对应安全问题解决的成本,对维护一个好的产品形象至关重,在竞争愈烈的网络应用产品中的生命力也将更长。本文要介绍的跨站请求伪(CSRF)在众多的攻击手段中,更具备隐蔽性,同时有更高的危害性。笔者将对其的基本特性,攻击手段,危害及防范手段,以及如何使用 Rational AppScan 对 CSRF 攻击做检测及分析做一个系统的阐述。

阅读全文 >>

DNS服务器(三):子域授权及转发

一、DNS服务器子域授权的实现

        通常自己架设DNS服务器给自己使用的公司都是内部有特殊需求,或者公司内部域名较多,为了方便以后的管理而架设。我们知道一个域名就是一个区域,一般每个区域都会有专人负责管理,当一个公司人员足够多时,这时就会有划分子域给下级部门管理的需求。在一个区域下划分子域,并给子域指定一个新的DNS服务器,这种方法是可以实现的,我们通常称这种划分子区域的方法为子域授权。

阅读全文 >>

递归查询和迭代查询的区别

递归查询

        递归查询是一种DNS 服务器的查询模式,在该模式下DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。如果DNS 服务器本地没有存储查询DNS 信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。

阅读全文 >>

centos安装配置dnsmasq

        公司业务使用的mydns搭建dns服务器(参考mydns安装配置),使用mydns的优点是配置、更改容易,能实现自动增加记录,而缺点也是显而易见的,因为mydns使用mysql作为数据存储仓库,如果查询很频繁的话,就会影响效率,甚至导致服务中止。但这个缺点也不是不可克服,只要在前端多配置几台dns缓存服务器即可。

阅读全文 >>