Skip to content

server - 2. page

How To Install & Configure Fail2Ban On Ubuntu 14.04 LTS To Block Brute Force Attacks Against SSH and Apache Web Server

As you’ve probably heard me say before, if you have a public facing Linux server, meaning one or more open or forwarded ports, Fail2Ban absolutely must be installed. Fail2Ban monitors log files for excessive login attempts, also called Brute Force attacks. They are extremely common place on the internet. I have never had a public facing server that has gone more than a few days without some hacker trying to brute force it. These attacks go like this. Someone writes a script, or uses a program, that reads a bunch of possible usernames from a text file that has nothing but millions of usernames. There is also a text file with millions of passwords. The script will attempt to go through all username and password combinations until it finds one that can login successfully. Obviously, if you get a hundred or more login attempts from one IP address, nothing good will ever come from that IP so it pretty safe to assume it should be blocked, at least for some period of time.

Fail2Ban does precisely this. It constantly watches any log file you tell it to watch, and when a certain number of login attempts are logged from an IP address, Fail2Ban will automatically create an iptables rule to block all traffic from that IP address for a given period of time. Because brute force attacks take a long, long time, blocking one early on pretty much eliminates the possibility of a successful attack. SSH is the most common service / port for brute force attacks, from my experience. With FTP and POP3 (email) coming in second and third. It’s a no-brainer to set up Fail2Ban to automatically block attacks. It gives you much needed protection and security for your servers. So, here we go.

How to Install Fail2Ban on Ubuntu 14.04 LTS (Trusty)

First and foremost, let’s make sure apt is updated.

#  sudo apt-get update

Now we can install Fail2Ban. Since there is an aptitude package already, we will use that to install.

#  sudo apt-get install fail2ban

Surprisingly, that’s all you need to do to install it. You do, however, need to edit the main configuration file for Fail2Ban, which is jail.conf. Lets go ahead and open it up with nano and take a look.

#  sudo nano /etc/fail2ban/jail.conf

Click Here To Read The Entire Tutorial

How To Figure Out What Distribution & Version Of Linux Is Installed and Running

I’ve often found myself picking up on a server build, taking over administration, or troubleshooting problems on Linux based OS’s, with absolutely no clue as to what distribution of Linux is running on said machine. The distribution dictates what package manager is used, such as yum for CentOS / RHEL, and apt (aptitude) for Debian and Ubuntu based distributions. So, if you’re working on a Linux machine and you want to figure out exactly what you’re working with, there are some basic commands you can run that will tell you precisely that.

To find out what distribution is installed

There is always a file in /etc called something-release. This file will give you the basic info you need. So, using cat, we can figure out exactly what distribution is installed by running this.

#  cat /etc/*-release

Here is an example of what you can expect to see on an Ubuntu 14.04 server.

Screen Shot 2015-05-16 at 12.48.13 PM

As you can see, this gives you quite a bit of information to work with. All the way down to the release version and codename designation, as well as the root os base, which is Debian in the case of Ubuntu. Now, lets see what this looks like on another distribution, such as CentOS.

Click Here To Read The Entire Tutorial!

How To Enable Data Deduplication In Windows Server 2012 On An Existing Volume

I have a very large RAID 6 array that is used to store movies, tv shows, personal files, and various other things. It’s formatted capacity is about 36TB. Believe it or not, it’s pretty much full. It currently consists of 20x2TB hard drives and I really don’t want to add any more drives to it in its current form. Later this year I’m planning on building a new array to replace it, using fewer 6TB or 8TB drives. The server that manages the array had Server 2008R2 installed. After getting down to the last few gigs of free space it dawned on me, why not install Server 2012 R2 and set up data deduplication. I’ve read some pretty impressive articles online, where people were able to reclaim up to 60% of their storage using the dedup mechanism in Server 2012. So, I went ahead and upgraded. I started poking around and it wasn’t very obvious enabling dedup, so I put this guide together to help you get started.

Enabling Deduplication in Server 2012 R2

First, we need to install the Data Deduplication service. It’s part of File and Storage Services. Open Server Manager, select Local Server in the left side pane, then go to the Add Roles and Features wizard, under Manage.

Screen Shot 2015-05-14 at 1.55.06 PM

Go through the first few windows, and when you get to Server Roles, you need to make sure Data Deduplication is selected, at minimum, under File and Storage Services. This is also a good opportunity to install any other roles or services you might be interested in.

Screen Shot 2015-05-14 at 1.53.02 PM

Click Here To Read The Entire Tutorial!

How to Install Docker on CentOS 7 and Set Up A Ghost Blog

Docker is a slick container based virtualization platform that allows you to run “images,” with minimal overhead. There are many different images available, from full blown OS’s, such as Ubuntu or CentOS, to web apps like WordPress or Ghost. The possibilities are endless, and because resource usage is minimal, you can really do a lot with little resources. You can install docker on all of the major linux distributions, as well as windows. I works fine in a virtual machine, or VPS. I will be installing Docker on a CentOS 7 VM, running on an ESXi hypervisor.

Lets Get Started

I’m assuming you already have your operating system installed, you are sitting at a command prompt. Installation and configuration is very easy on CentOS 7. By default, CentOS uses firewalld. Docker and firewalld do not get along nicely. Docker creates iptables rules directly for access to running containers, and if firewalld is refreshed or restarted, all of the iptables rules docker initiated get wiped by firewalld. So, we will disable firewalld and install the classic iptables functionality. Here are the steps involved:

  • Install Docker
  • Disable firewalld
  • Install iptables configuration scripts
  • Download Ghost Docker image and run

First, we will go ahead and install Docker. To do this only requires a single, simple command.

#  sudo yum install docker

Let’s set up Docker to start at boot time.

#  sudo chkconfig docker on

There will be a handful of dependencies, nothing out of the ordinary. If you are already running as root, you can omit the sudo. Next, we need to get firewalld stopped, removed, and iptables configuration scripts installed.

Click Here To Read The Entire Tutorial!

How to change the MTU in Windows Server 2008 & 2012

When I finally got a Windows Server 2012 image built and deployed on OpenStack, I started having some seriously squirrely problems with networking. I was able to ping and resolve DNS. I was even able to browse network shares on other servers that were well up the chain outside of the virtual environment, but I was unable to actually browse the internet from the Windows Server 2012 instance on OpenStack. I was having no issues with Linux based images.

I immediately suspected MTU as the culprit. I double check my neutron-dnsmasq.conf file to make sure the MTU was set at 1454, via DHCP configuration. It was. So, I checked the MTU settings on the Windows image and it was in fact 1500. For some reason the DHCP option was not having any effect on the Windows image. This is supposed to be addressed by the CloudBase VirtIO driver, allowing the MTU to be set via DHCP in OpenStack environments, but it obviously wasn’t working. You can check your MTU by doing the following:


Open an Administrator command prompt.

netsh interface ipv4 show interfaces


Screen Shot 2015-04-27 at 7.29.38 PM


This will show you your current MTU settings. Pay close attention to the Idx # of the ethernet interface. You will need this information to change the MTU. To change the MTU to 1454 use this command. (you will need to replace the “10” with the Idx for your ethernet interface)

Click here to read the entire tutorial!

Installing Ubuntu OpenStack on a Single Machine, Instead of 7

For an updated guide click here to read “Install OpenStack on a Single Ubuntu 16.04 Xenial Xerus Server – Updated!”

If you’ve read my other recent posts, you’ve probably notice I’ve been spending a lot of time with different cloud architectures. My previous guide on using DevStack to deploy a fully functional OpenStack environment on a single server was fairly involved, but not too bad. I’ve read quite a bit about Ubuntu OpenStack and it seems that Canonical has spent a lot of energy development their spin on it. So, now I want to set up Ubuntu OpenStack. All of Ubuntu’s official documentation and guides state a minimum requirement of 7 machines (server). However, although I could probably round up 7 machines, I really do not want to spend that much effort and electricity. After scouring the internet for many hours, I finally found some obscure documentation stating that Ubuntu OpenStack could in fact be installed on a single machine. It does need to be a pretty powerful machine; the minimum recommended specifications are:

  • 8 CPUs (4 hyperthreaded will do just fine)
  • 12GB of RAM (the more the merrier)
  • 100GB Hard Drive (I highly recommend an SSD)

With the minimum recommended specs being what they are, my little 1u server may or may not make the cut, but I really don’t want to take any chances. I’m going to use another server, a much larger 4u, to do this. Here are the specs of the server I’m using:

  • Supermicro X7DAL Motherboard
  • Xeon W5580 4 Core CPU (8 Threads)
  • 12GB DDR3 1333MHz ECC Registered RAM
  • 256GB Samsung SSD
  • 80GB Western Digital Hard Drive

I have installed Ubuntu 14.04 LTS, with OpenSSH Server being the only package selected during installation. So, if you have a machine that is somewhat close to the minimum recommended specs, go ahead and install Ubuntu 14.04 LTS. Be sure to run a sudo apt-get upgrade before proceeding.

Lets Get Started

First, we need to add the OpenStack installer ppa. Then, we need to update app. Do the following:

Click here to read the entire tutorial!

Installing OpenStack on a Single CentOS 7 Server

This guide will help you install OpenStack on CentOS 7.  If you would like to install Openstack on Ubuntu, here is a guide to install OpenStack on a single Ubuntu 14.04 server, and this one will help you get OpenStack installed on a single Ubuntu 16.04 server.

I’ve always been rather curious about OpenStack and what it can and can’t do. I’ve been mingling with various virtualization platforms for many, many years. Most of my production level experience has been with VMWare but I’ve definitely seen the tremendous value and possibilities the OpenStack platform has to offer. A few days ago I came across DevStack while reading up on what it takes to get an OpenStack environment set up. DevStack is pretty awesome. Its basically a powerful script that was created to make installing OpenStack stupid easy, on a single server, for testing and development. You can install DevStack on a physical server (which I will be doing), or even a VM (virtual machine). Obviously, this is nothing remotely resembling a production ready deployment of OpenStack, but, if you want a quick and dirty environment to get your feet wet, or do some development work, this is absolutely the way to go.

The process to get DevStack up and running goes like this:

  1. Pick a Linux distribution and install it.  I’m using CentOS7.
  2. Download DevStack and do a basic configuration.
  3. Kick of the install and grab a cup of coffee.

A few minutes later you will have a ready-to-go OpenStack infrastructure to play with.

Server Setup and Specs

I have always been fond of CentOS and it is always my go-to OS of choice for servers, so that is what I’m going to use here. CentOS version 7 to be exact. Just so you know, DevStack works on Ubuntu 14.04 (Trusty), Fedora 20, and CentOS/RHEL 7. The setup is pretty much the same for all three so if you’re using one of the other supported OS’s, you should be able to follow along without issues, but YMMV.

Click Here To Read The Entire Post!