arnold
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
arnold [2008/06/13 07:26] – 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 |
- | + | ||
- | //For older versions of this document regarding earlier Arnold-releases, | + | |
- | + | ||
- | {{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, | + | |
- | + | ||
- | Arnold does not scan or in any other way detect or judge mischievers, | + | |
- | + | ||
- | ===== New features in arnold v2 ===== | + | |
- | + | ||
- | The main addition to arnold in version 2 is the ability to change vlans on ports instead of just blocking them. This is done so that if you have available quarantine vlans defined on your network, you can put computers on those vlans instead of blocking them. Putting computers in a quarantine vlan is more helpful and convenient for the user of the computer than suddenly losing the internet connection, which often leads to frustration and helpdesk calls. The action of changing a vlan on a port with the help of Arnold is called a //quarantine// | + | |
- | + | ||
- | Other new features: | + | |
- | * Totally rewritten in python to better interface with the rest of NAV. | + | |
- | * Arnold Python module makes it easy for developers to use arnold-functionality in other scripts and webpages. | + | |
- | * New concept - // | + | |
- | * Both ip and mac-addresses may be used to detain a computer. | + | |
- | * Given address does not have to be active at the moment to be detained. | + | |
- | * More and better options when enabling (enable also refers to " | + | |
- | * Vlans can now be specified to limit the area of a predefined detention. If an address is outside or moves outside this area, a detention will not be enforced. | + | |
- | + | ||
- | ====== 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: | + | |
- | * **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 four scripts, which all are located in the '' | + | |
- | + | ||
- | * **arnold.py:** is a script that gives you basic arnold-functions from a shell. Using the webinterface is preferred though. | + | |
- | * **autoenable.py: | + | |
- | * **start_arnold.py: | + | |
- | * **t1000.py: | + | |
- | + | ||
- | ==== arnold.py ==== | + | |
- | + | ||
- | This used to be the workhorse of the system. This is no longer the case as the python module ' | + | |
- | + | ||
- | + | ||
- | ==== autoenable.py ==== | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | ==== 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.1213342005.txt.gz · Last modified: by bredal