Copyright (C) 2011, 2012, 2013, 2014, 2015 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
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. Consult the project website and wiki regularly for new versions and hotfixes addressing security vulnerabilities.
REQUIREMENTS and PRE-REQS
Ubuntu (tested on 14.04), or RedHat-based (tested on Centos 6),SuSe-based (tested on OpenSuSe Linux, Snort, Apache, MySQL, PHP. The SNEZ threshold function, if needed, requires Snort to be installed in /usr/local/snort. Otherwise, SNEZthreshold can be modified for the correct path. Apache paths are assumed to be the default for your distribution. 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 unified2 (use 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 SNEZ.password=
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, U for Ubuntu, S for SuSe)
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 allowinga 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)
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 page displayed
php.max.execution.time = 120
overrides php.ini max execution time
sniffer.interface = eth1
sniffer interface for optional use 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 personal favorite *(whois2 through whois9 can be added to for up to 10 reputation or lookup sites)
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
9. only if upgrading from < or = SNEZ 1.10.x ./SNEZ110update
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.