Hello fellow colleagues of the UO emulation community,

I wanted to start this thread so that we can collect and combine here as many information as possible about online security and ways to protect your server against all possible threats that exist when you open a shard.

I won't hide that this topic really matters to me as it could be used in other fields than UO, but I thought collecting information about protection could be useful to any shard owner. After all, there is probably a lot of shard owners have already faced a DDOS attack, or got their password stolen while connecting on another shard.

The goal is not to share your "hacking techniques", but rather help us avoid and defend against them.

By knowledge management, I mean collecting and sharing tutorials that already exist.
By best practices, I mean describing and sharing your own experience as a shard owner or developer.

I will start by sharing my best practices and how I usually work online to protect my shard.

First, I usually never host my servers at home. There are decent hosts with decent prices which allow you to avoid some basic issues, like a hard disk crashes or a temporary electric blackout in your area.
For starting shards and for those having a good connection (and preferably a fixed IP), it's less expensive though to start with a server hosted at home. But don't forget that it could lead to having your whole home network exposed to the Internet by opening port 2593 (or another).

Secondly, I usually choose Windows Server as it's easier to configure and more compatible with ServUO (or other emulators), which are compiled in C#. It usually comes with a firewall that blocks all connection from outside the server. If you want to open port 2593, you have to configure it (and define how you open it).
Although, my latest shard is based on Linux (Debian Jessie) and it seems to work like a charm (except the compatibility with some voting sites, which could be fixed with a bit of work on some core files).
Linux is more protected concerning the rights given to users created on the server. The admin user is usually called "root" and you are asked to configure a "root password", which can allow you to change basically anything on the server.
A good practice is not to connect with your root user, but creating a user dedicated to controlling your shard. You will have to give access rights to that user on the correct folders. chmod and chown are your best friends ;)

Another tip, whatever it is for Linux or Windows, is to regularly update your server with latest fixes about security.
On Windows : automatic updates are the way to go (with a planned restart)
On Linux : run apt-get update and apt-get upgrade

And last for today, but not least : backups.
It's crucial to duplicate and save your files on multiple locations.
UO doesn't take a lot of space, so it's easy to "copy paste" your server folder, rename the copy according to the date of the day, zip and download to a secure spot. In my humble opinion, the best spot is a place that is not connected to the internet ;) A good old external USB drive, for example. A sinology disk station is also a great toy for those who can afford one.

Well, only basic and common sense practices for now, but it might be a good way to start.

Anyone else would like to share his experience and knowledge on the field of internet security ? Maybe some useful links could help too ;)

In advance, thanks to anyone who contributes to this topic !

-Regnak-
 
Hello guys and gals,

Isn't anyone interested in sharing techniques to defend his UO server ? :p

j/k

But good ways to secure a server, it's always useful ^^
 
Monitor your network activity, that's crucial.

Some time recently, I was monitoring my FileZilla FTP server and noticed thousands of connection attempts.
It was all from the same IP too - I looked up the IP and sure enough, it is part of a botnet use for crawling FTP services, trying to gain access.

If you notice things like this in your logs for any service you're running, you should take action immediately by fire-walling the remote IP address.

Ever since I've been working on the new WebAPI for VNc 3.0, I notice that a lot of Http requests coming in to my shard were being aborted early.
This was also linked to a botnet who's purpose was to exploit any vulnerabilities; I have to assume it was targeting Apache-based web servers due the the kind of requests it was making and tht it seemed to be trying to use my shard as a proxy server in some sort of scam operation. Because I roll my own API, none of this mattered - but it's what you CAN'T see that can really hurt you.

Most servers come with Internet Information Services installed and enabled by default - This in itself is a security risk if you have not had the chance to configure the service. At any rate, IIS will have to be uninstalled in order to use VNc 3.0's WebAPI service on port 80.


Other kinds of attacks that are worth noting - bot clients, like those using StealthUO, are capable of micro-DDoS attacks on the shard itself, they can be configured to flood the shard with packet requests - the most common of these attacks uses MovementRequest as that is the packet which is most often handled and movement requiring some substantial processing.
 
Thanks @Voxpire !
Very useful information.
This could help anyone who is hosting a server.

I didn't know there were so many netbots around.

I'll take a closer look at my logs, definitely...
 
One thing learned "the hard way" : be careful and choose a very good USERNAME when creating your owner account...

Yeah, username.

Never share that ;-)
 
One thing learned "the hard way" : be careful and choose a very good USERNAME when creating your owner account...

Yeah, username.

Never share that ;-)
It may be a tad overboard but I've always kept it in mind to not make a admin account using the same username on someone else's shard.
Since the GMs of the other shard can see your account name.
 
Monitor your network activity, that's crucial.

Some time recently, I was monitoring my FileZilla FTP server and noticed thousands of connection attempts.
It was all from the same IP too - I looked up the IP and sure enough, it is part of a botnet use for crawling FTP services, trying to gain access.

If you notice things like this in your logs for any service you're running, you should take action immediately by fire-walling the remote IP address.

Ever since I've been working on the new WebAPI for VNc 3.0, I notice that a lot of Http requests coming in to my shard were being aborted early.
This was also linked to a botnet who's purpose was to exploit any vulnerabilities; I have to assume it was targeting Apache-based web servers due the the kind of requests it was making and tht it seemed to be trying to use my shard as a proxy server in some sort of scam operation. Because I roll my own API, none of this mattered - but it's what you CAN'T see that can really hurt you.

Most servers come with Internet Information Services installed and enabled by default - This in itself is a security risk if you have not had the chance to configure the service. At any rate, IIS will have to be uninstalled in order to use VNc 3.0's WebAPI service on port 80.


Other kinds of attacks that are worth noting - bot clients, like those using StealthUO, are capable of micro-DDoS attacks on the shard itself, they can be configured to flood the shard with packet requests - the most common of these attacks uses MovementRequest as that is the packet which is most often handled and movement requiring some substantial processing.
Would you say that the standard Windows Resource Monitor is good enough for monitoring network activity?
 
Back