$! vap_vms_audit.com $! $! Author: t. elam, Northrop Grumman TASC, theresa.elam@ngc.com $! Usage: @vap_vms_audit/output=report.log (must have full system $! privledges) $! Other outputs: $! Notes: $! $! ======================================================= $! $! $! Set up a shortcut for writing to the display $! $! $ display = "write sys$output" $ $! $! $! Set the working directory ... is this the best place? $! $! $ set default sys$system $ $! ======================================================= $! $! System information section $! $! ======================================================= $! $ display f$fao("!90*=!/System information!/!90*=") $ display f$fao("!/") $! $! $! Obtain and display system information from f$getsyi, etc $! $! $ os_version = f$getsyi("version") $ node_name = f$getsyi("nodename") $ system_time = f$time() $ last_boot_time = f$getsyi("boottime") $ cpu_arch = f$getsyi("arch_name") $ cluster_member = f$getsyi("cluster_member") $ $ display f$fao("!50*-!/System snapshot!/!50*-") $ display f$fao("Node name: !AS", node_name) $ display f$fao("OS version: !AS", os_version) $ display f$fao("CPU architecture: !AS", cpu_arch) $ display f$fao("Cluster member (T/F): !AS", cluster_member) $ display f$fao("System time: !AS", system_time) $ display f$fao("Last boot time: !AS", last_boot_time) $! $! $! Obtain and display user account information for all users on system $! $! $ display f$fao("!/") $ display f$fao("!50*-!/User account (active/inactive) information!/!50*-") $ set noon $ run sys$system:authorize list/full exit $ status = $status $ set on $ if .not. status $ then $ message = f$message(status) $ display message $ else $ display f$fao("!/") $ type sysuaf.lis $ endif $ $ display f$fao("!/") $! $! $! Obtain and display active user information $! $! $ display f$fao("!/") $ display f$fao("!50*-!/Current (active) user information!/!50*-") $ set noon $ show users/full $ status = $status $ set on $ if .not. status $ then $ message = f$message(status) $ display message $ else $ endif $ $ display f$fao("!/") $! $! $! Obtain and display system process information $! $! $ display f$fao("!/") $ display f$fao("!50*-!/System process information!/!50*-") $ set noon $ show system/full $ status = $status $ set on $ if .not. status $ then $ message = f$message(status) $ display message $ else $ endif $ $ display f$fao("!/") $! $! $! Obtain and display cluster information $! $! $ if cluster_member .eqs. "TRUE" $ then $ display f$fao("!/") $ display f$fao("!50*-!/Cluster information!/!50*-") $ set noon $ show cluster $ status = $status $ set on $ if .not. status $ then $ message = f$message(status) $ display message $ else $ endif $ else $ endif $ $ display f$fao("!/") $! $! $! Obtain and display installed software information $! $! $ display f$fao("!/") $ display f$fao("!50*-!/Installed software information!/!50*-") $ set noon $ show license/full *vms* $ show license $ status = $status $ set on $ if .not. status $ then $ message = f$message(status) $ display message $ else $ endif $ $ display f$fao("!/") $! $! $! Obtain and display device information $! $! $ display f$fao("!/") $ display f$fao("!50*-!/Device information!/!50*-") $ set noon $ show devices/full $ status = $status $ set on $ if .not. status $ then $ message = f$message(status) $ display message $ else $ endif $ $ display f$fao("!/") $! $! ======================================================= $! $! Accounting/security setup information section $! $! ======================================================= $! $ display f$fao("!90*=!/System accounting/security information!/!90*=") $ display f$fao("!/") $! $! $! Obtain and display accounting information $! $! $ display f$fao("!50*-!/Accounting information!/!50*-") $ set noon $ show accounting $ status = $status $ set on $ if .not. status $ then $ message = f$message(status) $ display message $ else $ endif $ $ display f$fao("!/") $! $! $! Obtain and display security audit information $! $! $ display f$fao("!/") $ display f$fao("!50*-!/Security audit information!/!50*-") $ set noon $ show audit/all $ status = $status $ set on $ if .not. status $ then $ message = f$message(status) $ display message $ else $ endif $ $ display f$fao("!/") $! $! $! Obtain and intrusion database information $! $! $ display f$fao("!/") $ display f$fao("!50*-!/Intrusion (login failures) database information!/!50*-") $ set noon $ show intrusion $ status = $status $ set on $ if .not. status $ then $ message = f$message(status) $ display message $ else $ endif $ $ display f$fao("!/") $! $! ======================================================= $! $! Network information section $! $! ======================================================= $! $ display f$fao("!90*=!/System networking information!/!90*=") $ display f$fao("!/") $! $! $! Obtain and display default network services information $! $! $ display f$fao("!50*-!/DECnet network services information!/!50*-") $ set noon $ show network/full $ status = $status $ set on $ if .not. status $ then $ message = f$message(status) $ display message $ else $ endif $ $ display f$fao("!/") $! $! $! Obtain and display DECnet routing information $! $! $ display f$fao("!/") $ display f$fao("!50*-!/DECnet routing information!/!50*-") $ set noon $ run sys$system:ncp show known areas status exit $ status = $status $ set on $ if .not. status $ then $ message = f$message(status) $ display message $ else $ endif $ $ display f$fao("!/") $! $! $! Obtain and display multinet network services information $! $! $ display f$fao("!/") $ display f$fao("!50*-!/Multinet network services information!/!50*-") $ set noon $ multinet show/all $ status = $status $ set on $ if .not. status $ then $ message = f$message(status) $ display message $ else $ endif $ $ display f$fao("!/") $! $! ======================================================= $! $! System logs section $! $! ======================================================= $! $ display f$fao("!90*=!/System logs!/!90*=") $ display f$fao("!/") $! $! $! Obtain and display security log informaiton $! $! $ display f$fao("!50*-!/Security audit log!/!50*-") $ set noon $ analyze/audit sys$common:[sysmgr]security.audit$journal $ status = $status $ set on $ if .not. status $ then $ message = f$message(status) $ display message $ else $ endif $ $ display f$fao("!/") $! $! $! Obtain and display accounting log informaiton $! $! $! display f$fao("!50*-!/Accounting log!/!50*-") $! set noon $! accounting sys$manager:accountng.dat $! status = $status $! set on $! if .not. status $! then $! message = f$message(status) $! display message $! else $! endif $! $! display f$fao("!/") $! $! $! Obtain and display operator log informaiton $! $! $ display f$fao("!50*-!/Operator log!/!50*-") $ set noon $ type sys$manager:operator.log $ status = $status $ set on $ if .not. status $ then $ message = f$message(status) $ display message $ else $ endif $ $ display f$fao("!/") $ $ exit $ $!