top of page

ESM Content Sync Script Instructions v1.0

  • Writer: Pavan Raja
    Pavan Raja
  • Apr 8, 2025
  • 18 min read

Summary:

### Overview of "content_sync.py" Script for ArcSight ESM Content Synchronization The script "content_sync.py" located at "/opt/arcsight/scripts/content_sync_v0.3/content_sync.py" is designed to facilitate the synchronization and management of content between different ArcSight Enterprise Security Manager (ESM) instances. This tool allows for exporting and importing configurations, rules, and other relevant data with a high degree of flexibility and precision. #### Key Features: 1. **Exporting Content**: The script can be used to export content from an ESM instance based on specified conditions such as modified dates and times. 2. **Importing Content**: It supports the import of previously exported archives into remote ESM servers. 3. **Flexibility**: Users can choose between exporting all data since a specific date or only the most recently modified data, depending on their requirements. 4. **Auto Feature**: The script requires previous execution to generate a configuration file (config.pyc) which is necessary for referencing timestamps of previously exported archives during automatic synchronization. 5. **Roll-Out Feature**: Ensures that there are existing archives in the "archives" directory before attempting an import operation. 6. **Configuration**: Users can modify the config.py script to define sync conditions and test these settings using the "print" switch before proceeding with automatic or roll-out synchronization. 7. **Command Structure**: The script accepts various commands such as "print", "execute", and "roll-out" which dictate its operation based on predefined parameters like date, time, and AM/PM indicators. #### How to Use the Script: 1. **Printing Output** (For testing): ```bash python2.7 content_sync.py print ``` Example: ```bash python2.7 content_sync.py 02-JUL-13 11.00.00.000 AM print ``` 2. **Exporting Content** (To create an archive): ```bash python2.7 content_sync.py execute ``` Example: ```bash python2.7 content_sync.py 02-JUL-13 11.00.00.000 AM execute ``` 3. **Rolling Out Content** (To export and import): ```bash python2.7 content_sync.py auto auto auto roll-out ``` Example: ```bash python2.7 content_sync.py auto auto auto roll-out ``` #### Considerations for Deployment: 1. **Initial Setup**: Use a specific date for the first run of the "auto" option and ensure that archives are present in the "archives" directory for successful roll-out. 2. **Configuration File**: Modify the config.py script to match sync conditions, then test with the "print" switch before using "auto" or "roll-out." 3. **Logging and Cronjob**: Currently, logging is not built-in; use a cronjob to manually log the output as suggested by the author. Create a cronjob entry for regular execution of the script using Python 2.7. 4. **Directory Management**: The "archives" and "logs" directories do not automatically delete processed files; ensure that these directories are managed appropriately or implement a deletion script. 5. **Size Limitations**: Be aware of the 100MB limit for importing content via the archive command; consider workarounds like SCP'ing the archive file to the remote system before importing it. #### Conclusion: The "content_sync.py" script offers an alternative method to sync content between ESM servers, despite its unsupported status and limitations related to export and import operations. It provides clear steps for deployment, including testing, configuration, logging, directory management, and handling size constraints.

Details:

The provided document outlines an Advanced ArcSight Sync Solution developed by HP for synchronizing content across multiple Enterprise Security Manager (ESM) systems. This solution is customized and not officially supported by HP. Here's a summary of its key points: 1. **Purpose**: The script aims to address the challenge of maintaining consistency in multi-ESM environments by automatically distributing changes made to resources, including only those updated since the last execution. It does not require native SQL database modifications and can be automated for scheduled or ad-hoc use, with error alerts via email. 2. **Background**: Developed as a custom solution back in 2012 and later adapted for use with a MySQL backend (CORRE), it has been successfully running in a 5.X Oracle environment for the past two years. The script's functionality includes distributing incremental updates only based on modification timestamps, thus avoiding changes to the database through native SQL queries. 3. **Features**:

  • Ensures resources created on one ESM are not recreated on others.

  • Supports adding new ESM instances for synchronization and modifying which resources are synchronized.

  • Alerts users via email in case of errors, such as connection issues or import failures.

  • Utilizes a script that focuses solely on incremental updates, ensuring efficient use of network bandwidth and minimal impact on system resources.

4. **Advantages**: The solution is unique because it selectively synchronizes only those resources modified since the last synchronization, reducing unnecessary data transfer and maintaining optimal performance across multiple ESM systems. 5. **Usage Limitations**: This script is not supported by HP and should not be distributed to ArcSight customers for use in their environments. This document serves as a guide for implementing and understanding the specific requirements and functionality of this advanced sync solution, tailored for users with access to it due to its custom development and non-standard operation within an enterprise environment. The provided text describes a Python script designed for synchronizing modified resources between different systems or locations, primarily focusing on Oracle and MySQL databases. Key features include querying an arc_resource table for updates, creating archives of these modifications, importing them into designated destination systems (ESMs), and implementing various types of filtering such as resource type-based filters and exclusion lists based on URIs. The script includes functionalities like error checking, e-mail alerts for issues, and supports multiple instances to handle different tiers of ESMs with distinct rule logic and filter settings. For Active Lists specifically, the script recognizes that their modification timestamps do not update in real time due to additions or deletions, so it handles these lists separately by creating a dedicated group archive. However, this script does not include the functionality of moving resources between systems as it is currently limited by the lack of an appropriate feature (moving resources) within the archive command used for synchronization. The article discusses a script used for syncing content between different systems, primarily focusing on resource synchronization based on IDs and attributes. Here are the key points from the text: 1. **Resource Attributes Update**: Despite being in different parent groups, resources' attributes are still updated due to their unique IDs. This is because synchronization relies on these IDs to match and update content across various groups or systems. 2. **Resource Deletion Tracking**: The script does not replicate resource deletions because there is no available flag in the database to indicate if a resource has been deleted. A separate script would be needed for tracking such deletions. 3. **User Resource Syncing**: User resources are synced only once, based on their creation time via a DB query. This is because the "last_modified_date" keeps updating as resources are actively modified by users. 4. **Script Purpose and Limitations**: The script is designed for one-way content distribution rather than two-way synchronization (similar to the publisher-subscriber model). It does not handle case synchronization, which relies on event IDs that might lead to misinterpretation if they exist in the destination system. 5. **Carrying Over Attached Events**: Although Nicholas Lim found a workaround by exporting and importing arc_event_p and arc_case_event_map information, this method is complex and not natively supported by the script due to potential risks of data corruption from using MySQL export/import functions outside the ESM API. 6. **Deployment Instructions**: The content sync scripts should be deployed on a Linux server with root access or through administrators who have such permissions. Deployment instructions are detailed in the referenced section, indicating how to set up and configure these scripts for effective use across various systems. To summarize the provided information, here is a concise overview of the process for deploying scripts on an ESM (Enterprise Security Manager) server and ensuring remote access: 1. **Server Setup**: Ensure that MySQL settings are not modified to listen for connections beyond localhost (127.0.0.1). You should be able to access the ESM Manager locally via port 8443. 2. **Communication Setup**: Open communication between the server running the sync script and the destination ESM server for the manager port (default: TCP 8443). Administrator credentials for the destination ESM server must be known. 3. **Directory Creation**: Create a directory for scripts on the ESM server at `/opt/arcsight/scripts`. 4. **Script Uploading**: Upload the required sync-script files to this directory (`/opt/arcsight/scripts`). If these files are not available, they can be downloaded via PS using specified links. The script was tested with Python 2.6.6. 5. **File Uncompression**: Uncompress the uploaded and downloaded files in the scripts directory:

  • For `.zip` files (`content_sync_v0.3.zip` and `MySQL-python-1.2.4.zip`), use `unzip`.

  • For `.tar.bz2` file (Python-2.7.5.tar.bz2), use `bunzip2` followed by `tar xvf`.

  • Move the `distribute-0.6.28.tar.gz` file into the uncompressed MySQL directory.

6. **OS Preparation**: Perform these steps as the root account or with administrative privileges. 7. **Local Software Repository Creation**: This step is not detailed in the provided text and seems to be a placeholder for another instruction, likely related to setting up local repositories for software installation. This summary captures the essential commands and procedures outlined in the original instructions, focusing on deployment, configuration, and preparation steps necessary for executing the script as per the given guidelines. To set up a local software repository using the "yum" command on Redhat Linux for installing required dependencies, follow these steps after mounting the RHEL 6.4 64-bit ISO and inserting it into your CD-ROM drive: 1. **Mount the ISO:**

  • Create a directory to mount the ISO.

```bash mkdir -p /mnt/cdrom ```

  • Mount the ISO to this directory.

```bash mount -t iso9660 /dev/cdrom /mnt/cdrom/ ``` 2. **Install Necessary RPMs:**

  • Navigate to the "Packages" directory on the mounted ISO.

```bash cd /mnt/cdrom/Packages/ ```

  • Install the required packages:

```bash rpm -ivh deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm rpm -ivh createrepo-0.9.9-17.el6.noarch.rpm ``` 3. **Create a Local Software Repository:**

  • Create a directory for the repository.

```bash mkdir -p /opt/arcsight/repo ```

  • Copy all RPMs from the mounted ISO to this repository directory.

```bash cp /mnt/cdrom/Packages/* /opt/arcsight/repo/ ```

  • Set ownership and permissions for the repository.

```bash chown -R root:root /opt/arcsight/repo ```

  • Create a repository using "createrepo".

```bash createrepo /opt/arcsight/repo ```

  • Modify permissions to allow read access while restricting write access.

```bash chmod -R o-w+r /opt/arcsight/repo ``` 4. **Create a Repository Configuration File:**

  • Edit the repository configuration file for "yum".

```bash vi /etc/yum.repos.d/localrepo.repo ```

  • Add the following configuration:

```ini

name=Local Repository baseurl=file:///opt/arcsight/repo enabled=1 gpgcheck=0 ``` 5. **Install Required Dependencies:**

  • With the repository set up, use "yum install" to install the required dependencies:

```bash yum install ``` By following these steps, you will have a local software repository configured for installing dependencies using the "yum" command on your Redhat Linux system. This script outlines a series of commands to install specific versions of Python, MySQL-Python, and other required packages on a system. The main focus is setting up Python 2.75, which includes compiling it from source code at `/opt/arcsight/scripts/Python-2.7.5`. It involves running the configure script with `--prefix=/usr/local` to set the installation directory, then building and installing the package using `make && make altinstall`. Next, it instructs on how to install MySQL-Python 1.2.4 by navigating to its specific directory (`/opt/arcsight/scripts/MySQL-python-1.2.4/`) and running `python2.7 setup.py build` followed by `python2.7 setup.py install`. It mentions that if the file "distribute-0.6.28.tar.gz" is not found, it will attempt to download it from the internet which might fail under limited connectivity conditions. After successfully installing MySQL-Python, it guides on how to test its installation by running `python2.7` and importing `MySQLdb`. If this import does not result in an error when returning a prompt, it confirms that the module is installed correctly. The script then exits Python with CTRL-D. Finally, after ensuring MySQL-Python is properly set up, the script directs to grant "arcsight" user permissions for reading/writing/executing the scripts located at `/opt/arcsight/scripts/content_sync_v0.3`. It also advises locking down these scripts as they contain sensitive information in plain text. After preparing the underlying operating system as mentioned and setting specific permissions for the "arcsight" account on ArcSight scripts, the team should refer to the provided "ESM Content Sync Script - ArcSight Team Instructions" document for detailed installation steps. The script might require a cronjob for scheduling future syncs. For server preparation specifically: 1. Use the "arcsight" account to perform these tasks as only this account has access. 2. Prepare by setting appropriate permissions and configuring system settings as needed. 3. Follow through with the detailed certificate handling instructions provided in the document, including exporting and importing certificates between servers for secure communication. The process involves exporting a certificate from one ArcSight Management Server (ESM) to another, configuring it for secure communication, and adjusting server settings for efficient large package exports/imports. Key steps include: 1. **Exporting Certificate**: From the source ESM server, export the certificate using the keytool with the specified alias and file location. Command example: ```bash ./arcsight keytool -store clientcerts -export -alias self-arcsight-manager-ServerB.CUSTOMER.com -file ServerB.cer ``` 2. **Transferring Certificate**: Use `scp` to transfer the exported certificate file from the source ESM server to the destination ESM server: ```bash scp /opt/arcsight/manager/ServerB.cer arcsight@ServerA:/opt/arcsight/manager/bin/ServerB.cer ``` 3. **Importing Certificate**: On the destination ESM server, navigate to the ArcSight Manager binary directory and import the certificate: ```bash ./arcsight keytool -store clientcerts -import –alias ServerB -file /opt/arcsight/manager/bin/ServerB.cer ``` 4. **Adjusting Configuration Settings**: Edit the `server.properties` file on both the source and destination ESM servers to allow larger package exports/imports by adding specific lines: ```bash # Allow large package exports/imports - SYNC SCRIPT archive.export.max.size=1000000 persist.resourcereference.cache=100000 resource.broker.cache.size.Asset=100000 resource.broker.cache.size.Zone=25000 resource.broker.cache.size.Group=60000 ``` 5. **Restarting the Manager**: Finally, restart the ESM manager to apply the changes: ```bash /etc/init.d/arcsight_services restart manager ``` These steps ensure secure communication between ESM servers and optimize performance for large data transfers during synchronization. The summarized text outlines the process of creating a service account for synchronizing data between two ArcSight environments using the ESM (Enterprise Security Manager) Sync Service. Here's a breakdown of what is described: 1. **Creating an ESM Sync Service Account**:

  • A static password should be used when setting up a service account dedicated to importing and exporting packages for synchronization. This ensures security by limiting exposure.

2. **Configuring the ESM Sync Scripts**:

  • Navigate to the specific directory where the content sync scripts are located: `/opt/arcsight/scripts/content_sync_v0.3/`.

  • Review all included files and directories, which include `archives`, `config.py`, `config.pyc`, `content_sync.py`, and `logs`.

3. **Editing the config.py File**:

  • Open the configuration script for editing using the command: `vi config.py`.

  • The default v0.3 version of the script is detailed, with key settings marked in bold. These include database connection details (hostname, port, username, password, and name), as well as source manager connection details (host, port, and username).

4. **Detailed Breakdown**:

  • Configuration settings: The script allows you to specify whether the operating system is "Windows" or "Linux". It also requires database credentials for connecting to a local MySQL ArcSight instance with default settings of `127.0.0.1:3306` as host and port, using the username `arcsight` and database name `arcsight`. The password for this user must be entered.

  • Source Manager connection details include the hostname (`myesmhostname`), port (8443), and a resource-specific ESM user ``, which is crucial for authentication during synchronization.

This process ensures that all necessary components are properly configured to facilitate data transfer between two ArcSight environments, leveraging a secure service account with specific permissions. The provided configuration settings are used to connect to the source ESM (Event Management System) Server Manager service, which is configured with a specific hostname or IP address and listens on port 8443 by default. These settings also apply when connecting through ArcSight Console. To use these settings, you need to specify an ESM user with admin rights, their associated password, and the ArcSight home directory. The 'wanted_resources' configuration specifies a tuple of resource types that can be exported from the source ESM server. These resources are listed in content_sync.py, but if a specific resource type (like "Field Sets") is not present by default, you may need to add it manually. The available resource types include group, user, filter, connector, device, rule, KB article, case, report, archived report, task, pattern discovery configuration, and others as listed in content_sync.py. The given text describes several parameters and their functionalities in the context of an unspecified system or application. Here's a summary of each parameter mentioned: 1. **42=Escalation Level**: This parameter likely refers to a setting that determines how quickly issues are escalated or prioritized within a system, possibly related to incident management or alert handling. 2. **43=ArcSight Query**: A query interface used in ArcSight for data retrieval and analysis. 3. **44=Report Template**: A template for generating reports using the ArcSight platform. 4. **45=Session List**: Lists sessions or connections within the system, potentially useful for monitoring activity or troubleshooting connectivity issues. 5. **46=Trend**: Analytics tool used to track and analyze trends in data collected by the system, such as performance metrics or user behavior. 6. **47=Package**: Refers to a collection of files or components bundled together, which may be distributed or installed via a software package manager. 7. **48=Reserved tick**: A placeholder for future use or possibly a reserved field in the system that hasn't been assigned an actual function yet. 8. **49=PROJECT_TEMPLATE**: Template used for creating new projects or standardized configurations within the system, likely to maintain consistency across different implementations of the same project. 9. **50=Attachment only group**: A grouping feature allowing users to collect related data items that are not necessarily tied together logically but are often viewed together in a report or analysis; this setting restricts interaction to attachment-only mode. 10. **51=Query Viewer**: A tool within the system for viewing and interacting with queries, possibly facilitating easier understanding of complex query results through visualization tools. 11. **52=Use case**: Represents specific scenarios or applications where certain features or data are utilized, which helps in tailoring the user interface and functionalities to meet particular needs. 12. **53=Integration Configuration**: Settings related to integrating different modules or systems within the application framework. 13. **54=Integration Command**: Commands used for interfacing with external applications during integration processes. 14. **55=Integration Target**: Identifies and specifies targets for integrations, which can be servers, databases, or other system components involved in data exchange. 15. **56=Actor**: Entities or roles within the system that perform actions such as creating queries, generating reports, or configuring settings; these are crucial for assigning responsibilities and permissions. 16. **57=Category model**: A classification scheme used to organize and categorize resources (like data entries) in a way that reflects their relationships and attributes within the application. 17. **58=Permission**: Controls access levels, specifying which users or roles can perform specific actions or have access to particular data; this is critical for maintaining security across different user groups. Regarding the configuration line:

  • `'export_path':r'/opt/arcsight/scripts/content_sync_v0.3/archives'`: This setting defines where content archive packages will be stored during synchronization or backup processes within the ArcSight platform. The use of a raw string (with 'r' prefix) is common in Python to avoid issues with escape characters in file paths.

The section about `modified_time_offset_hr` discusses how to configure this parameter based on system time differences relative to the database time:

  • It provides instructions for determining and setting the correct offset using a resource modification process, comparing local system clock with database timestamps to ensure accurate synchronization of modified data items.

  • The text warns about potential issues if the offset is set incorrectly, such as syncing too many outdated objects or not syncing any updated ones. Adjustment can be done by modifying different resources and observing sync outcomes until optimal results are achieved.

The provided text outlines a configuration for syncing resources in an application named "arcsight" using a script called "content_sync_v0.3". This configuration involves setting up specific regex patterns to filter out certain types of resources and specify which top-level folders to export content from. Key points include: 1. Using MySQL queries (like the example given) to determine the 'modified' date for each resource, which helps in syncing only those that have been updated since the last sync. 2. Regex patterns are used to define URI rules for resources and to exclude specific objects or locations from being synced. This includes:

  • `uri_regex` for including certain resources based on a regex pattern.

  • `xuri_regex` for excluding main resources that should not be exported, regardless of modification date.

  • `xuri_ref` for excluding referenced resources that are still linked in other content, even if they have been modified or excluded by the URI rules.

3. Configuration settings also include specifying destination ESM (Enterprise Security Manager) servers using a comma-delimited string and ensuring all necessary certificates are added to the certificate store for secure communication with these servers. This setup is tailored for organizing and synchronizing resources efficiently within an organization's infrastructure, ensuring that only relevant and updated content is transmitted to specified ESM servers. The provided configuration file (`config.py`) outlines various settings and parameters necessary for syncing data from one system to another using the ESM (Extended Security Module). Here's a breakdown of what each setting does: 1. **Destination ESM Server Details**:

  • `esm_dst_hostname`: Specifies the hostname(s) of the destination ESM server(s). This is crucial for directing data transfers to the correct systems.

  • `esm_dst_port`: Defines the port number (8443 in this case) used for communication with the ESM server.

  • `esm_dst_username` and `esm_dst_password`: These are credentials for an administrator account on the destination ESM server, ensuring secure access to transfer data.

2. **Notification Emails**:

  • `email_recipients`: Lists the email addresses of recipients who should receive notifications in case of sync script failures or other issues.

  • `email_sender`: Specifies the sender's email address for sending out any notification emails related to the sync process.

  • `smtp_server`: Indicates the hostname of the SMTP server used for sending these notification emails, ensuring that they are sent from a trusted and configured mail server.

3. **Port Locking**:

  • `lock_port`: This setting defines a specific port number (18443 in this case) which is locked to prevent other uses on the system. It's important to ensure this port isn’t utilized by any critical services or applications to avoid conflicts during data sync operations.

4. **Resource Allocation**:

  • `arg_max`: Specifies the maximum number of characters (or bytes, in this case) allocated for arguments passed to commands and child processes. This helps manage system resources efficiently, especially when dealing with large archive files that might be problematic if not properly restricted.

5. **ActiveList Configuration**:

  • `static_activelist_group`: Defines the path or name of an Active List group within the ESM. These lists are manually modified and require special handling because their resource IDs do not update upon modifications, which could affect how data is synchronized or displayed in the system.

This configuration file ensures that all necessary parameters for a seamless and secure data synchronization process between systems are specified clearly and securely. It also includes provisions for notifications and error handling to maintain operational awareness during sync operations. The provided configuration is for synchronizing resources and entries under the path `/All Active Lists/CUSTOMER/Sync/SERVERA` from `ServerA.CUSTOMER.com` to `ServerB.CUSTOMER.com`. It involves several parameters such as operating system, database connection details, source manager connection details, resource types, export paths, modified time offset, URI regex for filtering resources, and exclusion of certain resources based on their URIs. The configuration uses a Linux operating system, connects to a local MySQL database with specified credentials, retrieves data from ServerA using the ESM (Event Stream Manager) settings provided, and synchronizes specific resource types. It also includes detailed regex patterns for URI matching and excluding unwanted resources during synchronization. The script is designed for synchronizing data between two ESM (Event Management System) servers named SERVERA and SERVERB, part of a larger system architecture involving ArcSight. Here's a breakdown of its key configurations and functionalities: 1. **Destination ESMs Configuration:**

  • `esm_dst_hosts`: A list of hostnames for the destination ESM servers (e.g., 'ServerB.CUSTOMER.com'). This should be a comma-separated string.

  • `esm_dst_port`: The port used to connect to the ESM servers, set at 8443.

  • `esm_dst_username` and `esm_dst_password`: Credentials for authentication with the destination ESM servers. The username is 'syncscript' and the password is encrypted (r'4rcSync!123').

2. **Notification Emails Configuration:**

  • `email_recipients`: Email addresses of recipients who will receive notifications. In this case, it's set to 'recipient@CUSTOMER.com'.

  • `email_sender`: The sender email address, which is 'ARCSIGHT_ESM_SERVERA@CUSTOMER.com'.

  • `smtp_server`: The SMTP server for sending emails, pointing to 'mail.CUSTOMER.com'.

3. **Port Configuration:**

  • `lock_port`: A specific port number (18443) is configured to avoid conflicts with other system ports. It's important that this port remains unused within the environment.

4. **ARG_MAX Configuration:**

  • `arg_max`: This defines the maximum size in characters for arguments passed to a program, which indirectly sets limits on data sizes that can be processed (in this case, up to 100,000 bytes). It's recommended to lower this value if imports are failing due to large archive file sizes.

5. **ActiveList Group Configuration:**

  • `static_activelist_group`: Specifies a group within the ArcSight system where statically defined active lists (ALs) and their associated rules can be synchronized. This is set to '/All Active Lists/CUSTOMER/Sync/SERVERA'.

6. **Execution of the Script:**

  • The script can be run using Python 2.7 or earlier versions with appropriate switches to control whether data from a specific modified date/time should be exported, or all data since the last export. This flexibility allows for targeted synchronization when needed.

This script serves as a tool for maintaining consistent configurations and data integrity between different ArcSight ESM instances, ensuring smooth operation and efficient rule management across various systems within the enterprise network. To summarize the given information about exporting and importing content using a Python script named "content_sync.py," here's a brief overview: 1. **Script Location**: The script is located at "/opt/arcsight/scripts/content_sync_v0.3/content_sync.py." 2. **Usage**: The script can be used to print the output, execute it to export content to an archive, or roll-out to both export and import content. 3. **Command Structure**:

  • For printing: `python2.7 content_sync.py print`

Example: `python2.7 content_sync.py 02-JUL-13 11.00.00.000 AM print`

  • For executing (exporting to archive): `python2.7 content_sync.py execute`

Example: `python2.7 content_sync.py 02-JUL-13 11.00.00.000 AM execute`

  • For rolling out (exporting and importing): `python2.7 content_sync.py auto auto auto roll-out`

Example: `python2.7 content_sync.py auto auto auto roll-out` 4. **Auto Feature**: Requires the script to have run at least once, generating a config.pyc file, and is used for referencing timestamps of previously exported archives. It won't work on the first attempt without specifying a date. 5. **Roll-Out Feature**: Requires that the archives directory contains at least one archive (generated by executing the script). 6. **Configuration**: Modify the config.py script to match sync conditions, then test with the "print" switch before using "auto" or "roll-out." 7. **Recommendations**: Use a specific date for the first run of the "auto" option and ensure archives are present for successful roll-out. To summarize the provided information, the process involves exporting content from an ESM (Enterprise Security Manager) server locally using a specific script and then importing this content into another remote ESM server. The steps include testing the export with the "execute" option, rolling out the content to create a local archive, and then importing it into the remote servers via the archive command. Key points: 1. **Exporting Content**: Use the "execute" option to check what is included and excluded in the export. Once satisfied, use the "roll-out" option to prepare a local archive of the content. 2. **Importing Content**: Exported content should be imported into remote ESM servers using the archive command after ensuring that the necessary certificate has been exported from the remote server and imported into the local keystore. 3. **Testing and Validation**: After successful sync, validate the import by creating a cronjob to run the script as needed. This could involve running the script manually initially before setting up the cronjob for regular execution. 4. **Alternative Setup**: Consider installing the script on a VM with communication and certificates to all ESM servers but only having the ArcSight console software installed, avoiding direct installation on ESM servers. 5. **Logging and Cronjob**: Currently, logging doesn't work natively; use a cronjob to manually log the output as suggested by the author. Create a cronjob entry for regular execution of the script using Python 2.7. 6. **Directory Management**: The "archives" and "logs" directories do not automatically delete processed files; recommend maintaining these directories or implementing a deletion script managed by users to clean up after import. 7. **Size Limitation**: Be aware of the 100MB limit for importing content via the archive command; consider workarounds like SCP'ing the archive file to the remote system before importing it. This process offers an alternative method to sync content between ESM servers, despite limitations and unsupported status, and provides recommendations on how to handle logging, directory management, and size constraints related to import operations. The statement describes a situation where the development of a specific project or feature has not commenced yet and is currently limited to being executed only on a particular computer system.

Disclaimer:
The content in this post is for informational and educational purposes only. It may reference technologies, configurations, or products that are outdated or no longer supported. If there are any comments or feedback, kindly leave a message and will be responded.

Recent Posts

See All
Zeus Bot Use Case

Summary: "Zeus Bot Version 5.0" is a document detailing ArcSight's enhancements to its Zeus botnet detection capabilities within the...

 
 
 
Windows Unified Connector

Summary: The document "iServe_Demo_System_Usage_for_HP_ESP_Canada_Solution_Architects_v1.1" outlines specific deployment guidelines for...

 
 
 

Comments


@2021 Copyrights reserved.

bottom of page