iSCSI安全之密码认证
要实现iscsi的用户名+密码认证最先要修改的文件就是那个/etc/iet/initiators.allow
1、修改/etc/iet/initiators.allow
[root@Target iet]# vi initiators.allow
ALL ALL
#iqn.2013-09.com.xfzhou.Target:sdb 192.168.10.10
#iqn.2013-09.com.xfzhou.Target:sdc 192.168.10.201
要把之前做的那个IP访问控制给去掉。从这也可以看出IP访问控制和密码认证是不能共存的!
2、配置iscsi-target服务器:
[root@Target iet]# vi ietd.conf
IncomingUser disuser dispass123456
#这里的这个IncomingUser用于对discovery的认证,是一个全局的对所有的客户端都有效。
Target iqn.2013-09.com.xfzhou.Target:sdc
IncomingUser windows windows123456
#由于该IncomingUser配置在Target和Lun之间,所以只对该共享的磁盘、分区有效。
Lun 0 Path=/dev/sdc,Type=fileio,ScsiId=xyz,ScsiSN=xyz
Target iqn.2013-09.com.xfzhou.Target:sdb
IncomingUser linux linux
Lun 0 Path=/dev/sdb,Type=fileio,ScsiId=xyz,ScsiSN=xyz
3、配置iscsi-initiator客户端:
[root@file iscsi]# vi iscsid.conf
discovery.sendtargets.auth.authmethod = CHAP
discovery.sendtargets.auth.username = disuser
discovery.sendtargets.auth.password = dispass
#以上是客户端在discovery的时候使用的用户名和密码
node.session.auth.authmethod = CHAP
node.session.auth.username = linux
node.session.auth.password = linux
#这是客户端在登陆
在Linux客户端执行发现操作:
[root@file iscsi]# iscsiadm -m discovery -t sendtargets -p 192.168.10.50
192.168.10.50:3260,1 iqn.2013-09.com.xfzhou.Target:sdc
192.168.10.50:3260,1 iqn.2013-09.com.xfzhou.Target:sdb
[root@file iscsi]#
这里能够看到两块磁盘,说明发现这块的配置是正确的。
重启Linux客户端上的iscsi服务:
[root@file iscsi]# service iscsi restart
Stopping iSCSI daemon:
iscsid dead but pid file exists
[ OK ]off network shutdown. Starting iSCSI daemon: [ OK ]
[ OK ]
Setting up iSCSI targets: Logging in to [iface: default, target: iqn.2013-09.com.xfzhou.Target:sdc, portal: 192.168.10.50,3260]
Logging in to [iface: default, target: iqn.2013-09.com.xfzhou.Target:sdb, portal: 192.168.10.50,3260]
iscsiadm: Could not login to [iface: default, target: iqn.2013-09.com.xfzhou.Target:sdc, portal: 192.168.10.50,3260]:
iscsiadm: initiator reported error (19 - encountered non-retryable iSCSI login failure)
Login to [iface: default, target: iqn.2013-09.com.xfzhou.Target:sdb, portal: 192.168.10.50,3260]: successful
iscsiadm: Could not log into all portals. Err 19.
[ OK ]
[root@file iscsi]#
从上面的信息也可以看出,设置是没有错误的。登陆sdb成功,sdc失败,在预想之中。
同时在LInux客户机上使用fdisk也可以看到新共享过来的磁盘:
[root@file iscsi]# fdisk -l /dev/sdg
Disk /dev/sdg: 10.7 GB, 10737418240 bytes
64 heads, 32 sectors/track, 10240 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdg1 1 10240 10485744 83 Linux
[root@file iscsi]#
4、Windows客户端的配置:
首先重新添加一个新的discovery如下:
在这个高级中可以输入discovery的密码如下:
在这里要注意的是,在windows上对这个密码的长度有要求,必须要大于12个字符。其实我的windows的密码策略已经关了,应该不是系统的问题。但是我的linux客户端却是可以使用小于12个字符的密码来登陆的,所以应该是ms的这个软件的问题。如果密码小于12个长度会提示如下:
查看系统日志如下:
当配置好discovery后,就可以在Targets选项卡看到两个共享的磁盘了:
选择那个有权限登陆的磁盘,也就是sdc那个,点击“Log on”,再点“Advanced”,就可以输入log on时的认证信息:
同样这个密码也有长度的要求。最后,可以看到已经连接上了共享的磁盘了。
至此密码认证做完!