ISCSI是如何工作的
iSCSI定义了TCP/IP网络上传输块存储应用的规则和过程。在物理层,iSCSI支持以太网卡(100、1000M),这样支持iSCSI的系统可以通过以太网卡直接接入以太网交换机或路由器。iSCSI协议介于物理和数据链路层与操作系统的标准SCSI命令集之间,将SCSI-3命令封装在TCP/IP包内,由IP网络负责其传输的可靠性。</b> <br>
SCSI命令和数据封装在TCP包中,穿过毫无防范的Internet网络,必然会引起安全问题。</b> <br>总之iSCSI面临的安全风险主要有:</b> <br>
主动型的攻击,如:身份伪装、伪造信息插入、数据删除/修改等。</b> <br>
被动型的攻击,如:窃听、数据分析等。</b> <br>
针对各种各样的安全风险,iSCSI主要采用两种安全措施:</b> <br>
认证:在target和initiator之间做身份认证。</b> <br>
加密:对传输的TCP/IP数据包进行保护。</b> <br>
认证主要是在iSCSI连接层,通过交换iSCSI的登录PDU(Protocol data unit),实现带内的身份认证。iSCSI通过这种安全措施提供了端到端的信任关系。iSCSI支持多种认证,但要强调的是采用哪种认证都要求不得明文传输密码字符。此外对于不同的算法,要求采用抗攻击能力较强的选项。比如在采用CHAP认证时,为了防止离线的字典攻击,要求随机CHAP密文secret大于128位。</b> <br>
加密主要是通过IPSEC协议实现,在IP层通过对IP包的加密,实现数据的完整性保护、数据加密和身份认证。iSCSI通过这种安全措施提供了数据通信的安全通道。</b> <br>
实现IPSEC加密通信有两种方式:</b> <br>
一是通过主机间建立IPSEC加密通道。主机间建立IPSEC通信,过去常用软件的实现方式,这对于传输少量的数据可以接受,对于iSCSI这种大量存储数据的传输,则显得力不从心。所以,建议采用支持IPSEC协议的iSCSI HBA卡实现,提高加密解密的效率。
二是通过防火墙、VPN网关或带VPN功能的路由器,在需要实现iSCSI通信的两个子网间建立一条加密隧道,将两个子网与承载iSCSI通信的IP网络从逻辑上隔离开来。随着iSCSI HBA的应用越来越广泛,利用iSCSI HBA可以获得更好的网络扩展性。</b> <br>
当然,还可以采用其他技术来加强iSCSI的安全性,如iSCSI的分区、LUN masking等等。