Copyright (C) 2011, 2012, 2013, 2014 Gene Guinter
SNEZ is free software: you can redistribute it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
SNEZ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/.
Contact the copyright holder at firstname.lastname@example.org.
While SNEZ is tested with web vulnerability scanners, do not allow SNEZ to be accessed from the Internet or an untrusted or insecure network.
REQUIREMENTS and PRE-REQS
Ubuntu (tested on 14.04) or RedHat-based (tested on Centos 6) Linux. Versions prior to 1.11 provide installation scripts and program code for Centos and RedHat only.
Snort, Apache, MySQL, PHP.
For https connection (default), mod_ssl and openssl. README.SSL contains information to a aid in the generation of a digital certificate.
When configuring Snort, output type must be MySQL or barnyard2 to MySQL.
NEW INSTALL (See below for upgrades)
Create SNEZ database and install package-
1. mkdir /opt/SNEZ
2. cd /opt/SNEZ
3. cp [download location]/SNEZ-[ver].[rel].tar.gz ./
4. tar -xzvf SNEZ-[ver].[rel].tar.gz
5. cd SNEZ-[ver].[rel]
6. ./SNEZcreate or bash SNEZcreate (This will create and populate your SNEZ db.
Supply password for root@localhost when prompted;
then supply a password for access to your SNEZ DB when prompted.
You will enter this password in the config file in the next step).
7. vi ./SNEZconfig.php. Add the SNEZ database password selected in the previous step to the line
Modify other parameters as needed, especially your sniffer interface (See CONFIG FILE later in the README)
8. ./SNEZinstall or bash SNEZinstall (Answer prompt with C for Centos, else Ubuntu is assumed)
9. Create logins and populate malware active ip list-
a. In a browser- http://[ip address of server]/SNEZ/SNEZlogin.php
b. Login as 'admin' using password of 'admin'
c. Click on the Admin Functions tab and add an administrator
that can add users (be sure to check the box)
d. From the browser, log off and log on with the new administrator id from step 3.
e. Go to Admin Functions and delete user admin.
10. Click on the box to load malware active ip list from malwaredomainlist.com
11. Use visudo to make the additions and changes so certain root commands can be executed. (Caution! Read the sudo and visudo documentation.
Mistakes here can render your system inoperable. Never edit the sudoers file with vi or another editor. You skip this if you don't want to use the tcpdump or logrotate-on- demand capabilities of SNEZ, or are uncomfortable making the changes, or concerned about security implications of allowing a non-root user running tcpdump or logrotate).
hostname (get hostname of your system)
visudo (add the following lines, adjusting for your system appropriately; some systems may use
apache as http server user, Centos for example)
www-data hostname=NOPASSWD:/usr/sbin/tcpdump (substitue your host name for hostname)
(comment out the following lines if present)
!wq (or q! if you make mistakes and want to start over)
CONFIG FILE (after install, the config file can be changed at any time, and then run SNEZconfiginstall from /opt/SNEZ/SNEZ-v.r.m)
Settings in the SNEZconfig.php file-
encrypt = none
none or an existing, installed php hash function for password
NOTE: if you change this on a running system, login first,
run SNEZconfiginstall, and immediately add new users
https = enforced
all connections https; change to unenforced for http (NOT RECOMMENDED)
inactive = 900
password to the SNEZ database chosen at install time; must be set
GMT offset; default to USA Eastern
default maximum db rows read before page displayed
default max db rows read before page displayed when DNS resolution used;(can be lowered for speed)
summary.rowlimit = 10000
number of db rows to read before fully collapsed summary view
php.max.execution.time = 120
overrides php.ini max execution time
sniffer.interface = eth1
sniffer interface for optionaluse of tcpdump (*Note)
min.user.pwd.len = 8
minimum password length for users
pwd.complexity = strong
default is strong, letter, number, caps, special chars; can change to simple
whois = SNEZdoc.php?page"="whois
whois or reputation lookup site; select your personalfavorite *
(whois2 through whois9 can be added to for up to 10 reputation or lookup sites)
* You can cut from the SNEZ page and paste into the lookup site, however, keyword substitution is also provided for ip address and domain lookup information.
Use keyword SNEZip to substitute ip address, and SNEZdns for domain lookup.
You will need to manually visit the site to determine the path and the proper location in the URI for the parameters.
Escape equal signs and ampersand characters by enclosing them in double-quotes.
This feature is offered as a convenience, and you are solely responsible for accessing the chosen site properly and
whois = http://favoritelookupdomain.com/....path.../SNEZdns
whois = http://favoriteantimalwaresite.com/...path.../SNEZip
whois = http://www.ipvoid.com/scan/SNEZip/
whois = http://www.google.com/safebrowsing/diagnostic?site"="SNEZdns
whois = http://www.siteadvisor.com/sites/SNEZdns
1. cd /opt/SNEZ
2. cp [download location]/SNEZ-[ver].[rel].tar.gz ./
3. tar -xzvf SNEZ-[ver].[rel].tar.gz
4. cd SNEZ-[ver].[rel]
6. only if upgrading from < or = SNEZ 1.6.x, ./SNEZ17update
7. only if upgrading from < or = SNEZ 1.7x, ./SNEZ18update
8. only if upgrading from < or = SNEZ 1.8.1, ./SNEZ19update
Can be used to uninstall product permanently or clean for fresh install
Occassionally use mysqlcheck --databases SNEZ -vaop and mysqlcheck --databases snort -vaop. Best to stop Snort
and Barnyard2 first.