Blog

FortiGate Radius Configuration

Hello everyone , in this video I am going to integrate fortigate firewall with radius server , after that fortigate administrators can login and manage fortigate by using their active directory username and password.

Step 1: Log into FortiGate

Access your FortiGate device through a web browser or SSH client.

Step 2: Navigate to System Settings

  1. Go to System > Settings in the FortiGate web interface.

Step 3: Configure RADIUS Server

  1. Under Authentication Settings, click Create New to add a RADIUS server.
  2. Fill in the following details:
    • Name: A descriptive name for the RADIUS server.
    • Server: Enter the IP address or hostname of your RADIUS server.
    • Secret: This is a shared secret key that must match the one configured on the RADIUS server for authentication. It ensures secure communication between FortiGate and the RADIUS server.
    • Authentication Port: Usually set to 1812 for RADIUS authentication.
    • Accounting Port: Typically set to 1813 for RADIUS accounting, if needed.
  3. Click OK to save the RADIUS server configuration.

Step 4: Define a RADIUS Server Group

  1. Under Authentication Settings, click Create New to add a RADIUS server group.
  2. Give the group a descriptive name to identify it later.
  3. Add the previously configured RADIUS server(s) to the group. You can use multiple RADIUS servers for redundancy and load balancing.
    • Select the RADIUS servers from the list and use the right arrow button to move them to the “Selected” column.
  4. Click OK to save the RADIUS server group.

Step 5: Configure User Groups for RADIUS Authentication

  1. If you want to use RADIUS for user authentication, navigate to User & Device > User Groups.
  2. Edit an existing user group or create a new one based on your needs.
  3. In the user group settings, go to the Remote Groups section and select the RADIUS server group you created in Step 4.
  • This configuration ensures that users in this group will be authenticated against the RADIUS server.

Step 6: Testing

  1. It’s essential to test your RADIUS configuration to verify that it’s functioning correctly. You can do this by attempting to log in using user accounts associated with the RADIUS server.

Step 7: Monitoring and Troubleshooting

  1. FortiGate provides various monitoring tools under Log & Report where you can review RADIUS authentication and accounting logs. These logs can be instrumental in troubleshooting any issues with the RADIUS configuration.

Step 8: Additional Configuration

  1. Depending on your specific requirements, you may need to configure additional options such as RADIUS accounting, timeout settings, and other advanced features. Consult the FortiGate documentation for comprehensive details on these options.

Step 9: Save Configuration

  1. Make sure to save your configuration changes to ensure they are preserved across device reboots and updates.

By following these detailed steps, you can set up FortiGate to authenticate and authorize users through a RADIUS server effectively. This configuration enhances network security by centralizing user authentication and access control.

FortiGate Automation-Send Microsoft Teams Notification

Hello every one , in this video I will introduce how can you integrate your fortigate firewall with Microsoft teams and get notification in case of admin login failed, Also I will describe fortigate automation service to do some actions for triggered events.

1. Configure Microsoft Teams Incoming Webhook:

  • Log in to your Microsoft Teams account and navigate to the channel where you want to receive notifications.
  • Click on the three dots (…) next to the channel name and select “Connectors.”
  • Search for “Incoming Webhook” and click on it to configure.
  • Give your webhook a name and customize its settings, such as the icon that will be displayed with messages.
  • Once configured, a unique webhook URL will be generated. Copy and save this URL, as you’ll need it to send notifications from FortiGate to Teams.

2. Configure FortiGate Automation:

  • Access your FortiGate firewall’s web interface or CLI.

a. Define Triggering Events:

– Depending on your specific use case, you’ll want to define the events or conditions that trigger notifications. For example, you might want to send notifications when: – A critical security event is detected (e.g., intrusion attempts, malware activity). – A specific network condition is met (e.g., bandwidth threshold exceeded). – Configuration changes are made on the firewall.

b. Create a Custom Script or Action:

  • FortiGate Automation typically involves creating custom scripts or actions using FortiScript (for CLI-based automation) or FortiManager (for GUI-based automation).
  • Here’s an example of a custom FortiScript that sends a notification to Microsoft Teams using the webhook URL:
  # Define the Microsoft Teams webhook URL
  set teams_webhook_url "https://yourteamswebhookurl"

  # Define the message to send
  set message "A critical security event has been detected on FortiGate!"

  # Construct the JSON payload
  set json_payload '{"text": "'$message'"}'

  # Send the HTTP POST request to Microsoft Teams
  execute log "Sending Microsoft Teams notification..."
  execute external "post $teams_webhook_url" $json_payload

c. Customize the Message:

- You can customize the message within the script to include details about the triggered event, such as date, time, event type, and any relevant information.

3. Test the Automation:

  • To test the automation, trigger the event or condition that should initiate the notification. Check Microsoft Teams to ensure that the message is sent and received correctly.

4. Enable the Automation:

  • Once you have successfully tested the automation and are confident in its functionality, you can enable it in your FortiGate configuration.

5. Monitoring and Fine-Tuning:

  • Regularly monitor the automation to ensure that it continues to work as expected. If needed, you can make adjustments to the script or action to meet changing requirements or address any issues that may arise.

By following these detailed steps, you can set up a robust automation system within FortiGate to send Microsoft Teams notifications whenever specific events occur, helping you stay informed about critical network and security events in real-time.

FortiGate Session limit Configuration

Hello everyone in this video i will configure traffic shaping and session limit for my test web server , By enforcing session limits, you can prevent a single client or a group of clients from establishing an excessive number of connections, thus reducing the impact of DDoS attacks, also Web servers have finite resources, including CPU, memory, and network bandwidth.

Allowing too many concurrent sessions can lead to resource exhaustion, resulting in degraded performance or even server crashes. The FortiGate Traffic Shaper is a feature within the Fortinet FortiGate firewall platform that allows you to control and manage network traffic by applying quality of service (QoS) policies. The Traffic Shaper provides a set of tools to shape, control, and monitor network traffic based on predefined policies and rules.

1. Log into the FortiGate Web Interface:

  • Open a web browser and enter the IP address of your FortiGate device.
  • Log in with administrator credentials.

2. Navigate to Security Policies:

  • In the FortiGate web interface, go to “Policy & Objects” or a similar section, depending on your FortiGate’s firmware version.

3. Create or Edit a Security Policy:

  • You can either create a new security policy or edit an existing one. A security policy defines the rules for traffic passing through the firewall.

4. Configure the Session Limits:

a. General Settings: – In the security policy configuration, you’ll find an option to set session limits. Look for a section labeled “Session Options” or similar.

b. Select Session Limit Type: – Choose the appropriate session limit type based on your requirements: – Limit: Sets a maximum limit on the total number of concurrent sessions allowed for this policy. – Per-User Limit: Sets a session limit per user, which is useful in user-based authentication scenarios. – Per-IP Limit: Sets a session limit per source IP address.

c. Configure Limit Value: – Specify the numeric value for the session limit. For example, if you chose “Limit” and set the value to 100, this policy would allow a maximum of 100 concurrent sessions.

d. Define Action on Limit: – Choose what should happen when the session limit is reached. Common actions include: – Accept: Continue accepting new sessions, ignoring the limit. – Drop: Reject new sessions once the limit is reached. – Log: Log information about sessions that exceed the limit. – Rate Limit: Throttle the rate of new sessions when the limit is reached.

e. Idle Timeout and Session Timeout: – These settings help manage session duration: – Idle Timeout: Set the maximum time a session can remain idle (no traffic) before it’s terminated. This prevents stale connections from consuming resources. – Session Timeout: Define the maximum duration a session can last before being terminated, regardless of activity.

f. Advanced Session Options (Optional): – Depending on your FortiGate firmware version and specific requirements, you may have additional session-related options to configure. These could include session helpers for specific protocols or advanced settings for more granular control over session behavior.

5. Save and Apply the Configuration:

  • Once you’ve configured the session limits according to your requirements, save the changes and apply the updated security policy.

6. Testing and Monitoring:

  • Thoroughly test your firewall rules and session limits to ensure they align with your network’s security and performance needs.
  • Monitor firewall logs and session statistics to track how the session limits are being enforced and whether any adjustments are needed.

Please note that the exact steps and terminology may vary depending on your FortiGate firmware version. Consult the official Fortinet documentation or seek assistance from Fortinet support for version-specific details or advanced configurations. Additionally, it’s important to regularly review and update your security policies to adapt to changing network requirements and threats.

Install Web Deploy on IIS (Export and Import Websites With Application Pools)

Hello everyone , in this video I will show you how can migrate Websites in IIS from one server to another servers with all required components by using Web Deploy tools. Let me describe Web Deploy Tools: Web Deploy (also known as MSDeploy) in IIS refers to a technology developed by Microsoft that enables seamless deployment, migration, and synchronization of web applications, websites, and web server configurations across IIS servers. It streamlines the process of exporting and importing IIS configurations and content, making it easier to move web applications between different servers or environments. Web Deploy provides a set of tools and utilities that allow you to Export IIS Configuration and Content, You can use Web Deploy to create a deployment package that includes not only the web application’s files but also the IIS server’s configuration settings. This package captures everything needed for the application to run correctly on another server. Second provided option is  Import and Deploy, On the target server, you can use the same Web Deploy tool to install the application and its associated configurations using the deployment package. This process ensures that the target server’s IIS configuration matches the source server’s configuration. Also you can use Web Deploy to synchronize changes between a source and target server. For example, if you’ve made updates to a web application on your development server, you can use Web Deploy to sync those changes to your staging or production server.

Step 1: Installing Web Deploy

  1. Download Web Deploy:
  2. Install Web Deploy:
    • Run the downloaded installer with administrative privileges (right-click and choose “Run as administrator”).
    • Follow the installation wizard:
      • Accept the license terms.
      • Choose the installation location (you can leave it as the default).
      • Select the components to install. Make sure to select at least the following:
        • Web Deployment Tool
        • IIS Deployment Handler
        • Management Service Delegation UI
      • Click “Install” to begin the installation.

Step 2: Configuring IIS for Web Deploy

  1. Open IIS Manager:
    • Press Win + R, type inetmgr, and press Enter to open the Internet Information Services (IIS) Manager.
  2. Enable Management Service:
    • In IIS Manager, select your server node (usually the top node in the Connections pane on the left).
  3. Double-Click on “Management Service” under the “Management” section in the middle pane.
  4. Configure Management Service:
    • Check the “Enable remote connections” checkbox to allow remote management of the IIS server.
    • Set the “Start Type” to “Automatic” to ensure the service starts automatically with Windows.
    • Specify a unique port for the management service (default is 8172).
    • You can also configure other settings like SSL and client certificates if needed.
  5. Configure Permissions:
    • Under “Management Service Delegation,” you can configure permissions for various users and roles. Click “Add User…” to specify the users or groups that should have permission to deploy websites.
  6. Apply Changes:
    • Click the “Apply” button to save your configuration.

Step 3: Exporting and Importing Websites with Application Pools

Now that Web Deploy is installed and IIS is configured, you can use Web Deploy to export and import websites with application pools.

Export a Website:

  1. Open a Command Prompt:
    • Press Win + X and choose “Command Prompt (Admin)” to open a command prompt with administrative privileges.
  2. Run the Export Command:
    • Use the msdeploy command to export a website. Replace placeholders with actual values:
    bashCopy codemsdeploy -verb:sync -source:webServer,computerName=<ServerName>,userName=<Username>,password=<Password> -dest:package=<PathToPackage.zip> -enableRule:AppPoolExtension
    • <ServerName>: Replace with the server name or IP address.
    • <Username> and <Password>: Replace with the credentials of an account with sufficient permissions.
    • <PathToPackage.zip>: Specify the path where you want to save the exported package.

Import a Website:

  1. Open a Command Prompt:
    • Open a command prompt with administrative privileges.
  2. Run the Import Command:
    • Use the msdeploy command to import a website. Replace placeholders with actual values:
    bashCopy codemsdeploy -verb:sync -source:package=<PathToPackage.zip>,includeAcls=“False” -dest:webServer,computerName=<ServerName>,userName=<Username>,password=<Password>
    • <PathToPackage.zip>: Specify the path to the package you want to import.
    • <ServerName>: Replace with the server name or IP address.
    • <Username> and <Password>: Replace with the credentials of an account with sufficient permissions.
  3. Execute the Command:
    • Execute the command, and the website with its associated application pool will be imported to the target server.

By following these detailed steps, you should be able to successfully install Web Deploy, configure IIS for remote management, and perform website export and import operations with application pools. Always exercise caution when making changes to production servers and ensure you have backups in place.

Generate pfx and Install SSL Certificate in IIS, Enable https in IIS

Hello every one , in this video I will show you how can convert your certificate and key file to pfx format and also how to import that pfx in IIS webserver . as you know import pfx ssl certificate is easiest way to import in IIS.

Acquire an SSL Certificate:

  • You can obtain an SSL certificate from a trusted Certificate Authority (CA) or through a third-party provider.
  • Alternatively, you can create a self-signed certificate for testing purposes, but it won’t be trusted by browsers.

2. Generate a PFX File:

  • Once you have the SSL certificate, you need to generate a PFX (Personal Information Exchange) file. This file will contain both the certificate and the private key.

Using OpenSSL (for Windows):

  • Download and install OpenSSL for Windows if you don’t have it already.
  • Open a command prompt and navigate to the OpenSSL bin directory.
  • Run the following command to generate a PFX file:

openssl pkcs12 -export -out yourdomain.pfx -inkey yourdomain.key -in yourdomain.crt

  • Replace yourdomain.pfx, yourdomain.key, and yourdomain.crt with your actual file names.

3. Install the SSL Certificate in IIS:

  • Open the IIS Manager:
    • Press Win + R, type inetmgr, and press Enter.
  • In the left-hand Connections pane, select your server node.
  • In the right-hand Actions pane, click on “Server Certificates.”

For a Self-Signed Certificate:

  • Click “Create Self-Signed Certificate” on the right-hand side.
  • Follow the wizard, providing a friendly name for the certificate.

For a Commercial Certificate:

  • Click “Import” and follow the wizard, selecting the PFX file you generated.
  • Enter the PFX password when prompted.

4. Bind the SSL Certificate to a Website:

  • In the IIS Manager, expand the Sites node in the Connections pane.
  • Select the website you want to secure with HTTPS.
  • In the right-hand Actions pane, click on “Bindings.”
  • Click “Add” to add a new binding.
  • Set the type to “https” and select the SSL certificate you installed earlier.
  • Choose an appropriate IP address and port (usually 443).
  • Click OK to save the binding.

5. Configure HTTPS in IIS:

  • Make sure the URL Rewrite module is installed in IIS. You can download it if needed.
  • In your website settings, go to the “SSL Settings.”
  • Check the box that says “Require SSL” to force HTTPS.

6. Test the Configuration:

  • Open a web browser and enter your site’s URL with “https://” (e.g., https://yourdomain.com).
  • Ensure that the connection is secure and that your SSL certificate is valid.

By following these steps, you’ll generate a PFX file, install an SSL certificate in IIS, and configure HTTPS for your website. This will help secure the data transmitted between the client and your web server.

FortiGate Auto Backup to SFTP configuration

Hello everyone, today I am going to show you how to automatically back up your FortiGate configuration. As you know, backing up the configuration is crucial for every network engineer. Sometimes, network engineers forget to download backups of their configurations. If you follow along with me in this video, your firewall configuration will be automatically backed up every day. Additionally, every time an admin user logs in to the FortiGate, it will also generate the configuration and upload it to SFTP.

Step 1: Access the FortiGate Web Interface

  1. Open a web browser and enter the IP address or hostname of your FortiGate device to access its web interface.

Step 2: Log in 2. Log in to the FortiGate web interface with administrative credentials.

Step 3: Configure the SFTP Server

a. Navigate to System > Config > Features. b. Locate the “Backup” section and ensure that “Enable SFTP” is enabled. This allows the FortiGate device to communicate with the SFTP server for backup purposes.

Step 4: Create a Backup Profile

a. Go to System > Admin > Settings. b. Under Backup, you’ll find the “Backup Profiles” section. Click on the “Create New” button to create a new backup profile.

Step 5: Configure the Backup Profile

a. In the “Create New Backup Profile” window, provide a descriptive name for the profile. This name will help you identify the backup profile later. b. Select the frequency at which you want backups to occur. You can choose from options like daily, weekly, or monthly. c. Specify the time of day when the backup should be initiated. Choose a time that is convenient and doesn’t disrupt your network operations. d. Under the “Backup Location” section, select “SFTP Server” as the backup destination.

Step 6: Configure SFTP Server Settings

a. After selecting “SFTP Server,” you’ll need to enter the following details for your SFTP server: – Server IP Address or Hostname: This is the address of your SFTP server where backups will be sent. – Port: Typically, SFTP uses port 22, but ensure it matches your SFTP server’s configuration. – Username: Provide the SFTP username for authentication. – Password: Enter the password associated with the SFTP username. – Directory: Specify the directory on the SFTP server where you want to store the FortiGate backups.

Step 7: Schedule the Backup

a. After configuring the SFTP server settings, go to System > Config > Backup. b. Click on “Create New” to create a new backup schedule. c. In the “Create New Backup Schedule” window: – Select the backup profile you created in the previous step from the dropdown menu. – Choose the days of the week for backups (for weekly backups) or the day of the month (for monthly backups).

Step 8: Review and Apply Configuration

a. Review your backup configuration to ensure that all settings are accurate and complete. b. Click “Apply” or “OK” to save and apply the changes.

With these detailed steps, your FortiGate device is now configured to automatically back up its configuration to the specified SFTP server at the scheduled time and frequency you defined. Regularly verify the backups to ensure they are functioning correctly and provide a reliable safeguard for your firewall’s settings.

Tagged Untagged Switch Configuration

Hello everyone , in this video I will describe and configure vlan on hp switch and assign vlans to ports as access and trunk. In HP (Hewlett-Packard) networking switches, “tagged” and “untagged” are terms commonly used to describe how VLANs (Virtual LANs) are handled on switch ports. Tagged ports are used to carry traffic for multiple VLANs simultaneously. These ports are typically used to interconnect switches or to connect devices that need to communicate with multiple VLANs. Tagged ports are also known as “trunk” ports in Cisco networking terminology. Untagged ports are used to connect end-user devices, such as computers, printers, or IP phones, to the network. Each untagged port is associated with a specific VLAN. Untagged ports are also known as “access” ports in cisco networking terminology.

Tagged Ports (Trunk Ports): Tagged ports are used to interconnect switches, routers, or other networking devices and carry traffic for multiple VLANs. They are configured with additional information called VLAN tags, which helps identify which VLAN each Ethernet frame belongs to. Here are the key details:

  • Port Configuration: To configure a port as tagged (trunk), you typically need to access the switch’s command-line interface or web-based management interface.

In Cisco devices, you might use commands like:

interface GigabitEthernet0/1

switchport mode trunk

switchport trunk allowed vlan 10,20,30

switchport trunk native vlan 10

In HP/Aruba switches, you might use commands like:

vlan 10

tagged 1-48

  • VLAN Membership: You specify which VLANs can traverse the tagged port using the “switchport trunk allowed vlan” (Cisco) or “tagged” (HP/Aruba) command. In the example above, VLANs 10, 20, and 30 are allowed to traverse the trunk port.
  • Native VLAN: The native VLAN is used for untagged frames on a tagged port. In the Cisco example, VLAN 10 is the native VLAN. Any untagged traffic entering the port is treated as part of this VLAN.

Untagged Ports (Access Ports): Untagged ports are used to connect end-user devices, such as computers, phones, or printers, to the network. They are associated with a single VLAN, and traffic on these ports is not tagged with VLAN information. Here are the key details:

  • Port Configuration: To configure a port as untagged (access), you typically follow a similar process as configuring tagged ports through the switch’s management interface or CLI.

In Cisco devices, you might use commands like:

interface FastEthernet0/1

switchport mode access

switchport access vlan 10

In HP/Aruba switches, you might use commands like:

vlan 10

untagged 1-48

  • VLAN Assignment: You specify which VLAN the port is associated with using the “switchport access vlan” (Cisco) or “untagged” (HP/Aruba) command. In the examples above, the port is assigned to VLAN 10.

Use Cases:

  • Tagged Ports: Tagged ports are used for scenarios where you need to carry traffic for multiple VLANs between network devices. Common use cases include connecting switches together, connecting to routers that perform inter-VLAN routing, and connecting to virtualization hosts where multiple virtual networks exist.
  • Untagged Ports: Untagged ports are used to connect end devices to the network. For example, a computer in a specific department would connect to an untagged port in that department’s VLAN, ensuring that all its traffic is part of that VLAN.

In summary, configuring tagged and untagged ports correctly is crucial for effective VLAN management. Tagged ports allow traffic from multiple VLANs to traverse a single physical link, while untagged ports connect end devices to a specific VLAN. This segmentation helps in maintaining network security, optimizing traffic flow, and organizing network resources.