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時的認證信息:
同樣這個密碼也有長度的要求。最後,可以看到已經連接上了共享的磁盤了。
至此密碼認證做完!