Changeset 56

Show
Ignore:
Timestamp:
04/20/08 19:55:23 (10 years ago)
Author:
rmcmillen
Message:

Fixes blacklist enable issue identified in Ticket #36. Now, if a black or white list is uploaded and black/white lists are enabled, the services that use them are restarted after upload. Also added the snort rule management menu and template. Not sure why it left.

Location:
walleye/trunk/walleye
Files:
1 added
4 modified

Legend:

Unmodified
Added
Removed
  • walleye/trunk/walleye/Makefile

    r54 r56  
    1 ver=1.2.7 
     1ver=1.2.8 
    22pname=walleye-${ver} 
    33 
  • walleye/trunk/walleye/admin/honeyConfig.pl

    r55 r56  
    7777                if($action eq "configDataManage") { config_data_manage(); last SWITCH;} 
    7878                if($action eq "configSensor") { config_sensor(); last SWITCH;} 
    79  
    80  
    81         } 
     79                if($action eq "configSnortRules") { config_snort_rules(); last SWITCH;} 
     80 
     81 
     82        } 
     83 
     84} 
     85 
     86sub config_snort_rules { 
     87        my %input; 
     88        my $title = "Snort Rules Configuration"; 
     89        my $msg = "Snort and Snort-Inline Rules configuration changes have been saved."; 
     90        my $status; 
     91        my $cmd = "/hw/sbin/hwruleupdate --update-rules"; 
     92 
     93        $input{HwOINKCODE} = param("HwOINKCODE"); 
     94        $input{HwRULE_HOUR} = param("HwRULE_HOUR"); 
     95        $input{HwRULE_DAY} = param("HwRULE_DAY"); 
     96        $input{HwRULE_ENABLE} = param("HwRULE_ENABLE"); 
     97        $input{HwSNORT_RESTART} = param("HwSNORT_RESTART"); 
     98 
     99        # remove any white spaces 
     100        $input{HwOINKCODE}  =~ s/^\s+//; 
     101        $input{HwOINKCODE}  =~ s/\s+$//; 
     102 
     103        if(!defined $input{"HwSNORT_RESTART"}) { 
     104            $input{"HwSNORT_RESTART"} = "no"; 
     105        } 
     106        if(!defined $input{"HwRULE_ENABLE"}) { 
     107            $input{"HwRULE_ENABLE"} = "no"; 
     108        } 
     109 
     110        hw_run_hwctl(\%input); 
     111 
     112        # If the button for "update now" is clicked 
     113        # run the rules update now 
     114        if(defined param("updateNow")) { 
     115           $msg = "Snort and Snort-Inline Rules updated and configuration changes saved."; 
     116           $status = system("sudo $cmd"); 
     117           error("Could not run command: $cmd $?") unless $status == 0; 
     118        } 
     119 
     120        #hw_run_hwctl(\%input); 
     121 
     122        display_admin_msg($title, $msg); 
    82123 
    83124} 
     
    181222        error("Could not run command: $cmd $?") unless $status == 0; 
    182223 
     224        if ( ($save_to_file =~ m/blacklist.txt|whitelist.txt/) && ($hw_vars{"HwBWLIST_ENABLE"} = "yes")) 
     225        { 
     226            $status = restart_black_white_services(); 
     227        } 
     228 
    183229} 
    184230 
     
    279325        display_admin_msg($title, $msg); 
    280326         
     327} 
     328 
     329sub restart_black_white_services { 
     330        my $status; 
     331        my $proc; 
     332        my @process; 
     333 
     334        $process[0] = "/dlg/config/createWhiteRules.pl > /dev/null"; 
     335        $process[1] = "/dlg/config/createBlackRules.pl > /dev/null"; 
     336        $process[2] = "/dlg/config/createBPFFilter.pl > /dev/null"; 
     337        $process[3] = "/etc/init.d/rc.firewall restart > /dev/null"; 
     338        $process[4] = "/etc/init.d/hw-pcap restart > /dev/null"; 
     339        $process[5] = "/etc/init.d/hflow restart > /dev/null"; 
     340 
     341        # loop through process array here 
     342        foreach $proc (@process) { 
     343                $status = system("sudo $proc"); 
     344                error("Could not run $proc $?") unless $status == 0; 
     345        } 
     346        return $status; 
    281347} 
    282348 
     
    323389                $process[4] = "/etc/init.d/hw-pcap restart > /dev/null"; 
    324390                $process[5] = "/etc/init.d/hflow restart > /dev/null"; 
     391                hw_set_vars(\%input); 
     392                $status = restart_black_white_services(); 
    325393        } else { 
    326394                $input{"HwBWLIST_ENABLE"} = "no"; 
     
    329397                $process[2] = "/etc/init.d/hflow restart > /dev/null"; 
    330398                $msg = "The Honeywall Gateway Black and White list have been disabled."; 
    331         } 
    332  
    333         hw_set_vars(\%input); 
    334          
    335         # loop through process array here 
    336         foreach $proc (@process) { 
    337                 $status = system("sudo $proc"); 
    338                 error("Could not run $proc $?") unless $status == 0; 
     399 
     400                hw_set_vars(\%input); 
     401         
     402                # loop through process array here 
     403                foreach $proc (@process) { 
     404                        $status = system("sudo $proc"); 
     405                        error("Could not run $proc $?") unless $status == 0; 
     406                } 
    339407        } 
    340408 
     
    681749         
    682750        SWITCH: { 
     751                if($disp eq "configSnortRules") { $input = "templates/adminConfigSnortRules.htm"; last SWITCH;} 
    683752                if($disp eq "configIP") { $input = "templates/adminConfigIp.htm"; last SWITCH;} 
    684753                if($disp eq "configRemote") { $input = "templates/adminConfigRemote.htm"; last SWITCH;} 
  • walleye/trunk/walleye/admin/templates/menu.js

    r55 r56  
    3131                d.add(34,19,'Data Management','honeyConfig.pl?disp=configDataManagement','Data Purge.'); 
    3232                d.add(35,19,'Honeynet Demographics','honeyConfig.pl?disp=configSensor','Configure Honeynet Demographics.'); 
    33  
     33                d.add(40,0,'Snort Rules Managemet','honeyConfig.pl?disp=configSnortRules','Configure Snort Rules Updates'); 
    3434                 
    3535                d.add(100,0,'System Status','','Check Honeywall\' status.');             
  • walleye/trunk/walleye/walleye.spec

    r54 r56  
    11Summary:  Walleye Honeynet data analysis  
    22Name: walleye 
    3 Version: 1.2.7 
    4 Release: 1 
     3Version: 1.2.8 
     4Release: 4 
    55License: GPL 
    66Group:   Applications/Honeynet