WAF技术及应用读书笔记(三)HTTP基础

第三章 HTTP校验和访问控制

    3.1 HTTP
        熟练掌握HTTP知识才能写出各种匹配规则实现访问控制。
        3.1.1 HTTP简介
            超文本传输协议,用于服务器和客户端打交道,交换信息。
        3.1.2 统一资源定位符
            表示从互联网取得资源的路径和方法,俗称网址。
            <协议>://<域名主机>:<端口>/<资源位置>
        3.1.3 HTTP请求
            请求行、请求头、请求实体
            一个请求的表格示意图。
                Method URL 版本[CRLF]
                P1: XX[CRLF]
                P2: XX[CRLF]
                [CRLF]
                CONTENT
        3.1.4 HTTP响应
            状态行、响应头、响应实体
            一个响应的表格示意图。
                版本 状态码 短语[CRLF]
                P1: XX[CRLF]
                P2: XX[CRLF]
                [CRLF]
                CONTENT
        3.1.5 HTTP消息
            HTTP消息又称HTTP头,内容有普通头、请求头、响应头、实体头。
            常用的普通头:缓存指令Cache-Control、指定连接类型Connetion
            常用的请求头:Cookie、Referer等。
            常用的响应头:Location、Refresh、Set-Cookie
            实体头:Content-Length、Content-Type
        3.1.6 Cookie
            Cookie是一段ASCII文本,由服务器写入客户机用于会话跟踪。
            Secure选项用于SSL加密传输,HttpOnly用于限制JS读取。
    3.2 HTTP校验
            HTTP设计之初没考虑到加密和完整性校验。数据长度可随意改,篡改无难度。
            出现畸形数据包会影响服务器性能,甚至控制下一次HTTP响应。
            WAF可以保障HTTP的安全,主要通过对HTTP请求做异常检测来实现。
    3.3 HTTP访问控制
            访问控制是实现信息CIA的基础有力手段。
            主要目的是限制访问主体对客体的访问,限制主体对客体实施某种操作。
            访问控制首先要考虑对合法用户进行验证,然后对访问策略进行选用与管理,
                最后对非法用户或是越权操作进行管理。
            HTTP访问控制主要是针对网络层的访问控制,写成通用包过滤规则,
                包过滤规则有URL限制、HTTP方法限制、入站IP限制。

    思考题
        1.HTTP的URL的一般格式是什么?
            答:http://<域名主机>:<端口>/<资源位置>
        2.CRLF是指什么?简述HTTP响应报文的结构。
            答:回车换行,状态行、响应头、正文。
                状态行内容有 版本号、状态码、短语
        3.写出5种HTTP请求方法,并简述其作用及安全性。
            答:GET/TRACE/POST/PATCH/PUT
                前2种是安全的,因为没修改数据。
                TRACE用于网络诊断服务器将回送消息、POST用于提交数据、PATCH用于修改文档。
                PUT用于写入资源,URL作为标识。
        4.第一个数字为4的状态码表示什么?404 Not Found具体表示什么?
            答:代表请求有误,404代表资源没找到。
        5.分别说明Referer、Host、Set-Cookie是那种类型的HTTP头,简述作用。
            答:前两者请求头、Set-Cookie是响应头。
                他们作用分别是,注明请求上一个URL、注明请求主机和端口号、给客户端写入会话跟踪。
        6.Set-Cookie的一般形式是什么?
            答:Set-Cookie:key=value[;HttpOnly]等。注意不能有空格。
        7.写出5个HTTP的校验的对象及限制。
            答:对报文整体长度进行限制;
                对请求行的长度、参数个数进行限制;
                对请求头的个数及长度进行限制;
                对HTTP版本号和请求方法进行限制;
                对HOST域和消息报头进行限制。
        8.HTTP访问控制主要对TCP/IP的那一层进行访问控制?具体可以分为哪几类?
            答:网络层、主要是针对数据包进行过滤。
                细分为URL限制、HTTP方法限制、来源IP限制。

你可能感兴趣的:(《*Web安全*》)