[tac_plus] Cisco Nexus Authorization problem
John Fraizer
john at op-sec.us
Mon Aug 17 18:23:07 UTC 2015
Kevin,
I'm not using defined tacacs+ groups in our configuration so, that is a
variable that could be triggering a bug in AAA authorization but, your
config is very similar to what we're using:
!
tacacs-server key 7 <redacted>
tacacs-server host x.x.x.a
tacacs-server host x.x.x.b
!
aaa authentication login default group tacacs+ local
aaa authentication enable default group tacacs+ local
aaa authorization exec default group tacacs+ local
aaa authorization commands all default group tacacs+ none
aaa accounting exec default start-stop group tacacs+
aaa accounting system default start-stop group tacacs+
aaa accounting commands all default stop-only group tacacs+
!
Please note though that based on what you sent in your original email, your
EOS device is not sending AUTH requests for commands. I only see ACCT
records being sent:
Here is the AUTH request coming from your Cisco:
session request from *test.router.com* <http://test.router.com/> sock=5
connect from *test.router.com* <http://test.router.com/> [10.11.128.30]
Waiting for packet
Read AUTHOR size=104
validation request from *test.router.com* <http://test.router.com/>
PACKET: key=password
version 192 (0xc0), type 2, seq no 1, flags 0x1
session_id *4255328848* <4255328848> (0xfda32a50), Data length 92 (0x5c)
End header
type=AUTHOR, priv_lvl=15, authen=1
method=none
svc=0 user_len=6 port_len=6 rem_addr_len=14
arg_cnt=4
User:
testuser
port:
tty130
rem_addr:
10.12.144.108
arg[0]: size=13
service=shell
arg[1]: size=13
cmd=configure
arg[2]: size=16
cmd-arg=terminal
arg[3]: size=12
cmd-arg=<cr>
End packet
Writing AUTHOR/FAIL size=18
PACKET: key=password
version 192 (0xc0), type 2, seq no 2, flags 0x1
session_id *4255328848* <4255328848> (0xfda32a50), Data length 6 (0x6)
End header
type=AUTHOR/REPLY status=16 (AUTHOR/FAIL)
msg_len=0, data_len=0 arg_cnt=0
msg:
data:
End packet
authorization query for 'testuser' tty130 from *test.router.com*
<http://test.router.com/> rejected
*test.router.com* <http://test.router.com/>: disconnect
...vs the ACCT record being sent by the EOS device(s):
session request from *Aristalab-1.router.com*
<http://aristalab-1.router.com/> sock=5
connect from *Aristalab-1.router.com* <http://aristalab-1.router.com/>
[10.15.10.18]
Waiting for packet
Read ACCT size=132
validation request from *Aristalab-1.router.com*
<http://aristalab-1.router.com/>
PACKET: key=password
version 192 (0xc0), type 3, seq no 1, flags 0x1
session_id 1288212585 (0x4cc89069), Data length 120 (0x78)
End header
ACCT, flags=0x4 method=6 priv_lvl=15
type=1 svc=1
user_len=6 port_len=5 rem_addr_len=0
arg_cnt=6
User:
testuser
port:
ttyS0
rem_addr:
arg[0]: size=10
task_id=23
arg[1]: size=13
service=shell
arg[2]: size=11
priv-lvl=15
arg[3]: size=21
start_time=1439828061
arg[4]: size=12
timezone=UTC
arg[5]: size=27
cmd=configure terminal <cr>
End packet
Writing ACCT size=17
PACKET: key=password
version 192 (0xc0), type 3, seq no 2, flags 0x1
session_id 1288212585 (0x4cc89069), Data length 5 (0x5)
End header
ACCT/REPLY status=1
msg_len=0 data_len=0
msg:
data:
End packet
*Aristalab-1.router.com* <http://aristalab-1.router.com/>: disconnect
So, in effect, where the Cisco device is asking permission to execute the
command, the EOS device is simply informing the TACACS+ server that the
command was executed. It's a matter of ACCOUNT vs AUTHORIZE.
You might want to update your ticket with Arista to include that
information. You may also want to try enumerating your TACACS+ servers the
way I have vs. using a AAA group just to rule that variable out as the
vector that is triggering a bug. I understand that if you've got a large
EOS deployment, it is non-trivial to push AAA config changes to them all
but, trust me - it can be done. I've got a fleet > 2000 EOS devices and I
just updated their AAA config a few weeks ago.
The safest way to do it would be as follows:
(1) Enumerate the TACACS+ servers outside of the group:
!
tacacs-server key 7 <redacted>
tacacs-server host x.x.x.a
tacacs-server host x.x.x.b
!
Then, update your aaa auth commands as follows:
!
aaa authorization exec default group tacacs+ local
aaa authorization commands all default group tacacs+ none
!
Please let me know if this helps and also update me if Arista identifies a
bug. That's information I'd like to have in our "tribal knowledge" store.
--
John Fraizer
LinkedIn profile: http://www.linkedin.com/in/johnfraizer/
On Mon, Aug 17, 2015 at 2:03 PM, <Kevin.Cruse at instinet.com> wrote:
> John,
>
> Here is the configuration from arista:
>
> Arista1#sh run | i aaa
> aaa group server tacacs+ CiscoACS
> aaa authentication login default group CiscoACS local
> aaa authorization exec default group CiscoACS local
> aaa authorization commands all default group CiscoACS local
> aaa accounting exec default start-stop group CiscoACS
> aaa accounting commands all default start-stop group CiscoACS
> no aaa root
> Arista1#
>
>
> Just fyi - I've configured the command "#aaa authorization
> config-commands" as well, for some reason it does not show up in
> configuration. I opened a ticket with arista and they've confirmed it
> should still work which makes sense as i'm seeing the commands sent to
> tacplus.
>
>
> Arista1#sh ver
> Arista DCS-7124SX-F
> Software image version: 4.13.11M
>
>
> Kevin
>
>
>
>
>
> [image: Inactive hide details for John Fraizer ---08/17/2015 12:58:52
> PM---What version of EOS are you running on your Arista device(s)]John
> Fraizer ---08/17/2015 12:58:52 PM---What version of EOS are you running on
> your Arista device(s)? Take a look at the "tab completion" av
>
> From: John Fraizer <john at op-sec.us>
> To: "Kevin.Cruse at Instinet.com" <Kevin.Cruse at instinet.com>,
> Cc: Daniel Schmidt <daniel.schmidt at wyo.gov>, "tac_plus at shrubbery.net" <
> tac_plus at shrubbery.net>
> Date: 08/17/2015 12:58 PM
>
> Subject: Re: [tac_plus] Cisco Nexus Authorization problem
> ------------------------------
>
>
>
> What version of EOS are you running on your Arista device(s)?
>
> Take a look at the "tab completion" available for "aaa authorization".
> Also, if you can provide the output of "show run | i aaa", it will be
> easier to help you.
>
> Initially, it looks as if your Arista devices are not configure to
> authorize commands. Note that the packet dump shows "ACCT" type for
> "enable" and "configure terminal" vs. "AUTHOR".
>
> --
> John Fraizer
> LinkedIn profile: *http://www.linkedin.com/in/johnfraizer/*
> <http://www.linkedin.com/in/johnfraizer/>
>
>
>
> On Mon, Aug 17, 2015 at 12:21 PM, <*Kevin.Cruse at instinet.com*
> <Kevin.Cruse at instinet.com>> wrote:
>
> I am having a strange issue where cisco devices are being authorized
> by do_auth properly, however, arista devices are not. The arista device is
> sending command to tacplus but daemont does not send command to do_auth. I
> can confirm since there is no update to do_auth log when sending commands
> from arista. any ideas? Everything seems to be working fine except arista,
> this is my last hurdle!
>
>
> CISCO
>
> connect from *test.router.com* <http://test.router.com/> [10.11.128.30]
> Waiting for packet
> Read ACCT size=137
> validation request from *test.router.com* <http://test.router.com/>
> PACKET: key=password
> version 192 (0xc0), type 3, seq no 1, flags 0x1
> session_id 677254324 (0x285e14b4), Data length 125 (0x7d)
> End header
> ACCT, flags=0x4 method=6 priv_lvl=1
> type=1 svc=1
> user_len=6 port_len=6 rem_addr_len=14
> arg_cnt=6
> User:
> testuser
> port:
> tty130
> rem_addr:
> 10.12.144.108
> arg[0]: size=13
> task_id=41325
> arg[1]: size=12
> timezone=EDT
> arg[2]: size=13
> service=shell
> arg[3]: size=21
> start_time=1439827839
> arg[4]: size=10
> priv-lvl=0
> arg[5]: size=15
> cmd=enable <cr>
> End packet
> Writing ACCT size=17
> PACKET: key=password
> version 192 (0xc0), type 3, seq no 2, flags 0x1
> session_id 677254324 (0x285e14b4), Data length 5 (0x5)
> End header
> ACCT/REPLY status=1
> msg_len=0 data_len=0
> msg:
> data:
> End packet
> *test.router.com* <http://test.router.com/>: disconnect
>
>
> session request from *test.router.com* <http://test.router.com/> sock=5
> connect from *test.router.com* <http://test.router.com/> [10.11.128.30]
> Waiting for packet
> Read AUTHOR size=104
> validation request from *test.router.com* <http://test.router.com/>
> PACKET: key=password
> version 192 (0xc0), type 2, seq no 1, flags 0x1
> session_id *4255328848* <4255328848> (0xfda32a50), Data length 92
> (0x5c)
> End header
> type=AUTHOR, priv_lvl=15, authen=1
> method=none
> svc=0 user_len=6 port_len=6 rem_addr_len=14
> arg_cnt=4
> User:
> testuser
> port:
> tty130
> rem_addr:
> 10.12.144.108
> arg[0]: size=13
> service=shell
> arg[1]: size=13
> cmd=configure
> arg[2]: size=16
> cmd-arg=terminal
> arg[3]: size=12
> cmd-arg=<cr>
> End packet
> Writing AUTHOR/FAIL size=18
> PACKET: key=password
> version 192 (0xc0), type 2, seq no 2, flags 0x1
> session_id *4255328848* <4255328848> (0xfda32a50), Data length 6 (0x6)
> End header
> type=AUTHOR/REPLY status=16 (AUTHOR/FAIL)
> msg_len=0, data_len=0 arg_cnt=0
> msg:
> data:
> End packet
> authorization query for 'testuser' tty130 from *test.router.com*
> <http://test.router.com/> rejected
> *test.router.com* <http://test.router.com/>: disconnect
>
>
> ARISTA
>
> connect from *Aristalab-1.router.com* <http://aristalab-1.router.com/>
> [10.15.10.18]
> Waiting for packet
> Read ACCT size=119
> validation request from *Aristalab-1.router.com*
> <http://aristalab-1.router.com/>
> PACKET: key=password
> version 192 (0xc0), type 3, seq no 1, flags 0x1
> session_id 1744489531 (0x67facc3b), Data length 107 (0x6b)
> End header
> ACCT, flags=0x4 method=6 priv_lvl=1
> type=1 svc=1
> user_len=6 port_len=5 rem_addr_len=0
> arg_cnt=6
> User:
> testuser
> port:
> ttyS0
> rem_addr:
> arg[0]: size=10
> task_id=22
> arg[1]: size=13
> service=shell
> arg[2]: size=10
> priv-lvl=1
> arg[3]: size=21
> start_time=1439828055
> arg[4]: size=12
> timezone=UTC
> arg[5]: size=15
> cmd=enable <cr>
> End packet
> Writing ACCT size=17
> PACKET: key=password
> version 192 (0xc0), type 3, seq no 2, flags 0x1
> session_id 1744489531 (0x67facc3b), Data length 5 (0x5)
> End header
> ACCT/REPLY status=1
> msg_len=0 data_len=0
> msg:
> data:
> End packet
> *Aristalab-1.router.com* <http://aristalab-1.router.com/>: disconnect
>
>
> session request from *Aristalab-1.router.com*
> <http://aristalab-1.router.com/> sock=5
> connect from *Aristalab-1.router.com* <http://aristalab-1.router.com/>
> [10.15.10.18]
> Waiting for packet
> Read ACCT size=132
> validation request from *Aristalab-1.router.com*
> <http://aristalab-1.router.com/>
> PACKET: key=password
> version 192 (0xc0), type 3, seq no 1, flags 0x1
> session_id 1288212585 (0x4cc89069), Data length 120 (0x78)
> End header
> ACCT, flags=0x4 method=6 priv_lvl=15
> type=1 svc=1
> user_len=6 port_len=5 rem_addr_len=0
> arg_cnt=6
> User:
> testuser
> port:
> ttyS0
> rem_addr:
> arg[0]: size=10
> task_id=23
> arg[1]: size=13
> service=shell
> arg[2]: size=11
> priv-lvl=15
> arg[3]: size=21
> start_time=1439828061
> arg[4]: size=12
> timezone=UTC
> arg[5]: size=27
> cmd=configure terminal <cr>
> End packet
> Writing ACCT size=17
> PACKET: key=password
> version 192 (0xc0), type 3, seq no 2, flags 0x1
> session_id 1288212585 (0x4cc89069), Data length 5 (0x5)
> End header
> ACCT/REPLY status=1
> msg_len=0 data_len=0
> msg:
> data:
> End packet
> *Aristalab-1.router.com* <http://aristalab-1.router.com/>: disconnect
>
>
> tac_plus.cfg:
>
>
> group = snm {
> default service = permit
> service = exec {
> priv-lvl = 15
> }
> after authorization "/usr/bin/python
> /usr/local/sbin/tacplus/do_auth.py -i $address -fix_crs_bug -u $user -d
> $name -l /var/log/tacacs/do_auth_log.txt -f
> /usr/local/sbin/tacplus/do_auth.ini"
>
> }
>
>
>
> do_auth.ini:
>
>
> [snm]
> host_allow =
> .*
> device_permit =
> .*
> command_deny =
> configure.*
> show controllers vip.*
> command_permit =
> show ip.*
> show interface.*
> clear counters.*
> clear qos stat.*
> clear mls qos int.*
> disable.*
> enable.*
> end.*
> exit.*
> logout.*
> ping.*
> set length.*
> show.*
> skip-page-display.*
> write network.*
> write terminal.*
> write memory.*
> terminal length.*
>
>
>
>
>
> [image: Inactive hide details for John Fraizer ---08/07/2015 12:54:36
> PM---Here is one problem: *cmd exit does not exist, denied by def]John
> Fraizer ---08/07/2015 12:54:36 PM---Here is one problem: *cmd exit does not
> exist, denied by default*
>
> From: John Fraizer <*john at op-sec.us* <john at op-sec.us>>
> To: "Kevin.Cruse at Instinet.com" <*Kevin.Cruse at instinet.com*
> <Kevin.Cruse at instinet.com>>,
> Cc: Daniel Schmidt <*daniel.schmidt at wyo.gov* <daniel.schmidt at wyo.gov>>,
> "*tac_plus at shrubbery.net* <tac_plus at shrubbery.net>" <
> *tac_plus at shrubbery.net* <tac_plus at shrubbery.net>>
> Date: 08/07/2015 12:54 PM
>
>
> Subject: Re: [tac_plus] Cisco Nexus Authorization problem
> ------------------------------
>
>
>
> Here is one problem:
>
> * cmd exit does not exist, denied by default*
>
> It looks like you've got default service = deny in your
> tac_plus.conf. To use do_auth, you need default service = permit.
>
> Your after auth line doesn't look right either.
>
> * /usr/bin/python /usr/local/sbin/tacplus/do_auth.py -u $user -l
> /var/log/tacacs/do_auth_log.txt -f /usr/local/sbin/tacplus/do_auth.ini*
>
> You're not giving it the device address or the address of the user
> attempting to auth. Try changing the after authorization line in
> tac_plus.conf to:
>
> * after authorization "/usr/bin/python /usr/local/sbin/tacplus/do_auth.py
> -i $address -u $user -d $name -l /tmp/do_auth.log -f
> /usr/local/sbin/tacplus/do_auth.ini"*
>
> Note that this will create a do_auth specific log in /tmp/do_auth.log
> but, right now - we'll need that for debugging purposes.
>
> Also remember, you'll need to restart tac_plus for this change to take
> effect.
>
> Here is an example tac_plus group that I know to work properly with
> do_auth.py on CatOS, IOS, IOS-XR, NX-OS, EOS and JUNOS:
>
> group = doauthaccess {
> default service = permit
>
> service = exec {
> priv-lvl = 1
> optional idletime = 30
> optional acl = 2
> shell:roles="\"network-operator vdc-operator\""
> }
>
> service = junos-exec {
> bug-fix = "first pair is lost"
> local-user-name = "remote"
> allow-commands = "(.*exit)|(show cli auth.*)"
> deny-commands = ".*"
> allow-configuration = ""
> deny-configuration = ""
> }
> after authorization "/usr/bin/python
> /usr/local/sbin/tacplus/do_auth.py -i $address -u $user -d $name -l
> /tmp/do_auth.log -f /usr/local/sbin/tacplus/do_auth.ini"
> * }*
>
>
> One more thing... Looking at your do_auth.ini, you seem to have a
> space between the commands and ".*" which should not be there.
>
> For example:
>
> exit .*
>
> ...should be:
>
> exit.*
>
>
> I posted a complete working tac_plus.conf and do_auth.ini along with
> the AAA config I use on devices the other day. Take a look at that post as
> well.
>
>
> --
> John Fraizer
> LinkedIn profile: *http://www.linkedin.com/in/johnfraizer/*
> <http://www.linkedin.com/in/johnfraizer/>
>
>
>
> On Fri, Aug 7, 2015 at 5:16 AM, <*Kevin.Cruse at instinet.com*
> <Kevin.Cruse at instinet.com>> wrote:
> I will try upgrading to 4.14.5F and see what happens! thanks
>
> wondering if you are familiar with this error in do_auth execution,
> I am permitting exit in do_auth.ini. seems to be some issue with do_auth
> script:
>
> Reading config
> Version F4.0.4.28 Initialized 1
> tac_plus server F4.0.4.28 starting
> socket FD 4 AF 2
> uid=0 euid=0 gid=0 egid=0 s=23660848
> connect from router1 [172.28.10.124]
> Start authorization request
> do_author: user='testuser'
> user 'testuser' found
> authorize_cmd: user=testuser, cmd=exit
> cmd exit does not exist, denied by default
> After authorization call: /usr/bin/python
> /usr/local/sbin/tacplus/do_auth.py -u $user -l
> /var/log/tacacs/do_auth_log.txt -f /usr/local/sbin/tacplus/do_auth.ini
>
>
> * substitute: /usr/bin/python /usr/local/sbin/tacplus/do_auth.py -u $user
> -l /var/log/tacacs/do_auth_log.txt -f /usr/local/sbin/tacplus/do_auth.ini
> Dollar substitution: /usr/bin/python /usr/local/sbin/tacplus/do_auth.py -u
> testuser -l /var/log/tacacs/do_auth_log.txt -f
> /usr/local/sbin/tacplus/do_auth.ini pid 24672 child exited status 1*
> cmd /usr/bin/python /usr/local/sbin/tacplus/do_auth.py -u $user -l
> /var/log/tacacs/do_auth_log.txt -f /usr/local/sbin/tacplus/do_auth.ini
> returns 1 (unconditional deny)
> authorization query for 'testuser' tty130 from router1 rejected
> connect from router1 [1.1.1.1]
>
>
> do_auth.ini:
>
> [users]
> testuser =
> snm
> [snm]
> command_deny =
> configure .*
> show controllers vip .*
> command_permit =
> show ip .*
> show interface .*
> clear counters .*
> clear qos stat .*
> clear mls qos int .*
> disable .*
> enable .*
> end .*
> exit .*
> logout .*
> ping .*
> set length .*
> show .*
> skip-page-display .*
> write network .*
> write terminal .*
> write memory .*
>
>
>
>
> [image: Inactive hide details for John Fraizer ---08/06/2015
> 06:54:05 PM---I'm not sure when this command became available in EOS but,]John
> Fraizer ---08/06/2015 06:54:05 PM---I'm not sure when this command became
> available in EOS but, at least in 4.14.5F, you will get what y
>
> From: John Fraizer <*john at op-sec.us* <john at op-sec.us>>
> To: "Kevin.Cruse at Instinet.com" <*Kevin.Cruse at instinet.com*
> <Kevin.Cruse at instinet.com>>,
> Cc: Daniel Schmidt <*daniel.schmidt at wyo.gov*
> <daniel.schmidt at wyo.gov>>, "*tac_plus at shrubbery.net*
> <tac_plus at shrubbery.net>" <*tac_plus at shrubbery.net*
> <tac_plus at shrubbery.net>>
> Date: 08/06/2015 06:54 PM
> Subject: Re: [tac_plus] Cisco Nexus Authorization problem
> ------------------------------
>
>
>
>
> I'm not sure when this command became available in EOS but, at
> least in 4.14.5F, you will get what you want with:
>
> aaa authorization commands all default group tacacs+ none
>
>
> --
> John Fraizer
> LinkedIn profile: *http://www.linkedin.com/in/johnfraizer/*
> <http://www.linkedin.com/in/johnfraizer/>
>
>
>
> On Thu, Aug 6, 2015 at 1:58 PM, <*Kevin.Cruse at instinet.com*
> <Kevin.Cruse at instinet.com>> wrote:
> tried that! arista only takes this command with no arguments:
>
> aaa authorization config-commands
>
> it still didn't work.
>
> fyi - i just tried same config with cisco router and it works
> perfectly,
> running 4.13.11M of EOS.
>
>
>
> From: Daniel Schmidt <*daniel.schmidt at wyo.gov*
> <daniel.schmidt at wyo.gov>>
> To: *Kevin.Cruse at instinet.com* <Kevin.Cruse at instinet.com>,
> Cc: Aaron Wasserott <*aaron.wasserott at viawest.com*
> <aaron.wasserott at viawest.com>>,
> "*tac_plus at shrubbery.net* <tac_plus at shrubbery.net>" <
> *tac_plus at shrubbery.net* <tac_plus at shrubbery.net>>
> Date: 08/06/2015 04:09 PM
> Subject: Re: [tac_plus] Cisco Nexus Authorization problem
>
>
>
> This part of the email looks interesting:
>
> But if you
> want them in conf t mode but restrict their commands at that
> level, you
> need to enable something like this:
>
> aaa authorization config-commands default group myTacacsGroup
> local
>
>
> *
> =========================================================================================================
> *
>
> *<<<< Disclaimer >>>>*
>
> *This message is intended solely for use by the named addressee(s).
> If you receive this transmission in error, please immediately notify the
> sender and destroy this message in its entirety, whether in electronic or
> hard copy format. Any unauthorized use (and reliance thereon), copying,
> disclosure, retention, or distribution of this transmission or the material
> in this transmission is forbidden. We reserve the right to monitor and
> archive electronic communications. This material does not constitute an
> offer or solicitation with respect to the purchase or sale of any security.
> It should not be construed to contain any recommendation regarding any
> security or strategy. Any views expressed are those of the individual
> sender, except where the message states otherwise and the sender is
> authorized to state them to be the views of any such entity. This
> communication is provided on an “as is” basis. It contains material that is
> owned by Instinet Incorporated, its subsidiaries or its or their licensors,
> and may not, in whole or in part, be (i) copied, photocopied or duplicated
> in any form, by any means, or (ii) redistributed, posted, published,
> excerpted, or quoted without Instinet Incorporated's prior written consent.
> Please access the following link for important information and
> instructions: *
> *http://instinet.com/includes/index.jsp?thePage=/html/le_index.txt*
> <http://instinet.com/includes/index.jsp?thePage=/html/le_index.txt>
>
> *Securities products and services are provided by locally
> registered brokerage subsidiaries of Instinet Incorporated: Instinet
> Australia Pty Limited (ACN: 131 253 686 AFSL No: 327834), regulated by the
> Australian Securities & Investments Commission; Instinet Canada Limited,
> member IIROC/CIPF; Instinet Pacific Limited, authorized and regulated by
> the Securities and Futures Commission of Hong Kong; Instinet Singapore
> Services Private Limited, regulated by the Monetary Authority of Singapore,
> trading member of The Singapore Exchange Securities Trading Private Limited
> and clearing member of The Central Depository (Pte) Limited; and Instinet,
> LLC, member SIPC. *
>
>
>
> *
> =========================================================================================================
> *
>
>
>
>
> *
> =========================================================================================================
> *
>
> *<<<< Disclaimer >>>>*
>
> *This message is intended solely for use by the named addressee(s). If
> you receive this transmission in error, please immediately notify the
> sender and destroy this message in its entirety, whether in electronic or
> hard copy format. Any unauthorized use (and reliance thereon), copying,
> disclosure, retention, or distribution of this transmission or the material
> in this transmission is forbidden. We reserve the right to monitor and
> archive electronic communications. This material does not constitute an
> offer or solicitation with respect to the purchase or sale of any security.
> It should not be construed to contain any recommendation regarding any
> security or strategy. Any views expressed are those of the individual
> sender, except where the message states otherwise and the sender is
> authorized to state them to be the views of any such entity. This
> communication is provided on an “as is” basis. It contains material that is
> owned by Instinet Incorporated, its subsidiaries or its or their licensors,
> and may not, in whole or in part, be (i) copied, photocopied or duplicated
> in any form, by any means, or (ii) redistributed, posted, published,
> excerpted, or quoted without Instinet Incorporated's prior written consent.
> Please access the following link for important information and
> instructions: *
> *http://instinet.com/includes/index.jsp?thePage=/html/le_index.txt*
> <http://instinet.com/includes/index.jsp?thePage=/html/le_index.txt>
>
> *Securities products and services are provided by locally registered
> brokerage subsidiaries of Instinet Incorporated: Instinet Australia Pty
> Limited (ACN: 131 253 686 AFSL No: 327834), regulated by the Australian
> Securities & Investments Commission; Instinet Canada Limited, member
> IIROC/CIPF; Instinet Pacific Limited, authorized and regulated by the
> Securities and Futures Commission of Hong Kong; Instinet Singapore Services
> Private Limited, regulated by the Monetary Authority of Singapore, trading
> member of The Singapore Exchange Securities Trading Private Limited and
> clearing member of The Central Depository (Pte) Limited; and Instinet, LLC,
> member SIPC. *
>
>
>
> *
> =========================================================================================================
> *
>
>
>
>
>
> =========================================================================================================
>
>
> *<<<< Disclaimer >>>>*
>
> This message is intended solely for use by the named addressee(s). If you
> receive this transmission in error, please immediately notify the sender
> and destroy this message in its entirety, whether in electronic or hard
> copy format. Any unauthorized use (and reliance thereon), copying,
> disclosure, retention, or distribution of this transmission or the material
> in this transmission is forbidden. We reserve the right to monitor and
> archive electronic communications. This material does not constitute an
> offer or solicitation with respect to the purchase or sale of any security.
> It should not be construed to contain any recommendation regarding any
> security or strategy. Any views expressed are those of the individual
> sender, except where the message states otherwise and the sender is
> authorized to state them to be the views of any such entity. This
> communication is provided on an “as is” basis. It contains material that is
> owned by Instinet Incorporated, its subsidiaries or its or their licensors,
> and may not, in whole or in part, be (i) copied, photocopied or duplicated
> in any form, by any means, or (ii) redistributed, posted, published,
> excerpted, or quoted without Instinet Incorporated's prior written consent.
> Please access the following link for important information and
> instructions:
> http://instinet.com/includes/index.jsp?thePage=/html/le_index.txt
>
> Securities products and services are provided by locally registered
> brokerage subsidiaries of Instinet Incorporated: Instinet Australia Pty
> Limited (ACN: 131 253 686 AFSL No: 327834), regulated by the Australian
> Securities & Investments Commission; Instinet Canada Limited, member
> IIROC/CIPF; Instinet Pacific Limited, authorized and regulated by the
> Securities and Futures Commission of Hong Kong; Instinet Singapore Services
> Private Limited, regulated by the Monetary Authority of Singapore, trading
> member of The Singapore Exchange Securities Trading Private Limited and
> clearing member of The Central Depository (Pte) Limited; and Instinet, LLC,
> member SIPC.
>
>
>
> =========================================================================================================
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.shrubbery.net/pipermail/tac_plus/attachments/20150817/6890ba04/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graycol.gif
Type: image/gif
Size: 105 bytes
Desc: not available
URL: <http://www.shrubbery.net/pipermail/tac_plus/attachments/20150817/6890ba04/attachment.gif>
More information about the tac_plus
mailing list