Hi FreeRDP developers,

I have finally managed to get network level authentication to work for
domain logon. I thought it was broken because of higher domain controller
policies, but it turns out not to be the case. I did one stupid mistake, but
maybe it was combined with some other smaller errors at the same time, who
knows. You'll notice there is code for the enhanced security features that
will only be used if the "ntlmssp->ntlm_v2" flag is set. It's not working,
but it should be close. We can probably just leave it there until Microsoft
actually enforces a higher security level on its next version of Windows
Server. If Microsoft updates MS-NLMP with precisions on those obscure new
features of the protocol, there would probably not be much to fix in order
to make the enhanced security work.

Anyway, I did some polishing work regarding NLA as well. It's all on master
now, since I have started integrating my previous branches.

Here are the new command line options:

        --no-rdp: disable Standard RDP encryption
        --no-tls: disable TLS encryption
        --no-nla: disable network level authentication
        --sec: force protocol security (rdp, tls or nla)

These can be used to force a particular security to be used, or disable
certain security features.

I would need as much testers as possible for NLA. Last time, it took a week
before someone reported a failure case that would have been catastrophic if
it would have ever made it to a stable release.

I still have other issues to investigate regarding NLA:

Many users are unaware of the fact that with NLA, you do NOT get the
graphical login prompt, especially if you do not enter all credentials at
command line. I added some checks in xfreerdp to disable NLA if not enough
information is present. What would be the best approach to avoid confusion
with users that normally use the graphical login?

Passing the password on the command line is an obvious security problem:

awake@workstation:~/git/freerdp_integration> ps aux | grep xfreerdp
awake    13005  0.7  0.0  48240  3784 pts/1    Sl+  22:39   0:00
/home/awake/git/freerdp_integration/X11/.libs/xfreerdp -u Administrator -p *
Password123!* -d AWAKECODING 192.168.1.150
awake    13049  0.0  0.0   7668   808 pts/3    S+   22:39   0:00 grep
xfreerdp

In systems with multiple users, a simple "ps aux" can reveal the password in
plaintext. I've heard that the original password could be overwritten, but
this still has the drawback of not hiding the password length, and to still
reveal the password in plaintext  in between the time the program is
launched and the time the program overwrites the password.

We can probably implement the feature of overwriting the original password,
but maybe we should implement some mechanism to dynamically prompt the
password in a secure manner. Any suggestions?
------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
_______________________________________________
Freerdp-devel mailing list
Freerdp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freerdp-devel

Reply via email to