How to Install Suricata on an AWS Instance of Ubuntu Linux

Updated on 11/28/17

Problem scenario
You want to install Suricata on Ubuntu Linux.  How do you do this?

Solution
These directions to install Suricata include a script and how to run it.   The optional script in 2.c was based on these here.  The optional script in 2.c script requires that your AWS Ubuntu Linux server is in a security group that has access to the Internet. 

How to Use Ant (when You Receive an Error about build.xml Not Existing)

Problem Scenario:  You want to use Ant to invoke your customized build.xml file.  But when you run it, you get “
Target “build.xml” does not exist in the project …”
Solution:  Call ant with no other variables.  Do not use “ant build.xml”.  Use “ant” by itself.
Miscellaneous:  Most CentOS/RedHat repositories will have Ant available.  As root, the command “yum install ant” should get it installed. 

What Are the Minimum Packages Necessary for Kerberos on CentOS?

Question 1:  What are the packages that must be installed on a CentOS server to have it serve as the Kerberos server?

Answer 1: These three packages: krb5-server krb5-libs krb5-auth-dialog

Question 2:  What are the packages that must be installed on a CentOS server to have it serve as the Kerberos client?

Answer 2: 

How Can Jenkins Invoke PsExec?

Problem scenario:  When using Jenkins, PsExec never seems to work when called as a batch command in a .bat file or PowerShell script.  Jenkins logs an error about the PsExec command not being found.

Solution / workaround:  PsExec seems to never work if called by a PowerShell script or a batch script via Jenkins.  The only exception seems to be if a Scheduled Task calls a .bat file or PowerShell script that uses PsExec. 

How to Install Suricata on an AWS Instance of RedHat Enterprise Linux Server

Updated 11/29/17

These directions will allow you to install Suricata.  The script in step 2 was designed to install Suricata 4.0.1 on an AWS instance of RHEL 7.4.  This script requires that your AWS RedHat Enterprise Linux server is in a security group that has access to the internet.  You do not need a subscription to RedHat packages. 

Step #1  Log into the Red Hat Enterprise Linux server. 

How To Install PsExec on Windows Server

Not all directions are clear.  Here is an example where Microsoft has less than perfect directions:

“Installation

Just copy PsExec onto your executable path. Typing “psexec” displays its usage syntax.”

First off, psexec won’t display usage syntax until after the installation. If you are like me you are asking what is the executable path?

The answer can be found by opening PowerShell and typing this:

Get-ChildItem Env:Path | ft -wrap -AutoSize

Any of those semi-colon delimited results can be the destination of the files inside the PsTools.zip file. 

How Do Build and Release Engineers Target Specific Servers With Jenkins Builds?

Problem scenario:  Using a configuration management tool, you can modify the selections of servers for your configurations to exclude specific servers.  With Puppet Master you can create classes of nodes (that exclude various Puppet Agent servers) and have manifests apply to the class.  In Puppet you can also write manifests that specify individual servers.  Chef recipes can target certain Chef clients and exclude others.  SaltStack allows the Salt Master server to “call a highstate” (or run an action) on specific Salt Minion servers to push down files or execute commands while ignoring multiple Salt Minions. 

Troubleshooting Jenkins (Two Different Problems)

Problem scenario:  You are in the Jenkins master web UI and are trying to configure a Jenkins node (previously known as a slave) instance.  You entered the correct hostname, username and password.  You get this error:

“ERROR: Unexpected error in launching a slave. This is probably a bug in Jenkins.
java.lang.IllegalStateException: Connection is not established!”

Solution:  Instead of using the hostname of the Jenkins node (previously known as a slave) server,

How Do You Install libyaml on a Red Hat Derivative of Linux?

Problem scenario
You are using a RedHat derivative of Linux.  You get an error about libyaml not being installed (e.g., when a dependency of Suricata is unmet).  You tried to install libyaml-devel, but it did not work.  What should you do?

Solution for RHEL
If you are using RedHat run these two commands:

sudo yum-config-manager –enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum -y install libyaml-devel

Solution for CentOS/Fedora
If you are using CentOS or Fedora, go here to get the package you need.

[Sassy_Social_Share]

Troubleshooting and an FYI Regarding OpenSSH

Problem scenario #1
You try to SSH to a Windows server with OpenSSH.  You get “Permission Denied.”
Solution
Go to the Windows server.  Go to Server Manager -Tools -Computer Management -Users and Groups.  Double click on the user you are trying with.  Uncheck “User must change password at next log on.”  This setting will not allow an SSH connection to happen.

Problem scenario #2
ssh-agent service is running on a Windows server with OpenSSH.