NAME
rat (Router Audit Tool) - A tool for auditing Cisco configs
SYNOPSIS
rat [OPTIONS] config [config ...]
DESCRIPTION
rat audits router configurations. It will log into the routers specified (you have to provide login info), pull down the configurations, audit them against a set of rules and produces four output files (see FILES section) for each router. One is a passwd style file listing all rules, pass/fail and other info. Two is a simple text-based report. Three is a "fix" file suitable for cut-and-past into config mode to fix the problems identified. Four is an HTML version of the report.
OPTIONS
- -u, --user
-
The --user flag allows the specification of an a username to be used when logging in to routers. The default is the current login name.
- -w, --userpw
-
The --userpw flag allows the specification of a user-level password on the command line. If the password is not specified, then the user will be prompted (without echo) for the password.
- -e, --enablepw
-
The --enablepw flag allows the specification of an enable password. If the password is not specified, then the user will be prompted (without echo) for the password.
- -b, --noclobber
-
The --noclobber flag indicates that devices configurations should not be pulled if they already exist.
- -a, --snarf
-
The --snarf flag indicates that devices configurations should be downloaded.
- -n, --nonenable
-
The --noenable flag indicates that snarf should not try to enable before pulling configs.
- -r, --rules
-
The --rules flag is used to specify the ncat(1) rules file to be used to audit the default is ncat_out.conf
- -l, --limitrulesto
-
The
"--limitrulestoto"allows the commandline specification of a regular expression to limit the rules that are checked. The name of the rule must match the regexp specified or the rule is skipped. You might try something like--limitrulesto=fingeror
--limitrulesto='finger\⎪syslog'
- -c, --limitclassto
-
The
"--limitclassto"allows the commandline specification of a regular expression to limit the rules that are checked. The class of the rule must match the regexp specified or the rule is skipped. You might try something like--limitclassto=access--limitclassto=localrules--limitclassto=access,logging,aaa--limitclassto='access\⎪logging\⎪localrules'See the rules file for definition of rule classes. By default, only rules matching the class "default" are checked. "all" is synonym for ".*". You can give a "normal" comma separated list of classes that you want to check because "," is treated as a synonym for the regular expression or ("⎪").
- -s, --sortorder
-
The
"--sortorder"flag allows the specification of the field that reports are sorted by. Possible values are "importance" (default), "passfail","rule","device","line","instance".
- -p, --onlypass
-
The
"--onlypass"flag indicates flag indicates that only passing rules should be reported. It may not be combined with"--onlyfail"
- -f, --onlyfail
-
The
"--onlyfail"flag indicates flag indicates that only failing rules should be reported. It may not be combined with"--onlypass"
- -V, --version
-
The
"--version"option displays the current program version.
ARGUMENTS
The router argument(s) allow the user to specify which devices are to be audited. These may be either IP addresses or DNS names.
RETURN VALUE
???
EXAMPLES
% rat --snarf --rules=$HOME/etc/ncat.conf gw1.atl7User Password:Enable Password [same as user]:snarfing gw1.atl7...done.auditing gw1.atl7...done.Generating report gw1.atl7.ncat_report.txt...done.%% ls -1 gw1*gw1.atl7 # the config filegw1.atl7.ncat_fix.txt # the fix filegw1.atl7.ncat_out.txt # the raw datagw1.atl7.ncat_report.txt # the reportgw1.atl7.html # the HTML reportrules.html # the rules in HTMLindex.html # index of html files
FILES
$config - the config file that was pulled$config.ncat_out.txt - a passwd style file with raw results$config.ncat_fix.txt - commands to correct problems found$config.ncat_report.txt - a simple text report with statisticsall.ncat_report.txt - a simple text report listing all device$config.html - an HTML version of the report w/fixesall.html - an HTML version of the report listing all devicesrules.html - an HTML version of the rules appliedindex.html - an index of the rules and html files
SEE ALSO
sbin/rat - this programsbin/router-snarf - the config pullersbin/ncat - the audit toolsbin/ncat_report - the report generatoretc/ncat.conf - file containing audit rules
CAVEATS
Yes, there are some.
BUGS
Yes.
AUTHOR
George M. Jones <[email protected]>
CREDIT WHERE CREDIT IS DUE
John Stewart has helped with the code in numerous ways. It's much cleaner, and the install process is better thanks to his efforts.
Eric Brandwine and Jared Allison at UUNET wrote a config checker that has provided some ideas for this one. Rob Thomas developed a security template for IOS that was the initial inspiration.
Joshua Wright did the port for ActiveState on Windows.