Installing NSIA » History » Version 11
Luke Murphey, 04/04/2010 01:16 AM
1 | 10 | Luke Murphey | {{>toc}} |
---|---|---|---|
2 | 10 | Luke Murphey | |
3 | 1 | Luke Murphey | h1. Installing NSIA |
4 | 1 | Luke Murphey | |
5 | 1 | Luke Murphey | h2. Prerequisites |
6 | 1 | Luke Murphey | |
7 | 3 | Luke Murphey | NSIA requires "Java runtime environment (JRE)":http://java.sun.com/javase/downloads/index.jsp 1.6 or later. |
8 | 1 | Luke Murphey | |
9 | 1 | Luke Murphey | Note that some Linux operating systems (such as Ubuntu) include GCJ instead of Sun Java. GCJ is not currently supported and should not be used for running the V. On Ubuntu, run the following command to install Java: |
10 | 1 | Luke Murphey | |
11 | 11 | Luke Murphey | @sudo apt-get install sun-java6-jre@ |
12 | 1 | Luke Murphey | |
13 | 2 | Luke Murphey | Otherwise, go to Sun Microsystems’ website to "download the Java 6 JRE":http://java.sun.com/javase/downloads/index.jsp. |
14 | 1 | Luke Murphey | |
15 | 1 | Luke Murphey | h2. Installation Methods |
16 | 1 | Luke Murphey | |
17 | 1 | Luke Murphey | NSIA has two installation methods: Windows installer and the archive method (no installer). |
18 | 1 | Luke Murphey | |
19 | 1 | Luke Murphey | h3. Windows Installer |
20 | 1 | Luke Murphey | |
21 | 1 | Luke Murphey | The installer only works on Windows. In addition to installing the application, the installer will install NSIA as a service. By default, it uses the internal database. An external database can be configured by updating the config.ini file (see below). |
22 | 1 | Luke Murphey | |
23 | 1 | Luke Murphey | h3. Archive Method (No Installer) |
24 | 1 | Luke Murphey | |
25 | 1 | Luke Murphey | The zip archive should be used on non-Windows platforms (but can also be used on Windows). After unzipping the archive, run install.sh (on Unix/Linux) or install.bat (on Windows) to create the default user and initialize the database. |
26 | 1 | Luke Murphey | |
27 | 1 | Luke Murphey | h3. Configuring Java Runtime |
28 | 4 | Luke Murphey | |
29 | 1 | Luke Murphey | You may need to change the amount of memory that the Java runtime uses. The JVM settings can be configured in etc/config.ini. The config.ini file will be loaded by the ThreatFactor binaries (such as ThreatFactor NSIA.exe) and user to configure the Java runtime. Note that the settings in this file won't affect NSIA if you run it directly by calling Java. |
30 | 1 | Luke Murphey | |
31 | 1 | Luke Murphey | Below is an example of the a configuration file: |
32 | 1 | Luke Murphey | |
33 | 1 | Luke Murphey | <pre> |
34 | 1 | Luke Murphey | # This sets the arguments sent to the Java virtual machine |
35 | 1 | Luke Murphey | JVM.Arguments=-Xmx512m |
36 | 1 | Luke Murphey | </pre> |
37 | 1 | Luke Murphey | |
38 | 1 | Luke Murphey | h3. Running as a Service / Daemon |
39 | 1 | Luke Murphey | |
40 | 1 | Luke Murphey | It you want NSIA st start every time the host starts, then it will need to be installed as a daemon (Unix) or service (Windows). |
41 | 1 | Luke Murphey | |
42 | 1 | Luke Murphey | h2. Installing as a Daemon (Linux/Unix) |
43 | 1 | Luke Murphey | |
44 | 1 | Luke Murphey | On Linux, you can use one of the init scripts to have NSIA start when thehost boots. The init scripts are provided with zipped archive version of NSIA. Copy the init script into the /etc/init.d/ directory. You’ll need to create symlinks in the appropriate run levels for NSIA to start automatically on startup. On Ubuntu, you can use update-rc.d to create the symlinks for you: |
45 | 1 | Luke Murphey | |
46 | 1 | Luke Murphey | <pre> |
47 | 1 | Luke Murphey | sudo update-rc.d -f nsia defaults |
48 | 1 | Luke Murphey | sudo chmod 755 /etc/init.d/nsia |
49 | 1 | Luke Murphey | </pre> |
50 | 1 | Luke Murphey | |
51 | 1 | Luke Murphey | The init script assumes that NSIA is installed in /opt/nsia; edit the init script if it is installed in another location. Additionally, you will need to edit the init script if you want to change the command-line arguments that are sent to NSIA (for example, if you wish to specify the amount of memory that the Java runtime allocates, set the location of the config file, etc.). |
52 | 1 | Luke Murphey | |
53 | 1 | Luke Murphey | Note that NSIA should start after networking since it will try to initiate scanning after starting. |
54 | 1 | Luke Murphey | |
55 | 1 | Luke Murphey | h2. Installing as a Service (Windows) |
56 | 1 | Luke Murphey | |
57 | 1 | Luke Murphey | On Windows, NSIA needs to be installed as a service to automatically run every time the system starts. To do this, install the included Win32 service using sc.exe: |
58 | 1 | Luke Murphey | |
59 | 1 | Luke Murphey | <pre> |
60 | 1 | Luke Murphey | sc create "nsia" DisplayName= "Threatfactor NSIA" binPath= "C:\Program Files\ThreatFactor.com\NSIA\bin\ThreatFactor NSIA Service.exe" |
61 | 1 | Luke Murphey | </pre> |
62 | 1 | Luke Murphey | |
63 | 1 | Luke Murphey | The above command assumes that NSIA is installed in "C:\Program Files\ThreatFactor.com\NSIA\bin\ThreatFactor NSIA Service.exe"; change the arguments as necessary. Additionally, make sure that the ''ThreatFactor NSIA Service.exe'' file is in the same path as the ''nsia.jar'' file (it won't be able to find it otherwise). |
64 | 6 | Luke Murphey | |
65 | 6 | Luke Murphey | h2. Using an External Database |
66 | 6 | Luke Murphey | |
67 | 6 | Luke Murphey | By default, NSIA uses an internal database. However, it is possible to use a database that is accessed over a JDBC connection. See [[External_Database]] for more information. |
68 | 7 | Luke Murphey | |
69 | 9 | Luke Murphey | h2. Running NSIA |
70 | 9 | Luke Murphey | |
71 | 9 | Luke Murphey | NSIA can be run three different ways: with the interactive CLI, GUI or as a service/daemon: |
72 | 9 | Luke Murphey | |
73 | 9 | Luke Murphey | | |*On Windows* |*On Unix/Linux* | |
74 | 9 | Luke Murphey | |Run From the Command-Line |Run ThreatFactor NSIA CLI.exe |Run "./ThreatFactor NSIA" | |
75 | 9 | Luke Murphey | |Run the GUI |Run ThreatFactor NSIA.exe |Run "./ThreatFactor NSIA GUI" | |
76 | 9 | Luke Murphey | |Run as a Windows Service |Start it from the command-line with "net start nsia" or with services.msc |NA | |
77 | 9 | Luke Murphey | |Run as a Unix Daemon |NA |sudo /etc/init.d/nsia start | |
78 | 9 | Luke Murphey | |
79 | 7 | Luke Murphey | h2. Configuring SSL |
80 | 7 | Luke Murphey | |
81 | 7 | Luke Murphey | By default, the web-interface does not use SSL. Follow the directions below to create an SSL certificate and configure NSIA to use it: |
82 | 7 | Luke Murphey | |
83 | 7 | Luke Murphey | h3. Creating the Keystore |
84 | 7 | Luke Murphey | |
85 | 8 | Luke Murphey | Create a new certificate using the keytool application. Below is an example: |
86 | 8 | Luke Murphey | |
87 | 8 | Luke Murphey | <pre> |
88 | 8 | Luke Murphey | keytool -genkey -alias nsia -keypass Pa55w0rd |
89 | 8 | Luke Murphey | </pre> |
90 | 8 | Luke Murphey | |
91 | 8 | Luke Murphey | Put the keystore file in the NSIA installation directory with the file name of "etc/keystore". |
92 | 7 | Luke Murphey | |
93 | 7 | Luke Murphey | h3. Configuring NSIA to Use SSL |
94 | 7 | Luke Murphey | |
95 | 7 | Luke Murphey | Open NSIA and navigate to the configuration page (http://127.0.0.1:8080/System/Configuration). Go down to "Server Subsystem" and check the box next to "Enable SSL". Restart NSIA and verify that the certificate was loaded. Note that the defautl port when using SSL is port 8443 (e.g. https://127.0.0.1:8443). |