arnold
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
arnold [2012/11/12 08:59] – [The scripts] bredal | arnold [2016/01/06 13:54] (current) – link to new location morten | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Arnold ====== | + | This has been moved into the official |
- | + | ||
- | //This documentation is for Arnold in NAV 3.4 and newer. | + | |
- | + | ||
- | {{tools: | + | |
- | + | ||
- | This document will give you information about how Arnold works and how to use and configure it. A FAQ-section will be added as questions are received. | + | |
- | + | ||
- | ===== What does Arnold do? ===== | + | |
- | + | ||
- | Arnold is a system that blocks or changes vlan on (from now on referred to as a " | + | |
- | + | ||
- | :!: NB: It is important that the write-community is set in the NAV-database, | + | |
- | + | ||
- | + | ||
- | + | ||
- | ====== Running Arnold ====== | + | |
- | + | ||
- | Arnold consists of a couple of scripts (including a arnold-module), | + | |
- | + | ||
- | + | ||
- | + | ||
- | ===== The web-interface ===== | + | |
- | + | ||
- | To access the web-interface, | + | |
- | + | ||
- | * **History: | + | |
- | * **Blocked ports:** All currently detained ports. This is the default page. | + | |
- | * **Search:** Search the database. | + | |
- | * **Add detentionreason: | + | |
- | * **Manual detention: | + | |
- | * **Predefined detentions: | + | |
- | * **Add Quarantine vlan:** A quarantine vlan is used when quarantining computers. Define your quarantine vlans here. | + | |
- | + | ||
- | As the functionality of these pages are more or less self-explaining, | + | |
- | + | ||
- | ===Predefined detentions=== | + | |
- | + | ||
- | A predefined detention lets you specify parameters for a detention before the detention is carried out. Why use it? | + | |
- | + | ||
- | * It saves you the trouble of choosing all parameters when detaining. | + | |
- | * It is perfect for use by other scripts and by a cronjob. | + | |
- | * It is perfect for use when you have a lot of computers to block at the same time. | + | |
- | + | ||
- | So, hit the "Add new predefined detention" | + | |
- | + | ||
- | * **Detainmenttype:** Choose whether you want to block computers or put them on a quarantine vlan. | + | |
- | * **Title:** is the title of the predefined detention. This is just a name used to refer to it. | + | |
- | * **Description: | + | |
- | * **Reason:** is the reason used when detaining with this predefined detention. You can choose one already defined or add a new one by using the respective fields. | + | |
- | * **Path to mailfile:** is the name of the mail template-file you must make if you want to send mail to the people responsible for the computers that are detentioned. Read more about the mail templates in the " | + | |
- | * **Path to inputfile: | + | |
- | * **Detention pursuit:** decides how Arnold will behave when pursuing a computer that moves to other ports when detained. "Open on move" means that Arnold will enable the former port when detaining the new port, "All closed" | + | |
- | * **Exponential increase:** is a nifty feature that detains previous mischievers for a longer timespan for each new detention. More details in the " | + | |
- | * **Detention duration:** is the same as auto enable - it decides the timespan the port is disabled. | + | |
- | * **Active on vlans:** lets you limit the vlans the detentions are enforced on. If a computer is on a vlan not specified in this field, it will not be detained. If left blank, all vlans are used. The format is a comma-separated list of vlannumbers (e.g. 123,234). | + | |
- | * **Active:** check this to activate the predefined detention, uncheck to disable it. Disabled predefined detentions will do nothing when asked to detain computers. | + | |
- | + | ||
- | **How to use a predefined detention** | + | |
- | + | ||
- | The only way to use a predefined detention is by using the '' | + | |
- | + | ||
- | ===== The scripts ===== | + | |
- | + | ||
- | Arnold consists of three scripts, which all are located in the '' | + | |
- | + | ||
- | * **autoenable.py: | + | |
- | * **start_arnold.py: | + | |
- | * **t1000.py: | + | |
- | + | ||
- | ==== arnold.py ==== | + | |
- | + | ||
- | This script is removed, and may or may not come alive again depending on demand. | + | |
- | + | ||
- | ==== autoenable.py ==== | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | The simplest way of adding this script as a cronjob is to create a file containing a short cron snippet that calls the autoenable.py program as often as you would like autoenable timeouts to be checked. | + | |
- | + | ||
- | ==== start_arnold.py ==== | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | We want to scan our network for malicious computers. We have our own scanning-computer that has more-than-normal access to the whole network, and this is not the computer NAV is installed on. How do we deliver the list from the scanning-computer to arnold | + | |
- | + | ||
- | < | + | |
- | [prompt]# cat scanresult.txt | ssh scanner@navinstall.network.com: | + | |
- | </ | + | |
- | + | ||
- | This will ensure a clean and tidy run of arnold and some detained ports. Of course you can also use '' | + | |
- | + | ||
- | ==== t1000.py ==== | + | |
- | + | ||
- | This script is run by cron. It fetches all detained ports from the database and starts checking if the mac-address which was behind that port is active any other place in the network. If it is, it enforces the detention on that port aswell. Depending on options given at detention-time it will either enable the old port or just leave it. Needless to say this does not detain the new port immediately after a detained computer has moved to it as it takes some time before the mac-address is discovered, but it is as good as it gets (for now). | + | |
- | + | ||
- | ====== Configuring Arnold ====== | + | |
- | + | ||
- | + | ||
- | ===== Config files ===== | + | |
- | + | ||
- | The following configuration files are used by Arnold. | + | |
- | + | ||
- | ====arnold.conf==== | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | * **arnold** is the section that contains information about what database to use and on what networking equipment Arnold should be able to detain ports. You also define email-addresses here. | + | |
- | * **loglevel** defines the different loglevel for each of arnold' | + | |
- | * **arnoldweb** has just one config option, which sets the default detention method when loading the webinterface. | + | |
- | + | ||
- | ====nonblock.conf==== | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | ====Mailtemplates==== | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | If you make a // | + | |
- | + | ||
- | ====== Logging ====== | + | |
- | + | ||
- | The arnold scripts logs to individual files stored in '' | + |
arnold.1352710773.txt.gz · Last modified: by bredal