天天看點

iSCSI安全之密碼認證

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.

從上面的資訊也可以看出,設定是沒有錯誤的。登陸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

4、Windows用戶端的配置:

首先重新添加一個新的discovery如下:

<a href="http://img1.51cto.com/attachment/201309/163628314.png" target="_blank"></a>

在這個進階中可以輸入discovery的密碼如下:

<a href="http://img1.51cto.com/attachment/201309/163659698.png" target="_blank"></a>

在這裡要注意的是,在windows上對這個密碼的長度有要求,必須要大于12個字元。其實我的windows的密碼政策已經關了,應該不是系統的問題。但是我的linux用戶端卻是可以使用小于12個字元的密碼來登陸的,是以應該是ms的這個軟體的問題。如果密碼小于12個長度會提示如下:

<a href="http://img1.51cto.com/attachment/201309/163733347.png" target="_blank"></a>

檢視系統日志如下:

<a href="http://img1.51cto.com/attachment/201309/163758843.png" target="_blank"></a>

<a href="http://img1.51cto.com/attachment/201309/163801676.png" target="_blank"></a>

當配置好discovery後,就可以在Targets頁籤看到兩個共享的磁盤了:

<a href="http://img1.51cto.com/attachment/201309/163846507.png" target="_blank"></a>

選擇那個有權限登陸的磁盤,也就是sdc那個,點選“Log on”,再點“Advanced”,就可以輸入log on時的認證資訊:

<a href="http://img1.51cto.com/attachment/201309/163914912.png" target="_blank"></a>

<a href="http://img1.51cto.com/attachment/201309/163943748.png" target="_blank"></a>

同樣這個密碼也有長度的要求。最後,可以看到已經連接配接上了共享的磁盤了。

<a href="http://img1.51cto.com/attachment/201309/164005679.png" target="_blank"></a>

至此密碼認證做完!

本文轉自 Tenderrain 51CTO部落格,原文連結:http://blog.51cto.com/tenderrain/1906888

繼續閱讀