All checks were successful
		
		
	
	Deployment Verification Ubuntu / deploy-and-test (push) Successful in 2m5s
				
			
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/bash
 | |
| # =============================================================================
 | |
| # Firewall configuration module
 | |
| # =============================================================================
 | |
| 
 | |
| # Set script directory
 | |
| SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
 | |
| 
 | |
| # Source common functions and variables
 | |
| source "./common.sh"
 | |
| 
 | |
| # Function to configure UFW
 | |
| configure_ufw() {
 | |
|   log_message "INFO" "Configuring UFW firewall"
 | |
| 
 | |
|   # Check if UFW is installed
 | |
|   if ! command_exists ufw; then
 | |
|     log_message "INFO" "Installing UFW"
 | |
|     apt-get install -y ufw
 | |
|     
 | |
|     if [ $? -ne 0 ]; then
 | |
|       log_message "ERROR" "Failed to install UFW"
 | |
|       return 1
 | |
|     fi
 | |
|   fi
 | |
| 
 | |
|   # Reset UFW to default settings
 | |
|   log_message "INFO" "Resetting UFW to default settings"
 | |
|   ufw --force reset
 | |
| 
 | |
|   # Set default policies
 | |
|   log_message "INFO" "IPv4 : Setting default UFW policies"
 | |
|   ufw default deny incoming
 | |
|   ufw default allow outgoing
 | |
| 
 | |
|   # Allow SSH on custom port
 | |
|   log_message "INFO" "IPv4 : Allowing SSH on port 22"
 | |
|   ufw allow 22/tcp
 | |
| 
 | |
|   # Allow HTTP/HTTPS for web services if needed
 | |
|   log_message "INFO" "IPv4 : Allowing HTTP/HTTPS ports"
 | |
|   #ufw allow 80/tcp
 | |
|   #ufw allow 443/tcp
 | |
| 
 | |
|   # Allow SNMP for monitoring
 | |
|   log_message "INFO" "IPv4 : Allowing SNMP port for monitoring"
 | |
|   ufw allow 161/udp
 | |
| 
 | |
|   # Allow NRPE for monitoring
 | |
|   log_message "INFO" "IPv4 : Allowing NRPE port for monitoring"
 | |
|   ufw allow 5666/tcp
 | |
| 
 | |
|   # Allow IPv6 if needed
 | |
|   log_message "INFO" "IPv6 : Setting default UFW policies"
 | |
|   ufw allow in on lo
 | |
|   ufw allow out on lo
 | |
|   ufw deny in from ::/0
 | |
|   ufw allow out to ::/0
 | |
| 
 | |
|   # Enable log
 | |
|   log_message "INFO" "Enabling logging for UFW"
 | |
|   ufw logging on
 | |
| 
 | |
|   # Enable UFW
 | |
|   log_message "INFO" "Enabling UFW"
 | |
|   echo "y" | ufw enable
 | |
| 
 | |
|   if [ $? -eq 0 ]; then
 | |
|     log_message "SUCCESS" "UFW enabled successfully"
 | |
|   else
 | |
|     log_message "ERROR" "Failed to enable UFW"
 | |
|     return 1
 | |
|   fi
 | |
| 
 | |
|   # Show UFW status
 | |
|   log_message "INFO" "UFW status:"
 | |
|   ufw status verbose
 | |
| }
 | |
| 
 | |
| #
 | |
| log_message "SCRIPT" "fivewall.sh"
 | |
| 
 | |
| # Main execution for firewall
 | |
| configure_ufw
 | |
| 
 | |
| log_message "SUCCESS" "Firewall configuration completed" |