编程技术分享平台

网站首页 > 技术教程 正文

web安全-服务端校验(web服务器的安全措施是什么)

xnh888 2024-10-09 22:13:58 技术教程 45 ℃ 0 评论

web安全:客户端安全和服务器安全;还有容器配置安全等;

客户端请点击:

web安全-客户端脚本安全

  • nginx安全加固
  • 代码控制资源权限以及参数过滤

nginx安全加固

  • 限制ip访问
location / {
		deny  XXX . XXX . XXX . XXX;#拒绝ip
    allow XXX . XXX . XXX . XXX;#允许ip
    allow XXX . XXX . XXX . XXX;#允许ip
    deny all ;#拒绝其他所有ip
}
  • 控制超时时间
client_body_timeout 10;#设置客户端请求主体读取超时时间
client_header_timeout 10;#设置客户端请求头超时时间
keepalive_timeout 5 5;#第一个参数,保持活动超时时间。第二个:消息头保持活动有效时间(可选)
send_timeout 10;#指定响应客户端的超时时间
  • 防止点击劫持
nginx处理前端请求的location域增加
add_header  X-Frame-Options  SAMEORIGIN;#同源策略;iframe嵌套时浏览器是否允许加载资源
  • 限制host和refer
server域增加:限制host请求
if($host  ! ~* "XXX . XXX . XXX . XXX  | XXX . XXX . XXX . XXX"){
       return  404;
}

限制refer
set $flagRf 0;
if( $http_referer  ! ~ * "XXX . XXX . XXX . XXX"){
    set  $flagRf 1;
}
if( $http_uri  ! ~ * "XXX . XXX . XXX . XXX"){
    set  $flagRf 2;
}
if( $flagRf ="1"){
   return 404;
}
  • 防止nginx版本泄露
server增加
server_tokens   off;
  • 删除不安全部分
location 增加
add_header "X-XSS-Protection" "1";
  • 限制登陆url
set  $flag=0;
if($request_uri  !~ * "login.html"){
			return 404;
}
  • https降级
proxy_set_header  Rederer  http:// $host : $server_port $request_uri

代码控制资源以及参数

  • cookie 只读
Cookie [] cookies = request.getCookies();
if(cookie != null){
		for(Cookie cookie :cookies){
    	StringBuilder builder =new  StringBuilder();
      builder.append(coookie.getName() + "=" cookie.getValue() +";");
      builder.append("Secure : ");
      builder.append("HttpOnly;");//只读属性
      req.addHeader("Set-Cookie",builder.toString());
    }
}
  • csp内容安全策略
  • 过滤uri和cookie中的特殊字符
  • 校验host是否在白名单
checkHost(request.getHeader("Host"));
  • 校验refer是否同源


checkRefer(request.getHeader("Refer"))
  • 参数xss过滤




  • 设置404统一页面
避免提示信息泄露
避免跳转到无效资源
避免重定向,302,
  • session标志未更新
登陆成功后,session失效并重新new一个session,更换session标志;
  • sql注入
sql预编译
sql条件和参数隔离,校验后,再拼sql等
避免程序日志出现数据库特殊错误码,导致泄露sql是oracle还是其实数据库
避免出现--注释,以及or ‘1==1’等条件注释,条件恒成立等,失效sql语句
参数关键字过滤,避免生成联合sql,关联查询语句
  • 验证码一次失效;
验证码一次失效,否则可能引发登陆时,利用已经验证的验证码,多次重放攻击,撞库攻击等
  • 通讯加密
参数加密,响应数据加密:
1.用户名密码,敏感信息
2.响应中比如出现path,可能会造成泄露

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表