Tuesday, December 16, 2008

Basic Linux Security

Linux is a portable light-weight operating system based on the Unix operating system. Many web hosting companies and much of the Internet itself runs on Linux Servers. Up until recently it has been complicated for the average home user to familiarize themselves on Linux. In the past few years many average user friendly versions of Linux have popped up on the landscape.

For our purposes here we are going to concentrate on the command line versus the GUI(Graphical User Interface). Linux has some native features that make it fairly secure out of the box. However this security is not fool proof without some additional configuration. Perhaps the main reason that Linux is more secure than Windows is not because it is a better product. No we cannot make that complete comparison. That would be like comparing Apples and Oranges. The reason Linux is more secure is it gets much less attention than Windows. Millions of people across the world are out there trying to exploit or lay bare the flaws in the Windows Operating System. With Linux there are not nearly as many users familiar as there are with Windows.

However using Linux out of the box without configuration changes you are leaving yourself wide open for hacks, attacks and many problems. One of the best things and possibly in some ways a disadvantage of the Linux Operating System is the amount of Distributions. There are more flavors of Linux then there are flavors of Kool-Aid. Many of these systems have slightly different structure, totally different Kernels(The central component of the Linux Operating System), different software packaging systems, and often different commands. For this tutorial we can feel safe knowing that the commands we are using are basic enough to work across distributions.

Considering many of the Linux Systems in operation are across the globe in data centers; technicians and users alike needed a secure remote system to connect to these servers. SSH stands for Secure Shell, it was created to replace many insecure connection protocols like telnet. The standard port you connect to with SSH is 22. SSH authenticates servers using an encrypted key. You can also configure ssh to connect with a public key. This would mean unless you have this public key you cannot connect. The scope of this article is a simple how to on basic Linux security. So we are only going to concentrate on the basics of SSH.

In the world of Linux the root user is God. Many servers are secured wonderfully only to login remotely using the root password. This is foolhardy because anyone using a simple sniffer program can obtain your root password and control your machine totally. Additionally as long as you use the common port of 22 for your SSH protocol, your leaving yourself wide open for potential hacks.

So these are steps you should do the first time you connect to your Linux Server:

Login to your server through SSH using user: root and your password.

Create a new user for yourself
common commands: “adduser newusername”
Password newusername – This step will ask you to set a password and then validate it

Find the directory your ssh configuration file is in. This could vary depending on distribution. You can issue the find command – find / -name ssh*conf . This file may be elusive. It can be named ssh.conf, sshd.conf, sshd_config and other names. Once you find the directory you can change the directory using – cd /directory/name

More than likely your server is using the ssh2 protocol. It is a more secure and a new standard.
You may have two config files. Only one of them actually works. It may be safe to change both. Open the configuration file/files in a text editor (vi, vim). Vi has a small learning curve, you will want to look at the man pages to familiarize yourself. Once opened you will want to find two different lines.

1.Port
2.PermitRootLogin

On the line that says Port you want to change it from the default port 22 to something else. This can be any port that is not currently in use. Such as 11215.

On the line that says PermitRootLogin you will want to change this answer to No.

After you have made these changes before logging out, in a separate window try to connect using your new port number and user name.

Now that our connection to the server is more secure, we need to add a couple of packages to our server.

1.A firewall (CSF, APF)
2.An antivirus (Fprot, AVG)
3.Spyware tools (rkhunter, chkrootkit)

You will need to choose which Firewall and Antivirus is good for your system. As far as the spyware tools I would recommend using both. These packages will check various security items on your server to make sure they are secure and not compromised.

In future tutorials we will dig deeper into your Linux Server and configuration of these security packages. The steps I have outlined here are the basic things you must do on your system before you worry about installing any software. These careful preventive measures will give you a head start in securing your Linux Server.

By Chris Collins

Wednesday, October 29, 2008

What Is a CMS Anyway

CMS stands for Content Management System. In laymen terms a CMS can help you build a web presence and is highly customizable. A CMS is a web portal software that gives you the ability to edit and update content on the fly. With built in functionality for your users to join your site, it is a coveted asset for anyone hoping to build a successful website.

Many of the CMS software packages out there are free, and all of them have "plug ins" that stretch the potential of your site. Some of examples of CMS systems are:

Wordpress - This actually started as a blogging package but with a small learning curve and wonderful templates it has become one of the leading CMS systems out there. Chosen by many for ease of use, and flexibility.
Drupal
Joomla

There are many more packages out there. However these are the key three. A CMS has the ability to create static pages, and the ability to post to dynamic pages on the fly. With this ability you can hire a designer to create you a professional template but can edit your own content afterwords.

The amount of features are jam packed and we could spend all day discussing them. Trust me if you want to build an easy website, a content management system is the wy to go.

Thursday, July 10, 2008

What To Keep In Mind When Choosing A Support Rep or Company

In todays world needing computer support is a necessary evil. With a decision as important as who your going to hire to fix your computer; there are important things to keep in mind. A lot of computer users make the mistake of letting a friend or relative look at their computer for free. This is actually like playing Russian roulette. Sometimes it works out, they may actually know what they are doing. However letting a hobby computer person touch your computer may make the situation worse. Think of it like this, would you let your nephew, grandson, son in-law or whomever be in charge of your money or finances? Now, if they are a trained professional then this may be exactly what you should do. The key is do not let anyone work on your computer without verifying their experience.


So what questions should you ask? When choosing someone to work on your computer, you should ask the same kind of general questions you would ask any contractor. Whether its working on your home, car or any other project.


  1. What is your hourly rate? What are your operating hours? Are there any hidden costs?

  2. How long do you estimate this job will take?

  3. What if the problem comes back? Will you still charge to re-fix it?

  4. What is your experience level?

  5. Will you show me how to fix smaller issues like this?

  6. Can I have references?


These may sound very simple. However its often easy in the heat of the moment to not concentrate on these issues. Many technicians are more charismatic than their skills can back up. Don't worry just remember these questions. When you have verified them, you can feel more secure that your job will be completed properly.