0.0
Repository is archived
No release in over 3 years
Low commit activity in last 3 years
Write a longer description or delete this line.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.12
~> 10.0
~> 3.0

Runtime

~> 0.15.0
>= 1.7.3, ~> 1.7
~> 0.19.4
 Project Readme

NOTE:

This tool is no longer supported and should not be used anymore. Archiving for now

amp4e_ldap_tool

Ruby command line script to reconcile computers and groups on Cisco's AMP for Endpoints web portal with local LDAP servers.

gem install amp4e_ldap_tool

Commands

AMP

amp4e_ldap_tool amp

It makes an HTTP request to the AMP for Endpoints web portal. We must provide flags to tell amp what we want to receive:

  • -c gets a list of Computers in the AMP system.
  • -g gets a list of Groups as AMP sees them
  • -p gets a list of policies
  • -t provides any of the above options with formatted output.

LDAP

amp4e_ldap_tool

It retrieves information from the LDAP server, using credentials provided in your config file. It also requires flags to tell it what to get from the server:

  • -c gets computer names
  • -g gets computer group names
  • -d gets the fully distinguished name (LDAP)
  • -t provides any of the above options with formatted output.

Make_changes

The command make_changes is the workhorse. Calling it on its own:

amp4e_ldap_tool make_changes

Displays the dry run, a list of changes that will be changed shown in aggregate. These changes will be formatted in easy-to-read tables as shown below:

+---------------------------------+--------------+
|                 Group Creates                  |
+---------------------------------+--------------+
| Group Name                      | Parent Group |
+---------------------------------+--------------+
| Computers.2k8sso.local          | nil          |
| local                           | nil          |
| 2k8sso.local                    | nil          |
| Domain Controllers.2k8sso.local | nil          |
+---------------------------------+--------------+
+---------------------------------+------------+--------------+
|                         Group Moves                         |
+---------------------------------+------------+--------------+
| Group                           | Old Parent | New Parent   |
+---------------------------------+------------+--------------+
| Computers.2k8sso.local          |            | 2k8sso.local |
| 2k8sso.local                    |            | local        |
| Domain Controllers.2k8sso.local |            | 2k8sso.local |
+---------------------------------+------------+--------------+
+----------------+------------+------------------------+
|                    Computer Moves                    |
+----------------+------------+------------------------+
| # of computers | from group | to group               |
+----------------+------------+------------------------+
| 2              | Protect    | Computers.2k8sso.local |
| 2              | Audit      | Computers.2k8sso.local |
+----------------+------------+------------------------+

Applying the -a option will tell the command to apply the changes, it will prompt the user to continue with a y/n after showing the dry run.

Config File

The config file holds our user/password information for the API/LDAP servers. It follows a specific format and a template is provided below:

#config.yml
:ldap:
  :host: 		# LDAP hostname
  :domain: 		# domain of LDAP tree
  :credentials:
    :un:		# server username
    :pw:		# server password
  :schema:
    :filter: "computer"	# default as computer
:amp:
  :host:		# api url for AMP
  :api:
    :third_party:	# third party code
    :key:		# api key
    :version: "v1"	# default version is v1