How do I set up SSL socket exchange between two servers that communicate via the Internet? This is not for a Web...
server or Web client, but two applications that need to interact as server/client, but use the Internet for part of their network. What's the best, most secure setup?
There are actually many ways to go about creating an SSL connection between servers, and the best one for your situation will depend upon the type of protocol you're planning to tunnel through it. As you probably know, the Secure Sockets Layer (SSL) allows the use of encryption to protect data sent via a TCP/IP connection. The most commonly used implementation of SSL is the HTTPS protocol: a secure encrypted alternative to HTTP for transferring information over the Web.
The easiest way to create a secure connection between two servers is through the use of the secure shell command (ssh), which uses SSL to create a telnet-style connection between two servers. This technology is built into Linux/Unix deployments, and there are several free implementations available for Windows systems, including OpenSSH and PuTTY.
If you're building a custom application, you should find an SSL library for the programming environment you're using. SSL is extremely common and can be found for virtually any environment. I often use the Crypt::SSLeay Perl module for this purpose, although any standard SSL implementation that you're comfortable using in your environment will work.
Dig Deeper on IPv6 security and network protocols security
Related Q&A from Mike Chapple
Examine the important differences between stateful and stateless firewalls, and learn when each type of firewall should be used in an enterprise ... Continue Reading
Explore the differences between wired and wireless network security, and read up on best practices to ensure security with or without wires. Continue Reading
Choosing to encrypt confidential data with AES or DES encryption is an important cybersecurity matter. Learn about the important differences between ... Continue Reading