How Syncplify.me Server! prevents SSHPsycho attacks

Syncplify.me Server! version: 4.0.0+

According to the SANS ISC nearly 80% of all SSH-based brute force attacks are caused by SSHPsycho or one of its variations. This seems to be confirmed by the LongTail honeypot real-time report provided by the Marist College. So, yes, SSHPsycho is a big deal, and it’s a problem. And traditional blacklisting mechanisms (simply banning certain “well known” IP addresses and networks) have proved to be inefficient against it.

LongTail shows that Cisco and Level 3’s recent announcement about blocking sshPsycho’s 4 class C IP ranges (also known as “Group 93” and the “Hee Thai Campaign”) has done nothing to stop their brutal attacks. [Source: SANS ISC]

Syncplify.me Server!’s intelligent and automatic blacklist (called “Protector“), though, shows to be extremely effective at preventing such type of attack. Its real-time dynamic attack pattern identification and prevention technology can quickly recognize SSHPsycho attacks (and the like) and proactively stop them as soon as they begin. Even at its “Normal” sensitivity threshold, Protector already identifies and blocks all types of SSHPsycho attacks, in most cases before they even get to try the password authentication. Continue reading

Scripting lesson: using scripting and session info

Syncplify.me Server! version: 4.0.13+

This articles shows how to use scripting, event-handling and session information from within Syncplify.me Server! For the sake of this example we will only log such information in the log file, but in real-life production scenarios you can use these info as you wish (for example you may want to send them via email to someone, or even make decisions based upon them).

Let’s start by preparing the script that – as we said – will log some info in your Syncplify.me Server!’s log file:

We save the above script with the following name/description: “Log several client and connection info”.

Then we add an event-handler to trigger the execution of the script. Since the script contain references to file-transfer-related variables (VirtualObjectName and ObjectName) it seems obvious to trigger its execution upon occurrence of a file-transfer-related event. For the sake of this example we have chosen the AfterFileUpload event, which occurs every time a file is successfully uploaded by a client onto the server. Continue reading

Syncplify.me Server!: VFS with quotas

Syncplify.me Server! version: 4.0.0+

The Virtual File System (VFS) instroduced in Syncplify.me Server! v4.0, comes with a long-awaited feature: quota management.

The Windows OS features a very powerful yet complicated quota management, but it’s only available in Windows Server editions and requires optional features to be installed, therefore we could not rely on that and we built our own quota management system which is cross-compatible with all Windows systems.

Now, the problem with quota management is that calculating the current size of a folder (along with its sub-folders) can be very time-consuming, if the folder contains millions and millions of files. So if we were to re-evaluate the size to enforce quota restrictions at every operation it could totally kill the performances. Our solution the Quota TTL, which is the Time-To-Live (TTL) of the quota cache, expressed in seconds. Basically, when Syncplify.me Server! calculates the current size of a folder structure, it will consider such result valid for QuotaTTL seconds, without re-evaluating it too often. Continue reading

Syncplify.me Server! v4: new format to define groups

Syncplify.me Server! version: 4.0.0+

From Syncplify.me Server! v1 through v3 groups’ usernames used to start with a star/asterisk and then the group name enclosed within square brackets. For example the SFTP Users group would have the following username: *[SFTP Users]

In version 4 we have removed the star/asterisk, because we have introduced the concept of user type. Therefore in version 4 the SFTP Users group will be defined as follows.
Username: [sftp users]
User Type: Windows Group or Active Directory Group Continue reading

HTTPS “connection not private/secure” – what it is?

Syncplify.me Server! version: 4.0.0+

After installing Syncplify.me Server! v4.0 you will be able to manage it securely via web interface over HTTPS.

Now, a very common choice is to use a self-signed certificate, because it saves money and if you know what you’re doing it doesn’t compromise security. This is, in fact, the most common choice among our users (according to our surveys).

But if you use a self-signed certificate, your browser will warn you that your connection may not be private or secure. That’s because self-signed certificates are often used for man-in-the-middle (MitM) attacks. But this is not the case, of course, if you can verify that this particular self-signed certificate was created by you and for you.

To get rid of this annoying message, you basically have 2 options:

  1. Spend some money to buy a trusted X.509 (SSL/TLS) certificate from a Certification Authority like DigiCert, Comodo, Thawte, and the like. It goes without saying that this is the recommended choice, as it takes advantage of the inherent trust chain provided by the Certification Authority.
  2. Verify and accept the self-signed certificate you have just created and add it to the trusted keychain of your browser. In this case you are advised to always verify the certificate’s fingerprint to make sure it’s really the one you created yourself, and that you’re not a victim of a Man-in-the-Middle (MitM) attack.

Continue reading

Understanding the security “preset configuration”

Syncplify.me Server! version: 4.0.0+

In the new Syncplify.me Server! v4.0, there’s a quite handy feature that allows a one-click configuration of many security settings at once, depending on the virtual server’s intended usage scenario.

oneclick

Here’s a brief explanation of what each preset configuration means and what to expect when you apply it: Continue reading

How to put users’ homes on shared folders

Syncplify.me Server! version: 4.0.5+

Some of our Syncplify.me Server! users prefer to store their users’ home folders (actually VFSs as of version 4.0) on a different machine via shared folders. For example, instead of having your user’s home point to C:\SFTPData\MyUser you want to have it point to \\10.5.123.9\SFTPData\MyUser.

This is a perfectly reasonable and fairly common request. As of version 4.0, Syncplify.me Server! provides a variety of methods to accomplish this goal.

The first step is always the same: creating a VFS that points to the network-shared folder, like this:

VFSonthenet

Once the VFS is created, you can proceed and create a User profile that uses the newly created VFS as its “home”. And this is where you have many options.

For example, if your entire infrastructure runs on Windows (including the machine that shares the folder) and all your systems are ActiveDirectory-aware, then you can specify the user type as “Active Directory” and impersonate the home VFS as “this user”: Continue reading

Syncplify.me Server! v4.0.2 Released!

We have just released version 4.0.2 of our Syncplify.me Server! software. This hot-fix release was necessary to address an issue with some of the upgrades from version 3.x to version 4.0 where – at times – a “path not found” error could appear during the upgrade process.

We apologize for any inconvenience, and recommend anyone that needs to upgrade from version 3.x to download this new hot-fix release.

Syncplify.me Server! v4: scripting framework differences

Syncplify.me Server! version: 4.0.0+

The scripting framework in Syncplify.me Server! v4.0, which is used by the event-handling subsystem, is significantly different from the one found in previous versions. Yet, we did our best to preserve backward compatibility for the scripts you may have written in the past. Continue reading