Microsoft Corp.'s Message Queue Server 1.0
We liked MSMQ's tight integration with NT Server's ACLs (Access Control Lists) as well as its easy administration via a Windows Explorer-like interface. It provided us good security, with over-the-wire messages that were unreadable on Sniffer's display and message queues that were inaccessible until we provided an authorized NT Server logon ID and a valid password.
Because MSMQ runs only on Microsoft's Windows NT Server and clients must likewise run NT or Windows95, MSMQ quickly lost its appeal when faced with the variety of client platforms in our network lab. According to Microsoft, a third-party called Level 8 (which also happens to be the company that is the originator of Candle's MQSecure) can supply MSMQ-compatible messaging security add-ons for non-Microsoft platforms.
Before we could use MSMQ, we had to install SQL Server 6.5 on the MSMQ server. MSMQ stores queue information (but not the messages themselves, which reside in memory-mapped files) in Microsoft's RDBMS (Relational Database Management System). The company says future versions of MSMQ will use the new Active Directory Service technology rather than SQL Server.
On an NT Server machine, we used Windows Explorer to set up ACLs for our message queues. These file-level and directory-level permission slips prevented unknown users from reading anything in a queue or sending messages to it, and also kept users without privileges from sending messages to a queue. Anyone who can administer rights and permissions on NT Server will be able to administer MSMQ. We used MSMQ's own Explorer interface to create message queues, assign priorities and monitor message delivery. We also configured MSMQ to record key events, such as a password rejection or the opening of a queue, in the NT Server Security Log. The MSMQ Explorer is a central console for administering MSMQ across a network.
In the lab, MSMQ used the Microsoft Crypto API to encrypt and digitally sign the messages in the queues. The encryption preserved the confidentiality of message queue entries, while the digital signatures prevented the spoofing of counterfeit messages. Selecting its encryption and digital signing features was simply a matter of clicking checkboxes on the property sheets displayed by the MSMQ Explorer interface.
MSMQ required no special programming to implement security across its messages and queues. MSMQ imposed the security we specified via the Explorer interface, and our test program used MSMQ's APIs to send and receive messages.
Note that MSMQ also offers what Microsoft calls Independent Clients --a separate, nonsecure messaging facility that relies on local queues instead of network communication. Independent Clients is a feature to avoid if security is going to be a primary consideration.
Barry Nance, a computer analyst and consultant for 25 years, is the author of Introduction to Networking, 4th Edition (Que, 1997) and Client/Server LAN Programming (Que, 1994). You can reach him via the Internet at barryn@erols.com.
|