MST

星途 面试题库

面试题:网络编程:TCP/IP协议栈中哪些部分对网络安全起到关键防护作用及原理

请阐述在TCP/IP协议栈的各层中,有哪些具体的机制或者协议部分对于保障网络安全起到了关键的防护作用,并说明其工作原理。例如,IP层的哪些特性有助于防范网络攻击?
48.9万 热度难度
后端开发网络编程

知识考点

AI 面试

面试题答案

一键面试

网络接口层

  • ARP 防护机制:ARP(地址解析协议)负责将IP地址解析为MAC地址。ARP欺骗是常见攻击手段,可通过ARP静态绑定(手动配置IP - MAC对应关系),避免ARP表被恶意篡改,防止攻击者冒充网关等设备进行中间人攻击。例如在企业网络中,对关键设备如网关进行ARP静态绑定,让主机的ARP表固定其IP与MAC对应关系,不接受其他来源的ARP响应更改。

网络层(IP层)

  • IP 首部校验和:IP首部包含一个16位的首部校验和字段。发送端根据首部内容计算校验和并填充,接收端重新计算并与接收到的校验和比较。若不一致则丢弃该数据包,这有助于发现传输过程中因噪声等导致的IP首部错误,防止错误或被篡改的数据包在网络中传播。
  • IPsec(IP安全协议):它是一组协议,包括AH(认证头)和ESP(封装安全载荷)。AH主要提供数据源认证和数据完整性校验,通过在IP数据包中添加认证头,接收方根据认证头中的信息验证数据包来源及完整性;ESP除了提供认证和完整性校验外,还提供数据加密,将IP数据包内容加密后传输,可防范数据被窃取和篡改,常用于构建VPN(虚拟专用网络)。例如企业员工通过VPN远程办公时,数据通过IPsec加密传输,保证数据在公网传输的安全性。

传输层

  • TCP 三次握手与 SYN 攻击防范:TCP通过三次握手建立连接,客户端发送SYN包,服务器回复SYN + ACK包,客户端再发送ACK包。SYN攻击时,攻击者发送大量SYN包但不完成三次握手,耗尽服务器资源。防范方法如设置合理的SYN队列长度、采用SYN cookies机制,当服务器收到SYN包时,根据算法生成一个cookie(包含客户端IP、端口等信息)作为初始序列号,待客户端发送ACK包时验证该cookie,避免被无效SYN包耗尽资源。
  • TCP 校验和:TCP首部和数据部分都有16位的校验和字段。发送端计算包含TCP首部、TCP数据以及一个伪首部(包含源IP、目的IP、协议等信息)的校验和,接收端重新计算并比较。确保TCP数据在传输过程中的完整性,防止数据被篡改。

应用层

  • HTTPS(HTTP over SSL/TLS):基于HTTP协议,利用SSL/TLS协议进行加密和认证。在建立连接时,客户端和服务器进行握手,协商加密算法和密钥。服务器向客户端发送数字证书,客户端验证证书合法性,之后双方使用协商好的密钥对数据进行加密传输,保证Web数据传输的保密性、完整性和服务器身份的真实性。如用户在电商网站登录、支付时,使用HTTPS协议可防止账号密码等敏感信息被窃取。
  • SMTP 认证与加密:SMTP(简单邮件传输协议)用于邮件发送。现代SMTP支持认证机制(如SASL),发送方需提供用户名和密码等认证信息,防止未经授权的邮件发送。同时可使用TLS加密,在传输邮件内容时对数据进行加密,保护邮件内容不被中途截取和阅读。