<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Script to Sync IPS Configs in Network Security</title>
    <link>https://community.cisco.com/t5/network-security/script-to-sync-ips-configs/m-p/1283187#M68227</link>
    <description>&lt;P&gt;Good day,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First time posting a new question.&amp;nbsp; I have many customers that have ASA in HA with Dual ssm-10 or 20s.&amp;nbsp; I want to know if anyone out there has a script already created that will,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Connect to the IPS running on the ACTIVE ASA and pull the config.&lt;/P&gt;&lt;P&gt;2. Run a 'Search AND Replace' for the specific IP address of the Sensor (e.g. 10.1.1.50/24 10.1.1.1) and replace it with the standby IPS' IP Address.&lt;/P&gt;&lt;P&gt;3. Run a 'Search AND Replace' for the 'host-name' and replace that with the standby's hostname.&lt;/P&gt;&lt;P&gt;4. Then TFTP the NEW config to the secondary IPS. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This would insure that all the changes, exceptions etc are the same&amp;nbsp; on both boxes.&amp;nbsp; You could then run a cron that would do this regularly.&amp;nbsp; I found this code snippet online and modified it.&amp;nbsp; I am in the process of teaching myself Perl since I have seen the benefits of it, but for now I fummble along.&amp;nbsp; I was able to get the first part to work.&amp;nbsp; It matches the IP exactly as it appears there (would be nicer to be able to look for ANY string after the host-ip).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Manny&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****** SNIPPET *******&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#!/usr/bin/perl&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;use strict; &lt;BR /&gt;use warnings; &lt;BR /&gt;use File::Find;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $startdir = 'c:\ips-test'; &lt;BR /&gt;my $find = 'host-ip 10\.1\.1\.50'; &lt;BR /&gt;my $replace = 'host-ip 10.1.1.51'; &lt;BR /&gt;my $doctype = 'txt'; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;print qq~Finding "$find" and replacing it with "$replace"\n~;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;find( &lt;BR /&gt;&amp;nbsp;&amp;nbsp; sub{ &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return unless (/\.$doctype$/i); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; local @ARGV = $_; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; local $^I = '.bac'; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while( &amp;lt;&amp;gt; ){ &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( s/$find/$replace/ig ) { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;}, $startdir);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;print "Finished";&lt;/P&gt;</description>
    <pubDate>Sun, 10 Mar 2019 11:50:16 GMT</pubDate>
    <dc:creator>manfernandez</dc:creator>
    <dc:date>2019-03-10T11:50:16Z</dc:date>
    <item>
      <title>Script to Sync IPS Configs</title>
      <link>https://community.cisco.com/t5/network-security/script-to-sync-ips-configs/m-p/1283187#M68227</link>
      <description>&lt;P&gt;Good day,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First time posting a new question.&amp;nbsp; I have many customers that have ASA in HA with Dual ssm-10 or 20s.&amp;nbsp; I want to know if anyone out there has a script already created that will,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Connect to the IPS running on the ACTIVE ASA and pull the config.&lt;/P&gt;&lt;P&gt;2. Run a 'Search AND Replace' for the specific IP address of the Sensor (e.g. 10.1.1.50/24 10.1.1.1) and replace it with the standby IPS' IP Address.&lt;/P&gt;&lt;P&gt;3. Run a 'Search AND Replace' for the 'host-name' and replace that with the standby's hostname.&lt;/P&gt;&lt;P&gt;4. Then TFTP the NEW config to the secondary IPS. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This would insure that all the changes, exceptions etc are the same&amp;nbsp; on both boxes.&amp;nbsp; You could then run a cron that would do this regularly.&amp;nbsp; I found this code snippet online and modified it.&amp;nbsp; I am in the process of teaching myself Perl since I have seen the benefits of it, but for now I fummble along.&amp;nbsp; I was able to get the first part to work.&amp;nbsp; It matches the IP exactly as it appears there (would be nicer to be able to look for ANY string after the host-ip).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Manny&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****** SNIPPET *******&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#!/usr/bin/perl&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;use strict; &lt;BR /&gt;use warnings; &lt;BR /&gt;use File::Find;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $startdir = 'c:\ips-test'; &lt;BR /&gt;my $find = 'host-ip 10\.1\.1\.50'; &lt;BR /&gt;my $replace = 'host-ip 10.1.1.51'; &lt;BR /&gt;my $doctype = 'txt'; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;print qq~Finding "$find" and replacing it with "$replace"\n~;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;find( &lt;BR /&gt;&amp;nbsp;&amp;nbsp; sub{ &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return unless (/\.$doctype$/i); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; local @ARGV = $_; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; local $^I = '.bac'; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while( &amp;lt;&amp;gt; ){ &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( s/$find/$replace/ig ) { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;}, $startdir);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;print "Finished";&lt;/P&gt;</description>
      <pubDate>Sun, 10 Mar 2019 11:50:16 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/script-to-sync-ips-configs/m-p/1283187#M68227</guid>
      <dc:creator>manfernandez</dc:creator>
      <dc:date>2019-03-10T11:50:16Z</dc:date>
    </item>
    <item>
      <title>Re: Script to Sync IPS Configs</title>
      <link>https://community.cisco.com/t5/network-security/script-to-sync-ips-configs/m-p/1283188#M68228</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;OK, here is the other piece to it.&amp;nbsp; Now I am able to find and replace the IP and the Hostname however the IP gets written twice.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am just curious if others think this would be helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#!/usr/bin/perl&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;use strict; &lt;BR /&gt;use warnings; &lt;BR /&gt;use File::Find;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $startdir = 'c:\ips-test'; &lt;BR /&gt;my $find = 'host-ip 10\.1\.1\.101'; &lt;BR /&gt;my $replace = 'host-ip 10.1.1.102'; &lt;BR /&gt;my $find2 = 'host-name corpips01'; &lt;BR /&gt;my $replace2 = 'host-name corpips02'; &lt;BR /&gt;my $doctype = 'txt'; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;print qq~Finding "$find" and replacing it with "$replace" and "$find2" with "$replace2" \n~;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;find( &lt;BR /&gt;&amp;nbsp;&amp;nbsp; sub{ &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return unless (/\.$doctype$/i); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; local @ARGV = $_; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; local $^I = '.bac'; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while( &amp;lt;&amp;gt; ){ &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( s/$find/$replace/ig ) { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( s/$find2/$replace2/ig ) { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;}, $startdir);&lt;BR /&gt;print "Finished";&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 29 Nov 2009 14:47:13 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/script-to-sync-ips-configs/m-p/1283188#M68228</guid>
      <dc:creator>manfernandez</dc:creator>
      <dc:date>2009-11-29T14:47:13Z</dc:date>
    </item>
    <item>
      <title>Re: Script to Sync IPS Configs</title>
      <link>https://community.cisco.com/t5/network-security/script-to-sync-ips-configs/m-p/1283189#M68229</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using IPS ver. 7, I found that the following procedure will do the job:&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp; FTP the CurrentConfig of the primary unit to a FTP server&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp; FTP the unchanged config file on to the failover unit.&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; In the process of overwriting the CurrentConfig, on the failover unit:&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; you will be asked if you want to overwrite IP, and Hostname – don’t &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#Would you like to replace existing network&lt;/P&gt;&lt;P&gt;#settings(host-ipaddress/netmask/gateway/access-list) on sensor before proceeding? [no]:&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Feb 2010 05:19:56 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/script-to-sync-ips-configs/m-p/1283189#M68229</guid>
      <dc:creator>froekjaer</dc:creator>
      <dc:date>2010-02-04T05:19:56Z</dc:date>
    </item>
    <item>
      <title>Re: Script to Sync IPS Configs</title>
      <link>https://community.cisco.com/t5/network-security/script-to-sync-ips-configs/m-p/1283190#M68230</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Peter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will take a look at that this week.&amp;nbsp; That sounds a lot more simple &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 May 2010 13:44:23 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/script-to-sync-ips-configs/m-p/1283190#M68230</guid>
      <dc:creator>manfernandez</dc:creator>
      <dc:date>2010-05-25T13:44:23Z</dc:date>
    </item>
  </channel>
</rss>

