<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Security Forem: Samuel Adeduntan </title>
    <description>The latest articles on Security Forem by Samuel Adeduntan  (@samueladeduntan).</description>
    <link>https://zeroday.forem.com/samueladeduntan</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2921090%2F1f180ca3-e7ef-40a7-bb8b-90ccb7cd8a03.jpg</url>
      <title>Security Forem: Samuel Adeduntan </title>
      <link>https://zeroday.forem.com/samueladeduntan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://zeroday.forem.com/feed/samueladeduntan"/>
    <language>en</language>
    <item>
      <title>Network Monitoring with PRTG</title>
      <dc:creator>Samuel Adeduntan </dc:creator>
      <pubDate>Tue, 07 Oct 2025 15:03:22 +0000</pubDate>
      <link>https://zeroday.forem.com/samueladeduntan/network-monitoring-with-prtg-3fd5</link>
      <guid>https://zeroday.forem.com/samueladeduntan/network-monitoring-with-prtg-3fd5</guid>
      <description>&lt;h2&gt;
  
  
  Building a Centralized Monitoring Framework with PRTG
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Centralized monitoring is essential to preserving visibility, performance, and availability across network assets as part of the larger network security and management plan.  In this stage, I put Paessler's PRTG Network Monitor (PRTG) into use to create a cohesive monitoring system that went well with the FortiGate firewall setup.&lt;/p&gt;

&lt;p&gt;The objective was to provide a single pane of glass that offers real-time information on device status, bandwidth usage, network health, and service availability.  Using industry-standard protocols like SNMP, WMI, and ICMP, PRTG's agentless architecture enabled smooth integration with FortiGate and other network components.&lt;/p&gt;

&lt;p&gt;I was able to keep an eye on important metrics by setting up custom sensors, such as the firewall's CPU consumption, interface throughput, memory usage, and VPN tunnel status.  Performance trend analysis and capacity planning were made possible by the collection of historical data, and alerts and notifications were adjusted to guarantee a quick reaction to abnormalities.&lt;/p&gt;

&lt;p&gt;By offering constant visibility into the security posture and network performance, this centralized configuration not only made network management easier but also enhanced operational awareness and insights.  I created a proactive monitoring environment using PRTG's user-friendly dashboard, which can identify and resolve potential issues before they impact customers or services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PRTG Network Monitor is the main tool for observing server and network performance.&lt;/strong&gt;&lt;br&gt;
I began by installing it on a Windows Server, which allowed me to track system resources like RAM, CPU, and disk usage. PRTG served as the foundation for building visibility into all devices on the network, giving me real-time updates on uptime and service health.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding PRTG Protocols
&lt;/h2&gt;

&lt;p&gt;Here, I described how the Simple Network Management Protocol (SNMP) is used by the majority of network monitoring tools, including PRTG, to connect to endpoint devices. Because it allowed PRTG to query devices, gather performance information, and identify anomalies over standard ports (often UDP 161), SNMP was essential. This guarantees smooth communication between workstations, servers, routers, and switches of any manufacturer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Downloading and Installing PRTG
&lt;/h2&gt;

&lt;p&gt;These detailed the process of downloading and setting up PRTG on Windows:&lt;br&gt;
I searched for PRTG in my web browser and downloaded it from the official Paessler site.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5kd8kl2bmg1rc7f3tpvf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5kd8kl2bmg1rc7f3tpvf.png" alt="Image1" width="597" height="246"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftnqgtcsll0fdltglf31m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftnqgtcsll0fdltglf31m.png" alt="Image1" width="800" height="293"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;After launching the installer, I followed the setup prompts and selected the default installation mode.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe1wnfvdccq06o8urg8zl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe1wnfvdccq06o8urg8zl.png" alt="Image1" width="800" height="263"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvv0ts8imr58fk4c9macq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvv0ts8imr58fk4c9macq.png" alt="Image1" width="390" height="289"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7oucn45ks08jni04et8d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7oucn45ks08jni04et8d.png" alt="Image1" width="613" height="487"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3g9u48ibop51qrwz6q33.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3g9u48ibop51qrwz6q33.png" alt="Image1" width="609" height="479"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Once installation completed, PRTG automatically launched a web instance on port 8080 using the system’s IP address.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs6qj202m4fxad4vk0928.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs6qj202m4fxad4vk0928.png" alt="Image1" width="800" height="325"&gt;&lt;/a&gt;&lt;br&gt;
This stage marked the successful deployment of the monitoring environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Logging In and Accessing the Dashboard
&lt;/h2&gt;

&lt;p&gt;Once installed, I accessed the PRTG web interface using my administrator credentials. The interface was intuitive, featuring sections such as:&lt;br&gt;
&lt;strong&gt;- Dashboard:&lt;/strong&gt; Displayed overall network health.&lt;br&gt;
&lt;strong&gt;- Devices:&lt;/strong&gt; Listed all monitored systems.&lt;br&gt;
&lt;strong&gt;- Sensors: *&lt;em&gt;Represented specific metrics (CPU load, memory, services).&lt;br&gt;
*&lt;/em&gt;- Alarms:&lt;/strong&gt; Displayed alerts and downtime events.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft10m1ppi87ua1rtzrwz6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft10m1ppi87ua1rtzrwz6.png" alt="Image1" width="566" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbg8y5ftw7y7cooc6cnu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbg8y5ftw7y7cooc6cnu.png" alt="Image1" width="800" height="371"&gt;&lt;/a&gt;&lt;br&gt;
This became my central management console.&lt;/p&gt;

&lt;h2&gt;
  
  
  Network Discovery
&lt;/h2&gt;

&lt;p&gt;PRTG automatically began network discovery, scanning the subnet to detect reachable hosts. Discovered devices were displayed on the dashboard, allowing me to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rename devices.&lt;/li&gt;
&lt;li&gt;Organize them into groups.&lt;/li&gt;
&lt;li&gt;Assign or remove sensors manually.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsq235ka1gsico6ol2268.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsq235ka1gsico6ol2268.png" alt="Image1" width="800" height="333"&gt;&lt;/a&gt;&lt;br&gt;
This automatic process saved significant setup time and ensured no device was left unmonitored.&lt;/p&gt;

&lt;h2&gt;
  
  
  Adding Devices Manually
&lt;/h2&gt;

&lt;p&gt;After the automatic discovery, I manually added both Windows and Linux systems for more control. For Windows, I used WMI credentials to pull system data. For Linux, I configured SNMP and SSH connections.&lt;br&gt;
Each device automatically received a set of sensors (like uptime, ping, and CPU usage).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3b0rtino1zr0i4lkjpod.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3b0rtino1zr0i4lkjpod.png" alt="Image1" width="441" height="194"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffe8y0e51iaa1ctp1ghra.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffe8y0e51iaa1ctp1ghra.png" alt="Image1" width="672" height="230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1g04jvw0fwo0s3y7ajmu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1g04jvw0fwo0s3y7ajmu.png" alt="Image1" width="660" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl8wbwqg4z8qtr99uappi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl8wbwqg4z8qtr99uappi.png" alt="Image1" width="647" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjkoucbvumckqgj2v36uu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjkoucbvumckqgj2v36uu.png" alt="Image1" width="636" height="308"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fteuo8mlio1tbuydlojpl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fteuo8mlio1tbuydlojpl.png" alt="Image1" width="353" height="138"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Configuring Auto-Discovery and Sensors
&lt;/h2&gt;

&lt;p&gt;PRTG’s auto-discovery feature scanned each device for active services.&lt;br&gt;
For example:&lt;br&gt;
I enabled FTP on a Kali Linux system.&lt;br&gt;
PRTG detected it and created an FTP sensor automatically.&lt;br&gt;
This saved me from manually identifying and adding every service on the network.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwykzd59yvvgya9fohct8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwykzd59yvvgya9fohct8.png" alt="Image1" width="302" height="125"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Femwp57toob48ccls0tgh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Femwp57toob48ccls0tgh.png" alt="Image1" width="605" height="265"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnyiv7mvwj6y7o299bety.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnyiv7mvwj6y7o299bety.png" alt="Image1" width="488" height="242"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffzmxbxfydbcpwjur10ci.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffzmxbxfydbcpwjur10ci.png" alt="Image1" width="800" height="355"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F947h6xl9k37pnl8cbthb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F947h6xl9k37pnl8cbthb.png" alt="Image1" width="755" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Adding a windows machine *&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjx3slfm40a1kei0wtgxj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjx3slfm40a1kei0wtgxj.png" alt="Image1" width="242" height="112"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fin2i414gm6vwywqtodw0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fin2i414gm6vwywqtodw0.png" alt="Image1" width="662" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn72t6rqtq6sh28xdd1pb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn72t6rqtq6sh28xdd1pb.png" alt="Image1" width="645" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F39zbc2anhfywre8toc3q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F39zbc2anhfywre8toc3q.png" alt="Image1" width="360" height="184"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpb22v2vxrf0iqghp0w2q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpb22v2vxrf0iqghp0w2q.png" alt="Image1" width="610" height="277"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Monitoring System Information
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Exploring the functionality of the deep scan of PRTG on a particular device. For instance Windwos server&lt;/strong&gt;&lt;br&gt;
Here, I explored the detailed data PRTG collected per device:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hardware specs (CPU type, memory, disk drives).&lt;/li&gt;
&lt;li&gt;Software installed on the system.&lt;/li&gt;
&lt;li&gt;Logged-in users and background services.
If any service had issues, I could quickly verify its status through PRTG before performing manual troubleshooting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ryskq8y9j77ph0ygmca.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ryskq8y9j77ph0ygmca.png" alt="Image1" width="738" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;System inforation under the particular endpoint you are monitoring&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3bjxp59p3vkyr5iz9zen.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3bjxp59p3vkyr5iz9zen.png" alt="Image1" width="516" height="296"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hardware information&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyr3lbdi8yv66qx3c37le.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyr3lbdi8yv66qx3c37le.png" alt="Image1" width="494" height="332"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Information of Software running on the operating system&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F13rju8ew4cou9c5z9lg6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F13rju8ew4cou9c5z9lg6.png" alt="Image1" width="495" height="277"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0nkszt3dsuu6vvoxgqa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0nkszt3dsuu6vvoxgqa.png" alt="Image1" width="476" height="135"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Users that are on the system&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F62fkogbefvt9t3qryd00.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F62fkogbefvt9t3qryd00.png" alt="Image1" width="528" height="331"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Details of Services orunning on the endpoint&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk8qhr8ls8fnliumh2aj1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk8qhr8ls8fnliumh2aj1.png" alt="Image1" width="498" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Service Downtime Simulation
&lt;/h2&gt;

&lt;p&gt;To test real-time monitoring, I intentionally stopped services such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Wazuh Agent.&lt;/li&gt;
&lt;li&gt;The RDP (Remote Desktop Protocol).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;PRTG immediately detected the changes, showing warning alerts on the dashboard. When I restarted the services, the alerts cleared automatically. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbpldfzmwgu4zk1tsi6vj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbpldfzmwgu4zk1tsi6vj.png" alt="Image1" width="472" height="244"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I want to turn off the wazuh agent&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F395enmafdizvlujb1ocr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F395enmafdizvlujb1ocr.png" alt="Image1" width="291" height="403"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fupnsu334gg6tihmrhzxx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fupnsu334gg6tihmrhzxx.png" alt="Image1" width="800" height="332"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F061z3vmdvtrpypsq1zv1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F061z3vmdvtrpypsq1zv1.png" alt="Image1" width="449" height="214"&gt;&lt;/a&gt;&lt;br&gt;
This confirmed PRTG’s ability to monitor uptime accurately.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pausing and Resuming Sensors
&lt;/h2&gt;

&lt;p&gt;I demonstrated how to pause sensors during maintenance activities to prevent unnecessary alerts. This was especially helpful when testing or updating software. After maintenance, I resumed the sensors, and monitoring continued without triggering false alarms.&lt;/p&gt;

&lt;p&gt;Reason why a service sensor can be paused is when a particular service is under maintanace, and you do not want idefinate alarm of down service, so you have to pause the service sensor untill the service is up and runing. So this is how to go about it &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frmwhjyledaxtzeh8dnus.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frmwhjyledaxtzeh8dnus.png" alt="Image1" width="701" height="334"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb001i99xg0lj3vlaupo0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb001i99xg0lj3vlaupo0.png" alt="Image1" width="472" height="321"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw40wz4e00dv667wng5mc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw40wz4e00dv667wng5mc.png" alt="Image1" width="736" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To turn ON the service sensor Alarm back&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fes8psqoiyvrp8mhgy5r9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fes8psqoiyvrp8mhgy5r9.png" alt="Image1" width="702" height="347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Monitoring Linux Endpoints
&lt;/h2&gt;

&lt;p&gt;I then focused on monitoring a Linux machine (Kali Linux). I started the FTP service and used PRTG to collect data such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;System uptime.&lt;/li&gt;
&lt;li&gt;CPU and memory usage.&lt;/li&gt;
&lt;li&gt;Active ports and services.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi6e2bbx4lvwwiv6kjkgg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi6e2bbx4lvwwiv6kjkgg.png" alt="Image1" width="728" height="307"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Futx2h82n6wd8pr5iysgu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Futx2h82n6wd8pr5iysgu.png" alt="Image1" width="800" height="162"&gt;&lt;/a&gt;&lt;br&gt;
This proved that PRTG effectively supported cross-platform monitoring.&lt;/p&gt;

&lt;h2&gt;
  
  
  Configuring Notification Triggers
&lt;/h2&gt;

&lt;p&gt;I configured notification triggers to alert me when specific conditions were met. Examples included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CPU usage above 90%.&lt;/li&gt;
&lt;li&gt;Disk space below 10%.&lt;/li&gt;
&lt;li&gt;Service down for more than 5 minutes.
Notifications could be sent via email, SMS, or external integrations like Slack.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg97b7n6lzt2rtpgpw3qt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg97b7n6lzt2rtpgpw3qt.png" alt="Image1" width="800" height="235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvke5xo1rl6rzhh0h60v6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvke5xo1rl6rzhh0h60v6.png" alt="Image1" width="800" height="219"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alarm simulation, Shoting down the RDP protocol&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq4sshqbyds8bfdd35are.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq4sshqbyds8bfdd35are.png" alt="Image1" width="538" height="271"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2lxihcwyuq7vbj65wqs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2lxihcwyuq7vbj65wqs.png" alt="Image1" width="511" height="445"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ll7nknbs64ajhtz7ewz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ll7nknbs64ajhtz7ewz.png" alt="Image1" width="800" height="226"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmtcn5qksgem27ifv3n42.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmtcn5qksgem27ifv3n42.png" alt="Image1" width="800" height="196"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff1dyi9fsba47iqjcfz8x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff1dyi9fsba47iqjcfz8x.png" alt="Image1" width="411" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Integrating PRTG with Slack
&lt;/h2&gt;

&lt;p&gt;This part covered the full Slack integration workflow:&lt;br&gt;
&lt;strong&gt;- Created a new Slack workspace and channe&lt;/strong&gt;l.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa11s358xzkuoqi7bszyh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa11s358xzkuoqi7bszyh.png" alt="Image1" width="800" height="317"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjgqzrhw83ldbyn8l1bw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjgqzrhw83ldbyn8l1bw.png" alt="Image1" width="734" height="345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcih5kr8r7babrhxcaded.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcih5kr8r7babrhxcaded.png" alt="Image1" width="800" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fls811kjqlmqrzv8z2sci.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fls811kjqlmqrzv8z2sci.png" alt="Image1" width="566" height="321"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmq67mqpwiv3kg5yfv5os.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmq67mqpwiv3kg5yfv5os.png" alt="Image1" width="535" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvkiqtdvoqs798cqipat6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvkiqtdvoqs798cqipat6.png" alt="Image1" width="623" height="260"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dashboard Overview&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkyimpkewvkgri0apy819.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkyimpkewvkgri0apy819.png" alt="Image1" width="800" height="347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Creating New channel &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk94v5inuel46r53hc7ji.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk94v5inuel46r53hc7ji.png" alt="Image1" width="267" height="446"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjh0cgfnq15k7scm1rzuj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjh0cgfnq15k7scm1rzuj.png" alt="Image1" width="253" height="355"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgi6bneie14b8ah268bbs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgi6bneie14b8ah268bbs.png" alt="Image1" width="293" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Adding people to your newly created team&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd7gb7ck5joi5nq57eal4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd7gb7ck5joi5nq57eal4.png" alt="Image1" width="432" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Generated an incoming webhook URL.&lt;/strong&gt;&lt;br&gt;
Why do we need webhook URL?&lt;br&gt;
Webhook are a way to post messages from apps into slack. Creating an incoming webhook gives you a unique URL to which you send a JSON payload with the message text and some options.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffcrbpwcao1kg7css010m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffcrbpwcao1kg7css010m.png" alt="Image1" width="601" height="311"&gt;&lt;/a&gt;&lt;br&gt;
The slack app is meant to be linked to your slack channel&lt;/p&gt;

&lt;p&gt;Created a Slack App and enabled webhooks under its settings.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmiuhzqsl8xxx01xjr51c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmiuhzqsl8xxx01xjr51c.png" alt="Image1" width="634" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk6vd5ygy69x9y273r5a2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk6vd5ygy69x9y273r5a2.png" alt="Image1" width="437" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Locate incoming webhook under features&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbqakdj8zm5gb78s2asc8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbqakdj8zm5gb78s2asc8.png" alt="Image1" width="783" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0dq4e2ozn6eisr38eu0w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0dq4e2ozn6eisr38eu0w.png" alt="Image1" width="800" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Turn ON the webhook&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz7y26c0v4lelh8hv1cyg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz7y26c0v4lelh8hv1cyg.png" alt="Image1" width="800" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0fsnsmbf93rcrqjs73qk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0fsnsmbf93rcrqjs73qk.png" alt="Image1" width="586" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the name name of the channel on the app&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3wa6i132ig4eau78ktkd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3wa6i132ig4eau78ktkd.png" alt="Image1" width="561" height="412"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcypmiiox26hyvh6v35iw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcypmiiox26hyvh6v35iw.png" alt="Image1" width="434" height="310"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Copied the webhook URL and pasted it into the PRTG notification template.&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp25x87qy0wy751nafg3h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp25x87qy0wy751nafg3h.png" alt="Image1" width="542" height="317"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frdw6d309vtwer8spp9xh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frdw6d309vtwer8spp9xh.png" alt="Image1" width="800" height="273"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How I connected the generated webhook URL to PRTG instance&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm8vr2s876mnz6ykx9zqq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm8vr2s876mnz6ykx9zqq.png" alt="Image1" width="800" height="213"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbeieul5ux24w8oalpm3t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbeieul5ux24w8oalpm3t.png" alt="Image1" width="755" height="281"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setting up the notification template&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F44x3h55sz13onwaekfhh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F44x3h55sz13onwaekfhh.png" alt="Image1" width="675" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu958mqysdjg1884iq3dw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu958mqysdjg1884iq3dw.png" alt="Image1" width="673" height="378"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh5r6wlbjpk547fbjtqbk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh5r6wlbjpk547fbjtqbk.png" alt="Image1" width="688" height="376"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4epaobg121ziwgm68gkr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4epaobg121ziwgm68gkr.png" alt="Image1" width="800" height="246"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simulation of an event&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F93v1ilmdf4o1s3li0fj7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F93v1ilmdf4o1s3li0fj7.png" alt="Image1" width="506" height="314"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjjm0q02cy3ces4bv7a4f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjjm0q02cy3ces4bv7a4f.png" alt="Image1" width="458" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Testing the Slack Integration
&lt;/h2&gt;

&lt;p&gt;To verify the integration, I simulated another RDP service shutdown.&lt;br&gt;
PRTG triggered an alert and instantly sent a notification to my Slack channel. The Slack message included the service name, device, alert type, and timestamp. When I restarted the RDP service, the notification updated to reflect that it was back online.&lt;/p&gt;

&lt;p&gt;Event simulation notification after RDP was shut down&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F76q1zuaf2zn1zpmkqk6d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F76q1zuaf2zn1zpmkqk6d.png" alt="Image1" width="800" height="191"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz5yjyclpbp6wwcbcwtk5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz5yjyclpbp6wwcbcwtk5.png" alt="Image1" width="800" height="222"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Turn ON the RDP service. &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg2bkal1wpdtro1yl6i0x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg2bkal1wpdtro1yl6i0x.png" alt="Image1" width="752" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In summary, this hands-on project gave me comprehensive experience in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Installing and configuring PRTG on Windows Server.&lt;/li&gt;
&lt;li&gt;Adding and monitoring Windows/Linux devices.&lt;/li&gt;
&lt;li&gt;Creating and managing service sensors.&lt;/li&gt;
&lt;li&gt;Simulating alerts and testing real-time notifications.&lt;/li&gt;
&lt;li&gt;Integrating PRTG with Slack for proactive incident management.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This experience improved my technical understanding of network monitoring, automation, and alert handling key skills for cybersecurity and SOC operations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lesson Learned
&lt;/h2&gt;

&lt;p&gt;I gained important knowledge about how centralized monitoring improves operational effectiveness and security visibility in an enterprise network from working with PRTG Network Monitor.  I gained the following important insights from this practical deployment:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Centralized visibility simplifies management: *&lt;em&gt;My responsiveness to service interruptions was enhanced and troubleshooting time was significantly decreased by having all network devices and services viewable from a single pane of glass.&lt;br&gt;
*&lt;/em&gt;-  Understanding protocol is essential:&lt;/strong&gt;  I learned how these communication protocols serve as the foundation for device monitoring by correctly configuring SNMP, WMI, and SSH connections.  I came to see that even a small configuration error could result in false alerts or prohibit reliable data collecting.&lt;br&gt;
&lt;strong&gt;-  Automation reduces effort:&lt;/strong&gt; Without requiring human input, the auto-discovery capability was particularly useful in identifying new endpoints and services.  This guaranteed that no device was left unattended while also speeding up the setup process.&lt;br&gt;
&lt;strong&gt;- Alerts need to be adjusted: ** I got too many notifications at first, some of which weren't urgent.  The alerting system was improved by modifying thresholds and designing unique triggers, ensuring that I only received actionable alerts via Slack.&lt;br&gt;
**-  Collaboration is strengthened through integration:&lt;/strong&gt;  The power of combining monitoring tools with communication platforms was illustrated by connecting PRTG to Slack.  Without continuously monitoring dashboards, real-time notifications made incidents instantly visible.&lt;br&gt;
&lt;strong&gt;-  Proactive monitoring minimizes downtime:&lt;/strong&gt; I was able to verify that proactive warnings enable prompt action before problems worsen, reducing the impact on business, by mimicking service outages.&lt;br&gt;
&lt;strong&gt;- False positives are avoided by being aware of maintenance:&lt;/strong&gt; By learning how to pause and resume sensors during planned maintenance, the monitoring system was kept dependable and alert fatigue was prevented.&lt;br&gt;
&lt;strong&gt;-  Cross-platform visibility promotes operational trust:&lt;/strong&gt; I was able to get a thorough picture of the network by keeping an eye on both Windows and Linux endpoints, which helped to guarantee that all vital systems continued to function and be safe.&lt;/p&gt;

</description>
      <category>prtgmonitoring</category>
      <category>networkvisibility</category>
      <category>centralizedmonitoring</category>
      <category>itinfrastructure</category>
    </item>
    <item>
      <title>#DAY 8: Monitoring, Logs &amp; Troubleshooting</title>
      <dc:creator>Samuel Adeduntan </dc:creator>
      <pubDate>Tue, 07 Oct 2025 00:30:27 +0000</pubDate>
      <link>https://zeroday.forem.com/samueladeduntan/day-8-monitoring-logs-troubleshooting-406d</link>
      <guid>https://zeroday.forem.com/samueladeduntan/day-8-monitoring-logs-troubleshooting-406d</guid>
      <description>&lt;h2&gt;
  
  
  From Event Logs to Effective Issue Resolution
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;A firewall needs to be regularly observed and evaluated to make sure it is operating as intended. Its efficacy does not stop with configuration.  With its extensive suite of logging and monitoring capabilities, FortiGate offers managers comprehensive insight into system health, network traffic, and possible security risks.&lt;/p&gt;

&lt;p&gt;The foundation of troubleshooting is logs.  Examining thorough logs helps determine the underlying source of problems and guarantees prompt resolution, whether they are caused by dropped packets, broken connections, or strange activities.  Correlation of events and early anomaly detection are made feasible by FortiGate's support for real-time log monitoring, historical log analysis, and integration with external logging systems like FortiAnalyzer or SIEM platforms.&lt;/p&gt;

&lt;p&gt;During this stage, I concentrated on monitoring network activity and enhancing incident response through the use of event logs, traffic logs, and system alarms.  By employing FortiGate’s troubleshooting capabilities, such as packet captures, flow-based monitoring, and diagnostic commands, I was able to proceed from problem discovery to successful resolution, ensuring the firewall continually maintained secure and dependable network operations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Checking logs &amp;amp; monitoring
&lt;/h2&gt;

&lt;p&gt;What does it mean for a firewall to monitor and manage devices?&lt;/p&gt;

&lt;p&gt;A firewall must actively monitor network traffic to and from connected devices in order to detect possible security threats and implement policies that restrict access, stop malicious activity, and guarantee adherence to security regulations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DHCP Monitored Device on firewall&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxvs61pypapdxzm99yde4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxvs61pypapdxzm99yde4.png" alt="Image1" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Adding another VM to be monitored on the DHCP &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnfptcpydupmze7kk90zq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnfptcpydupmze7kk90zq.png" alt="Image1" width="800" height="477"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fae7faljcfoktnq22rzn1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fae7faljcfoktnq22rzn1.png" alt="Image1" width="238" height="255"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;New Device added&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsjvsl5vzy5iy8ob65me1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsjvsl5vzy5iy8ob65me1.png" alt="Image1" width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How to set up a firewall policy to allow internet access on these connected devices&lt;/p&gt;

&lt;p&gt;Initially, the devices connected to this interface were not able to access the internet on the other side of the network.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faafy72v3wz6o39cwujy8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faafy72v3wz6o39cwujy8.png" alt=" " width="686" height="290"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The rules and configurations that control how the firewall handles network traffic are specified by the firewall policy and configuration component.  To defend the network against threats and unwanted access, it entails defining connections that are permitted or prohibited, establishing access restrictions, and setting up security protocols.&lt;/p&gt;

&lt;p&gt;How to know that traffic is getting to the firewall by default predefined rule.e&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk0o96nm46hgmmzldtkfh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk0o96nm46hgmmzldtkfh.png" alt="Image1" width="800" height="183"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I tried to do a ping again&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5427thahrolc53cr85qk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5427thahrolc53cr85qk.png" alt="Image1" width="373" height="60"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Recetrafficfic volume&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzqpmt941yxryityndoe0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzqpmt941yxryityndoe0.png" alt=" " width="800" height="283"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Overview of the Traffic log and report&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmh6zcw4zo84xoykr5b7p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmh6zcw4zo84xoykr5b7p.png" alt="Image1" width="800" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The significance of ongoing monitoring and log analysis in preserving a safe and reliable firewall environment was emphasized on Day 8.  Through proactive monitoring of system health, device activity, and traffic flow, I successfully troubleshooted connectivity difficulties, verified security policy enforcement, and identified possible concerns.  The FortiGate firewall maintained its dependability and resilience by utilizing diagnostic tools, including flow monitoring and packet captures, which increased response time and accuracy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Success Goal Achieved
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;successfully used DHCP tracking to keep an eye on linked devices.&lt;/li&gt;
&lt;li&gt; Traffic flow visibility was confirmed using firewall logs and reports.&lt;/li&gt;
&lt;li&gt; Firewall settings were configured and modified to allow monitored virtual machines to access the internet again.&lt;/li&gt;
&lt;li&gt; Ping tests were used to verify traffic reachability, and log entries were used for confirmation.&lt;/li&gt;
&lt;li&gt; increased operational confidence through the use of troubleshooting tools (predefined rules, traffic volume analysis, and system logs).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Monitoring is proactive security — it’s not just about fixing problems but detecting them before they escalate.&lt;/li&gt;
&lt;li&gt;Logs are invaluable for troubleshooting — they provide the evidence trail needed to isolate and resolve issues quickly.&lt;/li&gt;
&lt;li&gt;Policy misconfiguration is a common cause of connectivity failures — reviewing rules against log data ensures accurate corrections.&lt;/li&gt;
&lt;li&gt;Visibility drives accountability — knowing which devices are active, what traffic they generate, and whether they comply with policy improves governance.&lt;/li&gt;
&lt;li&gt;Integration with external tools (FortiAnalyzer, SIEM) can further enhance analysis and long-term visibility for enterprise deployments.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>networkmonitoring</category>
      <category>loganalysis</category>
      <category>troubleshooting</category>
      <category>fortigatesecurity</category>
    </item>
    <item>
      <title>#DAY 7: Users &amp; Authentication</title>
      <dc:creator>Samuel Adeduntan </dc:creator>
      <pubDate>Tue, 07 Oct 2025 00:30:15 +0000</pubDate>
      <link>https://zeroday.forem.com/samueladeduntan/day-7-users-authentication-12jm</link>
      <guid>https://zeroday.forem.com/samueladeduntan/day-7-users-authentication-12jm</guid>
      <description>&lt;h2&gt;
  
  
  Strengthening Security Through Identity Management
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;True security necessitates limiting who has access to resources, even though firewall rules and security profiles regulate traffic at the network and application levels.  FortiGate's user and authentication management makes sure that only people with permission may access the network and that their actions can be tracked and managed.&lt;/p&gt;

&lt;p&gt;Granular identity-based access control is made possible by FortiGate through the creation of user accounts, the definition of user groups, and integration with external authentication servers like LDAP, RADIUS, or Active Directory.  This method lowers the possibility of unwanted access to vital systems while simultaneously increasing accountability.&lt;/p&gt;

&lt;p&gt;I set up users and authentication techniques during this step to improve firewall identity management.  I made sure that security regulations were applied consistently by directly connecting access permissions to user identities, which improved network visibility and protection.&lt;/p&gt;

&lt;p&gt;What is Users and authentication?&lt;/p&gt;

&lt;p&gt;The processes and procedures used to confirm the identification of people gaining access to a system or network in order to guarantee that only authorized users are permitted entry are referred to as users and authentication.&lt;/p&gt;

&lt;p&gt;By controlling access through identity verification, users and authentication help to increase security by making sure that only those with permission can access systems and resources.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating users &amp;amp; groups
&lt;/h2&gt;

&lt;p&gt;User &amp;amp; Authentication&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fefkf8xgitepuqu2osg29.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fefkf8xgitepuqu2osg29.png" alt="Image1" width="317" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo7e0c9bk73jazrjn604x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo7e0c9bk73jazrjn604x.png" alt="Image1" width="532" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Login credential set up&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqbgvhzlgb7pymgpbsm1a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqbgvhzlgb7pymgpbsm1a.png" alt="Image1" width="532" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6shj74lo23euubdclvx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6shj74lo23euubdclvx.png" alt="Image1" width="542" height="538"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb0bspn7wujax23ims8z4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb0bspn7wujax23ims8z4.png" alt="Image1" width="519" height="536"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;New User Added&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv0d6i6zl2p3d4avuoyh5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv0d6i6zl2p3d4avuoyh5.png" alt="Image1" width="800" height="181"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Requiring authentication in policies
&lt;/h2&gt;

&lt;p&gt;How to enable the user/group on the &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhf315kgczkvi9xvf46u1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhf315kgczkvi9xvf46u1.png" alt="Image1" width="800" height="520"&gt;&lt;/a&gt;firewall policy&lt;/p&gt;

&lt;h2&gt;
  
  
  Simulation
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdsblups0c4bf0qaea0b8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdsblups0c4bf0qaea0b8.png" alt="Image1" width="609" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;By directly linking rules to user identities, Day 7 improved firewall access control.  By limiting access to sensitive resources to authenticated users, identity-based enforcement lowers the possibility of unwanted access.  By incorporating user management into the security framework, network governance was enhanced and responsibility was raised.&lt;/p&gt;

&lt;h2&gt;
  
  
  Success Goal Achieved
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Local user accounts were successfully created and maintained.&lt;/li&gt;
&lt;li&gt; User groups were formed to streamline policy administration.&lt;/li&gt;
&lt;li&gt; Identity-based regulations that demand authentication prior to access were enforced.&lt;/li&gt;
&lt;li&gt; To ensure that users were being confirmed correctly, authentication was simulated.&lt;/li&gt;
&lt;li&gt; increased accountability and transparency of user activities across the firewall.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Integrating identities is essential because without linking access to particular individuals, security is insufficient.&lt;/li&gt;
&lt;li&gt; Applying rules to individual users is more difficult than managing policies in groups.&lt;/li&gt;
&lt;li&gt; It is necessary to test authentication policies because incorrect setup could prevent authorized users from accessing them.&lt;/li&gt;
&lt;li&gt; Scalability and enterprise-level flexibility are added by external server integration (LDAP/RADIUS/AD).&lt;/li&gt;
&lt;li&gt; Accountability is increased by audit trails, which now display who accessed what in addition to the device.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>identitymanagement</category>
      <category>userauthentication</category>
      <category>accesscontrol</category>
      <category>fortigatesecurity</category>
    </item>
    <item>
      <title>#DAY 6: Security Profiles: Web Filtering &amp; Application Control</title>
      <dc:creator>Samuel Adeduntan </dc:creator>
      <pubDate>Tue, 07 Oct 2025 00:30:03 +0000</pubDate>
      <link>https://zeroday.forem.com/samueladeduntan/day-6-security-profiles-web-filtering-application-control-341j</link>
      <guid>https://zeroday.forem.com/samueladeduntan/day-6-security-profiles-web-filtering-application-control-341j</guid>
      <description>&lt;h2&gt;
  
  
  Enforcing Safe Browsing and Application Usage
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;FortiGate's security profiles offer comprehensive examination and management of web traffic and apps, going beyond simple firewall rules.  Firewall regulations decide which connections are permitted, but Web Filtering and Application Control make sure that the permitted traffic is suitable and safe.&lt;/p&gt;

&lt;p&gt;By classifying and banning undesirable or hazardous websites, web filtering helps shield consumers from unsafe content, phishing efforts, and malicious websites.  Application Control, on the other hand, identifies and controls application traffic at a fine level, giving administrators the ability to restrict bandwidth-intensive services, prioritize business-critical apps, and prevent dangerous apps.&lt;/p&gt;

&lt;p&gt;I set up security profiles during this stage to regulate network application usage and enforce safe surfing practices.  I increased network efficiency, decreased user vulnerability, and reinforced user protection by implementing these profiles into firewall policies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Security Profile&lt;/strong&gt;&lt;br&gt;
In network security systems, security profiles are configurations that specify how traffic is examined and controlled.  To enforce security regulations and defend against threats, they incorporate capabilities like intrusion prevention, web filtering, application control, and antivirus scanning.&lt;/p&gt;

&lt;p&gt;Enforcing safe browsing and controlling application usage are crucial security measures that safeguard networks from threats and guarantee compliance. These profiles include web filtering and application management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is web filtering?&lt;/strong&gt;&lt;br&gt;
Web filtering is a security feature that limits or regulates access to particular websites or content categories, lowering the risk of cyber attacks and assisting users in avoiding inappropriate or dangerous content. Web filtering is meant to define what a user can or cannot do on a particular organization's network.&lt;/p&gt;

&lt;p&gt;Three rules or policies come with a firewall by default: one to monitor all visited URLs, another one to monitor Wi-Fi traffic, and the default one as well. The three default rules or policies that are commonly found in firewalls are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Allow Established/Related Traffic&lt;/strong&gt;: Permits traffic that is part of an already established connection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deny All Traffic&lt;/strong&gt;: Blocks all traffic that does not match any other rule, serving as a security baseline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Log Traffic&lt;/strong&gt;: Logs information about traffic for monitoring and analysis purposes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Configuring web filtering
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;FortiGuard web filtering: Category-Based Filter&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjet14bkyy0b1w2kiy9ob.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjet14bkyy0b1w2kiy9ob.png" alt="Image1" width="427" height="345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;How to set up a new web filtering policy *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq0cz9of5vk4dix0pa69r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq0cz9of5vk4dix0pa69r.png" alt="Image1" width="529" height="441"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flq5hrbc3vvznjsz5v12i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flq5hrbc3vvznjsz5v12i.png" alt="Image1" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Web filtering policy set up&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuq4kftw1htwnfmxa6zua.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuq4kftw1htwnfmxa6zua.png" alt="Image1" width="511" height="179"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6wxu98yw4aycsmcs4vd9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6wxu98yw4aycsmcs4vd9.png" alt="Image1" width="800" height="304"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adding the new web filtering policy to the security profile&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5a36uuwbdgl2kzfz4xcy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5a36uuwbdgl2kzfz4xcy.png" alt="Image1" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security Profile set up&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F99xzpmpr7w72jee6pav6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F99xzpmpr7w72jee6pav6.png" alt="Image1" width="800" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Testing web filtering
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Event simulation on web filtering&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fti20anfwhcwtndweje0l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fti20anfwhcwtndweje0l.png" alt="Image1" width="800" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Enabling application control
&lt;/h2&gt;

&lt;p&gt;Choosing the application signature → Application control → Application and filter Overrides  Turn on the firewall policy's application control → Application control simulation&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Application control&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fozy5d7ckq42yigbmje4w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fozy5d7ckq42yigbmje4w.png" alt="Image1" width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Application and filter Overrides&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ih3k50xnw0e8fla855d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ih3k50xnw0e8fla855d.png" alt="Image1" width="800" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Selecting the application signature&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F77q6ukzps1i9q88l995f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F77q6ukzps1i9q88l995f.png" alt="Image1" width="800" height="494"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbb0c5xd4r3cmx6vn14d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgbb0c5xd4r3cmx6vn14d.png" alt="Image1" width="458" height="222"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enable the application control on firewall policy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjm81fl341dfauj242imv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjm81fl341dfauj242imv.png" alt="Image1" width="800" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The capabilities of the firewall were extended on Day 6 from just permitting or rejecting traffic to intelligently regulating its quality and security.  Through the configuration of Web Filtering and Application Control, I implemented regulations that shield users from damaging information, minimize their exposure to malware and phishing, and maximize bandwidth for apps that are essential to the operation of the business.  By taking this step, network hygiene was improved overall, and administrators gained more exact control over how users interact with apps and the internet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Success Goal Achieved
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;successfully developed and implemented web filtering rules to limit undesirable or dangerous website categories.&lt;/li&gt;
&lt;li&gt; Application control profiles were enabled to limit bandwidth-intensive or high-risk apps and govern application usage.&lt;/li&gt;
&lt;li&gt; To guarantee real-time enforcement, these functionalities were incorporated into firewall policies.&lt;/li&gt;
&lt;li&gt; By evaluating traffic behavior against the policies and simulating events, the settings were confirmed.&lt;/li&gt;
&lt;li&gt; improved user security, adherence to regulations, and effective use of network resources.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lessons Learned&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;**Firewall policies are not enough: **adding security profiles provides deeper visibility and enforcement at the content and application level.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web filtering categories matter:&lt;/strong&gt; choosing the right categories avoids overblocking legitimate sites while still protecting against risks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Application signatures are dynamic:&lt;/strong&gt; keeping them updated is crucial since apps frequently change behavior and traffic patterns.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User experience vs. security balance:&lt;/strong&gt; strict filtering improves safety but can frustrate users; careful tuning is essential.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Layered security is key:&lt;/strong&gt; when combined with NAT, firewall rules, and logging, profiles create a defense-in-depth strategy.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webfiltering</category>
      <category>appcontrol</category>
      <category>securebrowsing</category>
      <category>fortigatesecurity</category>
    </item>
    <item>
      <title>#DAY 5: Firewall Policies, NAT &amp; Logging</title>
      <dc:creator>Samuel Adeduntan </dc:creator>
      <pubDate>Tue, 07 Oct 2025 00:29:50 +0000</pubDate>
      <link>https://zeroday.forem.com/samueladeduntan/day-5-firewall-policies-nat-logging-4ofj</link>
      <guid>https://zeroday.forem.com/samueladeduntan/day-5-firewall-policies-nat-logging-4ofj</guid>
      <description>&lt;h2&gt;
  
  
  Securing Communication Through Policies and NAT
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;The foundation of a secure network is its firewall rules, which specify which traffic across various interfaces and zones is permitted or prohibited.  These policies enable access control, security rule enforcement, and communication prevention in a FortiGate firewall.  Network Address Translation (NAT), in conjunction with policies, is essential because it allows internal devices to access external networks while concealing private IP addresses.&lt;/p&gt;

&lt;p&gt;Logging is equally crucial since it offers insight into traffic patterns, the application of rules, and possible dangers.  Issues may go unreported without logging, making it challenging to identify harmful behavior or troubleshoot problems.&lt;/p&gt;

&lt;p&gt;This phase involved using NAT to enable secure internet access, setting up firewall settings to control communication between LAN and WAN, and turning on thorough logging for auditing and monitoring.  As a crucial line of protection for the deployment as a whole, these actions made sure that network traffic was both safe and traceable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding default behavior
&lt;/h2&gt;

&lt;p&gt;Firewall policies, NAT, and logging are essential components of network security. Understanding their default behavior is critical for effective configuration and troubleshooting. Firewall has a default policy called implicit deny, which is to deny every traffic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating a basic internet access policy&lt;/strong&gt;&lt;br&gt;
Establish the categories of permitted and limited access, set up user authentication if necessary, and make sure that appropriate logs and compliance monitoring are in place in order to establish a basic internet access policy.&lt;/p&gt;

&lt;p&gt;How to create a simple policy for the firewall to allow the device to get connected to the internet → Name, Schedule, and action → Schedule → Source &amp;amp; Destination → Logging option&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3bez1sl62615t1v0soqk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3bez1sl62615t1v0soqk.png" alt="Image1" width="374" height="278"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Name, Schedule and action&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcxiwcx932uuwo1u4mg8n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcxiwcx932uuwo1u4mg8n.png" alt="Image1" width="800" height="259"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Schedule&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4zvvsfux8bfsl9ekh6ht.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4zvvsfux8bfsl9ekh6ht.png" alt="Image1" width="530" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Source &amp;amp; Destination&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fga2vh14kg6o00hlmjzuj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fga2vh14kg6o00hlmjzuj.png" alt="Image1" width="551" height="153"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2o7wxlb1xjmknbitjhql.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2o7wxlb1xjmknbitjhql.png" alt="Image1" width="495" height="492"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fny03kbg2vun48fdjr65l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fny03kbg2vun48fdjr65l.png" alt="Image1" width="464" height="261"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Logging option&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxqslbmjl9wo4l3d096u6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxqslbmjl9wo4l3d096u6.png" alt="Image1" width="512" height="252"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhc7ful1ynhoek1dsf3qz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhc7ful1ynhoek1dsf3qz.png" alt="Image1" width="511" height="298"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frnc0iohqxxtkz793d0py.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frnc0iohqxxtkz793d0py.png" alt="Image1" width="800" height="156"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verifying new policy operation&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simulate event traffic.&lt;/li&gt;
&lt;li&gt;Review Traffic Records.&lt;/li&gt;
&lt;li&gt;Confirm matching logs to verify successful rule application.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Back to my VM&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fru36z42oh9iouplzjfas.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fru36z42oh9iouplzjfas.png" alt="Image1" width="758" height="269"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8136ejb1qmq89dkkb7zc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8136ejb1qmq89dkkb7zc.png" alt="Image1" width="749" height="340"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trafic Records after I refresh the page&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmzr7lk74puhf52s9l1lg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmzr7lk74puhf52s9l1lg.png" alt="Image1" width="556" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvq1stbpb9pkfwuku5cz6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvq1stbpb9pkfwuku5cz6.png" alt="Image1" width="531" height="331"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To View the matching logs&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo8n3ch5nmow22yo2jt47.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo8n3ch5nmow22yo2jt47.png" alt="Image1" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Adding a new network interface
&lt;/h2&gt;

&lt;p&gt;Configure the new interface in the GUI.&lt;br&gt;
Assign to Internal Network port3 with proper IP setup.&lt;br&gt;
Verify changes from the overview page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fya7njmaf6ojkv19eyfsr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fya7njmaf6ojkv19eyfsr.png" alt="Image1" width="452" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6dzwoiva1agjqne90ni.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6dzwoiva1agjqne90ni.png" alt="Image1" width="457" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffc2b6c5rbjb8j2epeys9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffc2b6c5rbjb8j2epeys9.png" alt="Image1" width="458" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open the GUI and refresh the page&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvi4zf29z6dpjckn1tzmb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvi4zf29z6dpjckn1tzmb.png" alt="Image1" width="800" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Internal Network port3 configuration&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Famy680i2wpz86v84k26s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Famy680i2wpz86v84k26s.png" alt="Image1" width="528" height="347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Overview of the new interface added&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F28gdzussw807jcve40hl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F28gdzussw807jcve40hl.png" alt="Image1" width="800" height="284"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In order to reinforce the firewall's function as a gatekeeper and an enabler of secure communication, Day 5 was an essential step.  I was able to turn the FortiGate from a passive system into an active security enforcer by putting firewall regulations into place, turning on NAT for internal-to-external access, and setting up thorough logging.  In addition to controlling network traffic, this made sure that it was constantly monitored for compliance and threat visibility.&lt;/p&gt;

&lt;h2&gt;
  
  
  Success Goal Achieved
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;successfully developed and implemented firewall rules to control communication between LANs and WANs.&lt;/li&gt;
&lt;li&gt; NAT was enabled to conceal private IPs and give internal hosts safe access to the internet.&lt;/li&gt;
&lt;li&gt; Set up logging to monitor, examine, and diagnose all important network operations.&lt;/li&gt;
&lt;li&gt; Real-time traffic simulation and log examination were used to confirm the efficacy of the regulation.&lt;/li&gt;
&lt;li&gt; Added a third interface (port 3) to the configuration in order to segment the internal network.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lessons Learned&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implicit deny is always in use.  Traffic will be prohibited unless each new policy is clearly established.&lt;/li&gt;
&lt;li&gt; In order to safeguard private networks, NAT is a must for real-world internet access.&lt;/li&gt;
&lt;li&gt; Without logging, troubleshooting and auditing are practically impossible. Logging is the firewall's memory.&lt;/li&gt;
&lt;li&gt; The order in which the rules are set up has a direct impact on how traffic is handled.&lt;/li&gt;
&lt;li&gt; In order to prevent conflicts, proper IP assignment and consistent documentation are necessary when planning for network expansion and adding new interfaces.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>firewallpolicies</category>
      <category>networknat</category>
      <category>securecommunication</category>
      <category>fortigatesecurity</category>
    </item>
    <item>
      <title>#DAY 4: Interfaces &amp; Internal Network Setup</title>
      <dc:creator>Samuel Adeduntan </dc:creator>
      <pubDate>Tue, 07 Oct 2025 00:29:34 +0000</pubDate>
      <link>https://zeroday.forem.com/samueladeduntan/day-4-interfaces-internal-network-setup-3176</link>
      <guid>https://zeroday.forem.com/samueladeduntan/day-4-interfaces-internal-network-setup-3176</guid>
      <description>&lt;h2&gt;
  
  
  Defining Connections for Secure Communication
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;To regulate the flow of data between various network segments, a FortiGate firewall depends on interfaces that are set correctly.  Interface setup has a direct impact on security and performance since they serve as the points of connection for management, external, and internal traffic.  Communication between devices stays safe, dependable, and in line with the original network design when they are set up properly.&lt;/p&gt;

&lt;p&gt;I concentrated on establishing the internal network configuration during this phase by giving interfaces IP addresses, dividing traffic, and implementing security zones.  This created a safe framework for network communication, made it possible for detailed policy control, and clearly distinguished between internal and external resources.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Objective&lt;/strong&gt;&lt;br&gt;
On Day 4, I focused on establishing the internal network configuration by assigning IP addresses, disabling unnecessary DHCP services, and creating secure communication zones. This setup allowed clear segmentation of resources, reliable connectivity testing, and groundwork for traffic control policies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fortigate Firward Dashboard Overview
&lt;/h2&gt;

&lt;p&gt;Once logged into the GUI, the dashboard overview provided visibility into the existing configuration and available interfaces.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuzsfrxbcdcr6oxarwyn6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuzsfrxbcdcr6oxarwyn6.png" alt="Image1" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Configuring additional interfaces
&lt;/h2&gt;

&lt;p&gt;Configuring Additional Interfaces. I Added a second network adapter to the FortiGate VM through the virtualization platform.&lt;br&gt;
In the FortiGate GUI, navigated to:&lt;br&gt;
Network → Interfaces → Create New&lt;/p&gt;

&lt;p&gt;Created and named the new interface (port2), then assigned it to the internal network segment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsaju7sf2sluwnww20zdg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsaju7sf2sluwnww20zdg.png" alt="Image" width="454" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fygbzkuf0j2kqsxqut7ca.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fygbzkuf0j2kqsxqut7ca.png" alt="Image1" width="450" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;→ Adding a new Network → Creating a new network interface &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F76vyqu54sqplc1bxvjbu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F76vyqu54sqplc1bxvjbu.png" alt="Image1" width="800" height="482"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpqj1hul4vzl0x0ypwvh7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpqj1hul4vzl0x0ypwvh7.png" alt="Image1" width="362" height="321"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fka4nk1stpt0iqtgglera.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fka4nk1stpt0iqtgglera.png" alt="Image1" width="358" height="319"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4axn6h0727ifbby60t3h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4axn6h0727ifbby60t3h.png" alt="Image1" width="361" height="321"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkuspkoli1o2dvcnvw5iy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkuspkoli1o2dvcnvw5iy.png" alt="Image1" width="358" height="319"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbqrulqltr513egfb303y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbqrulqltr513egfb303y.png" alt="Image1" width="364" height="322"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;→ Disabling the DHCP &lt;br&gt;
Disabled the DHCP service on the internal interface to maintain manual IP control and avoid conflicts. This ensured that IP assignment would remain consistent and predictable across devices.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flvi6w9j0rdmc3it0cy5j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flvi6w9j0rdmc3it0cy5j.png" alt="Image1" width="360" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Assigning IP to client VM&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmqbr7j0j1gw8benxatp8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmqbr7j0j1gw8benxatp8.png" alt="Image1" width="800" height="491"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Power On the VM&lt;/strong&gt;&lt;br&gt;
Turn on the VM to see if the firewall has assigned an IP to the VM → Ping, to check the connectivity of the two devices&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmhwk0rxq4kcdixt1fizs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmhwk0rxq4kcdixt1fizs.png" alt="Image1" width="322" height="262"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Access the firewall GUI from the web browser&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmr54etlo58tlmrxmoj9b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmr54etlo58tlmrxmoj9b.png" alt="Image1" width="771" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbhofwg1pda8u25ynvhsf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbhofwg1pda8u25ynvhsf.png" alt="Image1" width="222" height="148"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dashboard Overview&lt;/strong&gt;&lt;br&gt;
This confirmed correct routing and access through the second network interface.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6aycu7vaxwyka51qb27c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6aycu7vaxwyka51qb27c.png" alt="Image1" width="800" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Setting up the network interface for port 2 on the firewall&lt;br&gt;
This was the second Network Adapter I configured on the VM., I need to set it up here on the firewall as well, with the IP address&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwfnohc37gu0no7gmgmbi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwfnohc37gu0no7gmgmbi.png" alt="Image1" width="800" height="340"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9r2nri40tsfshtdpm6d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9r2nri40tsfshtdpm6d.png" alt="Image1" width="559" height="513"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Editing Interface Settings&lt;/strong&gt;&lt;br&gt;
Edited port2 properties to fine-tune roles and services:&lt;br&gt;
Allowed access: HTTPS, PING, SSH (restricted to internal use). Assigned descriptive alias: Internal LAN.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuzj92i8row5rypqnqt7i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuzj92i8row5rypqnqt7i.png" alt="Image1" width="505" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhy5xi1qdkmc6kgdkr2h7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhy5xi1qdkmc6kgdkr2h7.png" alt="Image1" width="514" height="248"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ping, to check the connectivity of the two devices&lt;/strong&gt;&lt;br&gt;
These tests verified that internal devices could reach the firewall and that routing was correctly established.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkkauevug0x649gwmncxp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkkauevug0x649gwmncxp.png" alt="Image1" width="566" height="293"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Traffic shaping &amp;amp; interface roles
&lt;/h2&gt;

&lt;p&gt;Defined the roles of the two network interfaces:&lt;/p&gt;

&lt;p&gt;Port1 (Administrative/External): Management + Internet-facing.&lt;br&gt;
Port2 (Internal): LAN connectivity and internal device protection.&lt;/p&gt;

&lt;p&gt;Implemented basic traffic shaping policies to ensure fair resource usage across the two interfaces.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqlts2uaznb6jtuztaehh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqlts2uaznb6jtuztaehh.png" alt="Image1" width="399" height="247"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Traffic Shaping → The two network interfaces: The administrative Network interface, the  Internal Network interface&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fc2zk3l76dtb9jpeiuj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fc2zk3l76dtb9jpeiuj.png" alt="Image1" width="800" height="276"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The successful configuration of internal interfaces and network segmentation marked the end of day four.  I created a safe and dependable internal network foundation by designating responsibilities for every interface, turning off DHCP, and allocating static IPs.  These setups made it possible for seamless communication, policy-based management, and the eventual expansion into more complex firewall rules.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;- Security through Segmentation:&lt;/strong&gt; By keeping internal traffic and management apart, the attack surface is decreased.&lt;br&gt;
&lt;strong&gt;-  Manual IP Control:&lt;/strong&gt; By turning off DHCP on the firewall, lab setups can avoid unforeseen problems.&lt;br&gt;
&lt;strong&gt;-  Connectivity Verification:&lt;/strong&gt; Routing and access may be verified with ease using basic ping tests.&lt;br&gt;
&lt;strong&gt;-  Interface Roles:&lt;/strong&gt; Creating security policies is made easier with a clear division between internal and external roles.&lt;/p&gt;

</description>
      <category>networkinterfaces</category>
      <category>secureconnectivity</category>
      <category>fortigatesetup</category>
      <category>cyberinfrastructure</category>
    </item>
    <item>
      <title>#DAY 3: Accessing GUI, Licensing, and Patching</title>
      <dc:creator>Samuel Adeduntan </dc:creator>
      <pubDate>Tue, 07 Oct 2025 00:29:17 +0000</pubDate>
      <link>https://zeroday.forem.com/samueladeduntan/day-3-accessing-gui-licensing-and-patching-dl7</link>
      <guid>https://zeroday.forem.com/samueladeduntan/day-3-accessing-gui-licensing-and-patching-dl7</guid>
      <description>&lt;h2&gt;
  
  
  Managing GUI Access, License Activation, and Firmware Updates
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Making sure the system is licensed and up to date, as well as having safe access to the management interface, are the first steps in properly managing a FortiGate firewall.  An easy-to-use platform for firewall administration, monitoring, and configuration is offered by the GUI (Graphical User Interface).  In order to preserve security and stop unwanted modifications, access to the GUI must be properly managed.&lt;/p&gt;

&lt;p&gt;Advanced FortiGuard functions like intrusion prevention, web filtering, antivirus protection, and application management are also unlocked by activating licenses, and these enhance the firewall's security posture considerably.  Because it offers stability advantages, feature enhancements, and defense against recently found vulnerabilities, upgrading the firmware regularly is equally important.&lt;/p&gt;

&lt;p&gt;I concentrated on three main duties during this phase: deploying firmware upgrades, managing and activating licenses, and securing GUI access.  When combined, these actions guaranteed that the firewall was current, fully operational, and prepared to provide enterprise-level security.&lt;/p&gt;

&lt;h2&gt;
  
  
  Accessing GUI, Licensing, and Patching
&lt;/h2&gt;

&lt;p&gt;Managing GUI Access&lt;/p&gt;

&lt;p&gt;I accessed the firewall’s Graphical User Interface (GUI) through the management interface using a web browser (HTTPS).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Accessing the Firewall Dashboard&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcggwqajf7xff05ljx8ic.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcggwqajf7xff05ljx8ic.png" alt="Image1" width="788" height="497"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I logged in with secure credentials to configure policies, monitor logs, and manage system settings.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp9n7j07upx42k9vh87qt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp9n7j07upx42k9vh87qt.png" alt="Image1" width="396" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;FortiGate license page&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F06ypi4z2ykmbz3jybu68.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F06ypi4z2ykmbz3jybu68.png" alt="Image1" width="800" height="386"&gt;&lt;/a&gt;&lt;br&gt;
I ensured that GUI access was restricted to trusted IPs within the internal network to reduce exposure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;License Activation&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I activated the firewall licenses to enable advanced features such as IPS, web filtering, application control, and VPN capabilities.&lt;/li&gt;
&lt;li&gt;The activation was completed directly through the GUI with internet connectivity, but I also validated the option of uploading an offline license file.&lt;/li&gt;
&lt;li&gt;I confirmed that license validation allowed continued access to updates, security signatures, and vendor support.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyn3m5hxym3qdrv4owtt1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyn3m5hxym3qdrv4owtt1.png" alt="Image1" width="800" height="507"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsubzmy7h1oj97xm06dn0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsubzmy7h1oj97xm06dn0.png" alt="Image1" width="525" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;System Rebooting&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F341efosqc6v5i6aaqhsq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F341efosqc6v5i6aaqhsq.png" alt="Image1" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgfhl7m30qvrlfq8bmbts.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgfhl7m30qvrlfq8bmbts.png" alt="Image1" width="306" height="188"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Firmware Updates (Patching)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I performed firmware upgrades to patch vulnerabilities, improve stability, and gain new features.&lt;/li&gt;
&lt;li&gt;The updates were scheduled and applied from the GUI after downloading the latest firmware.&lt;/li&gt;
&lt;li&gt;I carried out the updates during a safe maintenance window, ensuring that backup configurations were saved for rollback if required.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnf80r6cgrac5xoycm745.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnf80r6cgrac5xoycm745.png" alt="Image1" width="393" height="218"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwlhs3kl27acufbft3snr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwlhs3kl27acufbft3snr.png" alt="Image1" width="800" height="150"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Automatic Patch Upgrade&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsg8zltmjr9pds0vj0r8e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsg8zltmjr9pds0vj0r8e.png" alt="Image1" width="800" height="319"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffg9qlprqqtiajx0ng1lf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffg9qlprqqtiajx0ng1lf.png" alt="Image1" width="454" height="206"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flpr7zu1ztz5s3lg0xfqq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flpr7zu1ztz5s3lg0xfqq.png" alt="Image1" width="800" height="296"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>fortigatemanagement</category>
      <category>firewallupdates</category>
      <category>networksecurityops</category>
      <category>cyberdefensetools</category>
    </item>
    <item>
      <title>#DAY 2: Basic FortiGate Configuration</title>
      <dc:creator>Samuel Adeduntan </dc:creator>
      <pubDate>Tue, 07 Oct 2025 00:28:59 +0000</pubDate>
      <link>https://zeroday.forem.com/samueladeduntan/day-2-basic-fortigate-configuration-32ek</link>
      <guid>https://zeroday.forem.com/samueladeduntan/day-2-basic-fortigate-configuration-32ek</guid>
      <description>&lt;h2&gt;
  
  
  Establishing Core Security Settings
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;The next crucial step after installing the FortiGate firewall is to complete the fundamental setup that provides secure connectivity and lays the groundwork for more sophisticated functionality.  The device may effectively manage traffic, safeguard internal resources, and offer visibility into network activity if it is initially configured correctly.&lt;/p&gt;

&lt;p&gt;During this stage, I concentrated on setting up fundamental configurations, including user access controls, firewall policies, network interfaces, and routing.  By establishing a foundation for safe internet access, traffic filtering, and system monitoring, these setups made it possible to later deploy more sophisticated security features like intrusion prevention, web filtering, and VPNs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Objective&lt;/strong&gt;&lt;br&gt;
I concentrated on creating firewall policies, interface assignments, routing, and basic access settings on Day 2.  By establishing a baseline for traffic filtering, monitoring, and safe internet access, these actions prepared the ground for the later implementation of more sophisticated security services like VPNs, intrusion prevention (IPS), and web filtering.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enter the default Login credentials
&lt;/h2&gt;

&lt;p&gt;Login Credentials: Upon first boot, I accessed the FortiGate VM using the default credentials:&lt;br&gt;
Username: admin&lt;br&gt;
Password: (blank, press Enter)&lt;/p&gt;

&lt;p&gt;This granted access to the CLI for initial setup.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F787sye4sx8xcftkj5rpd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F787sye4sx8xcftkj5rpd.png" alt="Image1" width="496" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F92vbazyvs9vfhv0m5s0c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F92vbazyvs9vfhv0m5s0c.png" alt="Image1" width="633" height="247"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Port configuration&lt;/strong&gt;&lt;br&gt;
Identifying FortiGate VM IP Address: To configure the network interfaces, I first located the default IP address assigned to the management port.&lt;/p&gt;

&lt;p&gt;The command get system interface physical was used to view available interfaces and their IPs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flwvrqx4sumoldmxwg7oe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flwvrqx4sumoldmxwg7oe.png" alt="Image1" width="697" height="513"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Port Configuration&lt;/p&gt;

&lt;p&gt;Using CLI, I configured the management and internal interfaces.&lt;/p&gt;

&lt;p&gt;config system interface&lt;br&gt;
    edit port1&lt;br&gt;
        set ip 192.168.1.99/24&lt;br&gt;
        set allowaccess ping http https ssh&lt;br&gt;
    next&lt;br&gt;
    edit port2&lt;br&gt;
        set ip 10.0.0.1/24&lt;br&gt;
    next&lt;br&gt;
end&lt;/p&gt;

&lt;p&gt;Inputting the prot configuration script&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhb7c5d5j4und11vphu11.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhb7c5d5j4und11vphu11.png" alt="Image1" width="756" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fozugnqd0syhwlwonwh6g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fozugnqd0syhwlwonwh6g.png" alt="Image1" width="800" height="219"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This ensured the management port was reachable for web-based access, while port 2 connected to the internal LAN.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to get the gateway IP address&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpv6wqe1sx2hy49na2jt2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpv6wqe1sx2hy49na2jt2.png" alt="Image1" width="661" height="493"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjc5oqrteyhyammmif5n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjc5oqrteyhyammmif5n.png" alt="Image1" width="322" height="319"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Default gateway configuration&lt;/strong&gt;&lt;br&gt;
To allow internet connectivity, I set the default route:&lt;/p&gt;

&lt;p&gt;config router static&lt;br&gt;
    edit 1&lt;br&gt;
        set gateway 192.168.1.1&lt;br&gt;
        set device port1&lt;br&gt;
    next&lt;br&gt;
end&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fngzmjoo2qcfbudf4oha6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fngzmjoo2qcfbudf4oha6.png" alt="Image1" width="800" height="232"&gt;&lt;/a&gt;&lt;br&gt;
This allowed outbound connections for updates and external communication.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DNS Configuration&lt;/strong&gt;&lt;br&gt;
I configured DNS servers to allow domain resolution using:&lt;/p&gt;

&lt;p&gt;config system dns&lt;br&gt;
    set primary 8.8.8.8&lt;br&gt;
    set secondary 8.8.4.4&lt;br&gt;
end&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx3g1y15prkq58b04hwvk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx3g1y15prkq58b04hwvk.png" alt="Image1" width="800" height="116"&gt;&lt;/a&gt;&lt;br&gt;
With this, the firewall could resolve domain names and support internet-bound traffic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Connecting to FortiGate VM GUI&lt;/strong&gt;&lt;br&gt;
After assigning the management port IP, I accessed the FortiGate Web GUI via a browser:&lt;br&gt;
URL: &lt;a href="https://192.168.1.99" rel="noopener noreferrer"&gt;https://192.168.1.99&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The login page loaded successfully, confirming GUI accessibility.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspbnt4dxds0mw1a0754l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspbnt4dxds0mw1a0754l.png" alt="Image1" width="392" height="297"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;By the end of the second day, the FortiGate VM's baseline configuration was completely operational.  Web access to the firewall interface was confirmed, along with the successful configuration of essential elements such as user login, port setting, routing, and DNS.  This produced a safe and controllable environment that was prepared for more personalization and security strengthening.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;- CLI First, GUI Later:&lt;/strong&gt; While the CLI offers faster and more flexible initial setup, the GUI makes long-term management simpler.&lt;br&gt;
&lt;strong&gt;-  Gateway &amp;amp; DNS are Critical:&lt;/strong&gt; The firewall cannot resolve domains or interact externally without the gateway and DNS.&lt;br&gt;
&lt;strong&gt;- Best Practices for Access Control:&lt;/strong&gt; Always limit administrative access to IP addresses and ports that are trusted for administration.&lt;br&gt;
&lt;strong&gt;-  Structured Setup Flow:&lt;/strong&gt; Misconfigurations were decreased by adhering to a logical sequence (interfaces → gateway → DNS → GUI).&lt;/p&gt;

</description>
      <category>fortigatesetup</category>
      <category>coresecurity</category>
      <category>firewallconfiguration</category>
      <category>networkprotection</category>
    </item>
    <item>
      <title>#DAY 1: Gathering assets on FortiGate Firewall Deployment and Configuration journey</title>
      <dc:creator>Samuel Adeduntan </dc:creator>
      <pubDate>Tue, 07 Oct 2025 00:28:44 +0000</pubDate>
      <link>https://zeroday.forem.com/samueladeduntan/day-1-gathering-assets-on-fortigate-firewall-deployment-and-configuration-journey-37lm</link>
      <guid>https://zeroday.forem.com/samueladeduntan/day-1-gathering-assets-on-fortigate-firewall-deployment-and-configuration-journey-37lm</guid>
      <description>&lt;h2&gt;
  
  
  Gathering Essentials for a Successful Firewall Setup
&lt;/h2&gt;

&lt;p&gt;Introduction&lt;/p&gt;

&lt;p&gt;In order to provide a secure network environment, a FortiGate Firewall must be installed.  FortiGate is an enterprise-grade security system with strong features like application control, VPN connectivity, intrusion prevention, and traffic filtering.  From obtaining the virtual image to deploying it in a virtualized environment, I followed a methodical, step-by-step installation process to obtain hands-on experience.&lt;/p&gt;

&lt;p&gt;The main goals of this step were to set up the firewall image, prepare system resources, and make sure there was adequate connectivity for first access.  The platform for later customizations, including interface assignments, security rules, and routing, was made available by the installation's successful completion.&lt;/p&gt;

&lt;h2&gt;
  
  
  Objective
&lt;/h2&gt;

&lt;p&gt;I concentrated on the preliminary setup and installation procedure on Day 1.  Getting the firewall image, configuring system resources, and making sure there was enough connectivity for first access were all part of this.  Additional configuration chores, such as interface assignments, firewall policies, and routing setup, were made possible by the installation's successful completion.&lt;/p&gt;

&lt;h2&gt;
  
  
  FortiGate Firewall Installation Procedure
&lt;/h2&gt;

&lt;p&gt;Account Creation &amp;amp; Image Download: I first created a user account on the Fortinet Support Portal with my login credentials.&lt;/p&gt;

&lt;p&gt;Navigated to the download section and selected the latest FortiGate VM image for VMware ESXi.&lt;/p&gt;

&lt;p&gt;Downloaded Asset:A ZIP file containing the FortiGate VM image.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxgk6wud9wof0j3v9q4bq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxgk6wud9wof0j3v9q4bq.png" alt="Image1" width="800" height="328"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl8z1fuvyff1nodddl3uv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl8z1fuvyff1nodddl3uv.png" alt="Image1" width="453" height="351"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuxt5rjhyxsfbclw42bbu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuxt5rjhyxsfbclw42bbu.png" alt="Image1" width="784" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Selecting the latest version of FortiGate on VMWare ESXi to be downloaded&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp307tb93uihwl72gnsg5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp307tb93uihwl72gnsg5.png" alt="Image1" width="800" height="368"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The downloaded zip file of the VM image&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffth9m8sdy6sijm040h78.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffth9m8sdy6sijm040h78.png" alt="Image1" width="666" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Extracting the VM image file&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj533wyfxekv61uks8iuu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj533wyfxekv61uks8iuu.png" alt="Image1" width="660" height="410"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Importing VM &amp;amp; Initial VM Setup
&lt;/h2&gt;

&lt;p&gt;Importing the FortiGate VM&lt;br&gt;
I open my VM to import the VM image → Select the image file, next accept the User license agreement → Name the VM and import”&lt;/p&gt;

&lt;p&gt;Open the VM to import by clicking on Open a virtual machine&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz5m9vmsiz2ng8e1oaonl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz5m9vmsiz2ng8e1oaonl.png" alt="Image1" width="800" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Selecting image&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuce8dgz5k7moe5yt3s0q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuce8dgz5k7moe5yt3s0q.png" alt="Image1" width="572" height="359"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Accept the license agreement&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ifnv1d9634kj165o9mr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ifnv1d9634kj165o9mr.png" alt="Image1" width="302" height="262"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Name the VM to FortiGate VM and import&lt;br&gt;
![Image1(&lt;a href="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ip4z7go30co2f55jtwwi.png" rel="noopener noreferrer"&gt;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ip4z7go30co2f55jtwwi.png&lt;/a&gt;)&lt;/p&gt;

&lt;h2&gt;
  
  
  Configuring my VM network adapters
&lt;/h2&gt;

&lt;p&gt;Network Configuration&lt;br&gt;
The process of establishing and maintaining the parameters and settings necessary for devices to communicate within a network is known as network setup.  This entails setting up routers, switches, and firewalls, allocating IP addresses, and making sure that the right security and connectivity procedures are followed. There are two types of firewall interface they are: - Management interface, monitoring interface, and internet interface - Other interfaces that connect to the private network&lt;/p&gt;

&lt;h2&gt;
  
  
  Types of Firewall Interfaces
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Management / Monitoring / Internet Interface&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This interface is primarily used for administration, monitoring, and external internet connectivity.&lt;/li&gt;
&lt;li&gt;It allows administrators to log in, configure the firewall, and ensure communication with external/public networks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Private / Internal Interfaces&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;These interfaces connect to the internal or private network segments.&lt;/li&gt;
&lt;li&gt;They provide secure communication between internal hosts, servers, and other network devices, ensuring segmentation and controlled access.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhhkqhfb2qm4v4lzw91nr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhhkqhfb2qm4v4lzw91nr.png" alt="Image1" width="800" height="410"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk4xoi3h9ef5r22kkdttl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk4xoi3h9ef5r22kkdttl.png" alt="Image1" width="459" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Power On the VM&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3qcg8efkt7yekwb806qx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3qcg8efkt7yekwb806qx.png" alt="Image1" width="381" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The FortiGate virtual machine was successfully installed in the virtualized environment at the end of the first day.  I made sure the firewall was prepared for additional customization and security hardening in the following stages by finishing the installation and initial setup.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;- Preparation First: *&lt;em&gt;The import procedure was made easier by having the appropriate virtual machine image and license files on hand.&lt;br&gt;
*&lt;/em&gt;- Learn about Interfaces:&lt;/strong&gt; To prevent misconfiguration, it was essential to understand the difference between private and administration interfaces.&lt;br&gt;
&lt;strong&gt;- Compatibility and Licensing:&lt;/strong&gt; For a seamless deployment, FortiGate virtual machine versions must correspond with the virtualization platform.&lt;br&gt;
&lt;strong&gt;- Practical Application:&lt;/strong&gt; Experiential implementation yielded a more profound comprehension than merely theoretical research.&lt;/p&gt;

</description>
      <category>fortigatedeployment</category>
      <category>firewallconfiguration</category>
      <category>networkdefense</category>
      <category>cybersecurityjourney</category>
    </item>
    <item>
      <title>#Pre-Day 1: Preparation</title>
      <dc:creator>Samuel Adeduntan </dc:creator>
      <pubDate>Tue, 07 Oct 2025 00:28:24 +0000</pubDate>
      <link>https://zeroday.forem.com/samueladeduntan/pre-day-1-preparation-ab6</link>
      <guid>https://zeroday.forem.com/samueladeduntan/pre-day-1-preparation-ab6</guid>
      <description>&lt;p&gt;Introduction&lt;/p&gt;

&lt;p&gt;As the first line of defense against malicious traffic, illegal access, and potential breaches, firewalls continue to be a fundamental component of network security.  I deployed and configured a FortiGate firewall in a virtualized environment to deepen my expertise in enterprise-grade security solutions.&lt;/p&gt;

&lt;p&gt;This project followed a methodical process that began with image deployment and preparation, followed by network configuration, policy development, and security service integration.  I was able to get practical experience with key FortiGate functions, including interface administration, firewall rules, NAT setup, and traffic monitoring by completing each step.&lt;/p&gt;

&lt;p&gt;My technical abilities were improved by the deployment, which also reaffirmed recommended firewall setup methods that strike a balance between security, usability, and performance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Some of the security policies we can use a firewall to implement on endpoint devices
&lt;/h2&gt;

&lt;p&gt;Firewalls can enforce several security policies on endpoint devices to enhance their protection and ensure secure network communication. These policies include:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Access Control&lt;/strong&gt;: By limiting or permitting access to particular programs, services, or websites in accordance with pre-established regulations, firewalls can stop unwanted access to private information.&lt;/p&gt;

&lt;p&gt;Incoming and outgoing network traffic is monitored and filtered by &lt;strong&gt;Network Traffic Filtering&lt;/strong&gt;, which stops suspicious or harmful activity like malware or phishing attempts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Application Control&lt;/strong&gt;: To guarantee adherence to corporate security guidelines, firewalls might impose rules that restrict or prohibit the use of specific programs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Intrusion Prevention&lt;/strong&gt;: Firewalls can identify and stop intrusion attempts by examining traffic patterns, shielding endpoint devices from outside threats.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;VPN Enforcement&lt;/strong&gt;: To ensure encrypted communication, firewalls might mandate the usage of virtual private networks (VPNs) for safe remote access.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Content Filtering&lt;/strong&gt;: By limiting access to offensive or dangerous content, policies might lower the chance of being exposed to dangers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Device Isolation&lt;/strong&gt;: To stop threats from spreading, firewalls can separate compromised or non-compliant endpoint devices from the network.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Loss Prevention (DLP)&lt;/strong&gt;: Firewalls can include rules to stop private information from being sent outside the network without permission.&lt;/p&gt;

&lt;p&gt;Firewalls are essential for protecting endpoint devices and maintaining network security by implementing these regulations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The foundation of my FortiGate firewall deployment was preparation.  I ensured I had the necessary framework for an organized and successful deployment by assembling resources and reviewing the fundamental security rules that firewalls enforce.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lessons Learned&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Success Is Defined by Preparation:&lt;/strong&gt; Compiling images, licenses, and network information in advance decreased deployment errors.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Policy Knowledge Is Essential: *&lt;/em&gt; It became clearer how each setup step relates to actual security requirements after learning about firewall-enforceable policies.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;The Key Is Balance: *&lt;/em&gt; Robust firewall regulations must protect without unduly limiting lawful corporate activities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Endpoint Security Depends on the Firewall:&lt;/strong&gt; The security of devices is determined by the rules controlling their access and traffic.&lt;/p&gt;

</description>
      <category>fortigatefirewall</category>
      <category>networksecurity</category>
      <category>firewalldeployment</category>
      <category>cyberdefense</category>
    </item>
    <item>
      <title>My Hands-On Experience with Network Monitoring Using PRTG</title>
      <dc:creator>Samuel Adeduntan </dc:creator>
      <pubDate>Mon, 06 Oct 2025 23:04:54 +0000</pubDate>
      <link>https://zeroday.forem.com/samueladeduntan/my-hands-on-experience-with-network-monitoring-using-prtg-3j1m</link>
      <guid>https://zeroday.forem.com/samueladeduntan/my-hands-on-experience-with-network-monitoring-using-prtg-3j1m</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;I began my journey with PRTG Network Monitor by installing it on a Windows Server with the aim of gaining practical experience in monitoring both servers and network devices. Once deployed, the tool provided me with the ability to track critical system resources such as RAM usage, storage health, and network performance. This setup gave me real-time visibility into the overall health of my environment and enabled me to respond quickly and effectively to potential issues.&lt;/p&gt;

&lt;h2&gt;
  
  
  Protocols
&lt;/h2&gt;

&lt;p&gt;During the setup, I learned that PRTG, like most monitoring tools, relied heavily on the Simple Network Management Protocol (SNMP) to collect logs and system information from endpoint devices. Understanding SNMP helped me appreciate how the tool communicated with different systems, regardless of vendor or operating system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;After downloading the installer, I completed the setup on my Windows Server. Once the installation finished, PRTG automatically launched a web interface on port 8080, using the machine’s IP address. From there, I accessed the login page and dashboard, which became my control center for all monitoring activities.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp693qdwfrlsmyw9lcd4o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp693qdwfrlsmyw9lcd4o.png" alt="Image1" width="783" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqzqal55oqsnrcj2ym1vt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqzqal55oqsnrcj2ym1vt.png" alt="Image2" width="701" height="257"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftd54u44dv4ngr8cokxka.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftd54u44dv4ngr8cokxka.png" alt="Image3" width="754" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faf37k5736d04j5k2zaea.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faf37k5736d04j5k2zaea.png" alt="Image4" width="400" height="319"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Installation Completed *&lt;/em&gt;&lt;br&gt;
The moment the PRTG finish installing, it will automatically lunch a wbe instance. Its automatically pick the ip address of the machin and open port 8080, and then lunch the serveice on that same port 8080&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftp4dq6gj32bzdgu785zx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftp4dq6gj32bzdgu785zx.png" alt="Image5" width="673" height="296"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Login interface&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnx46tify8qpuq2r8r9hy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnx46tify8qpuq2r8r9hy.png" alt="Image1" width="515" height="343"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PRTG Dashboard Overview&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhz3319wp4jm3opxz8v5a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhz3319wp4jm3opxz8v5a.png" alt="Image1" width="699" height="316"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Device Monitoring
&lt;/h2&gt;

&lt;p&gt;I then began adding devices to my PRTG environment. I included both Windows and Linux machines. Using the auto-discovery feature, PRTG scanned the network and detected available systems. I configured specific services such as FTP and RDP as sensors.&lt;br&gt;
When I performed a deep scan on these devices, I was able to view detailed information such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hardware configuration.&lt;/li&gt;
&lt;li&gt;Installed software.&lt;/li&gt;
&lt;li&gt;Logged-in users.&lt;/li&gt;
&lt;li&gt;Active services.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This level of insight made troubleshooting much easier whenever a service had issues.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adding Linux Operating system&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhjlt084okz3tef69djls.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhjlt084okz3tef69djls.png" alt="Image1" width="707" height="190"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Basic Device settings&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjlnkgonv7ek022lj5bpo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjlnkgonv7ek022lj5bpo.png" alt="Image2" width="579" height="252"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Auto-discovery setting&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj0vm2emcsb5i1tt9ntb1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj0vm2emcsb5i1tt9ntb1.png" alt="Image2" width="780" height="234"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Configuration of specific services such as FTP and RDP as sensors.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh45iieq0ma6yc4rqm69w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh45iieq0ma6yc4rqm69w.png" alt="Image2" width="711" height="223"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Basic FTP sensor set up&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh65s2yr85a10lniit8cz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh65s2yr85a10lniit8cz.png" alt="Image3" width="714" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Succesfully added&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3zu6ybc28w1wqfc3q40b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3zu6ybc28w1wqfc3q40b.png" alt="Image4" width="560" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Adding a windows machine &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fij8fspg3gggsfehd5mwd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fij8fspg3gggsfehd5mwd.png" alt="Image5" width="800" height="368"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Windows server added with many sensors opened&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fflqirr3jew4vxwir4zr8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fflqirr3jew4vxwir4zr8.png" alt="Image5" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Exploring the functionality of the deep scan of PRTG on a particular device. For instance Windwos server
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fruajlxvxzgz9zbe0k10u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fruajlxvxzgz9zbe0k10u.png" alt="Image1" width="554" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;System inforation under the particular endpoint to be monitored&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1pyjvk3axi54cwccg2vz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1pyjvk3axi54cwccg2vz.png" alt="Image1" width="614" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hardware information&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faadfbhxlbhlcpkq1wzlo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faadfbhxlbhlcpkq1wzlo.png" alt="Image1" width="572" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Information about the Software that are running on the operating system&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2qoo1dft6cnbeqr6oymr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2qoo1dft6cnbeqr6oymr.png" alt="Image1" width="650" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Users on the system&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fez4v23ssbh6n3at1n3d3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fez4v23ssbh6n3at1n3d3.png" alt="Image1" width="651" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Details about the Services that are running on the endpoint&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdjz9xwd6fs5xf26dlj79.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdjz9xwd6fs5xf26dlj79.png" alt="Image1" width="744" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Service Monitoring &amp;amp; Alerts
&lt;/h2&gt;

&lt;p&gt;To test the alerting mechanism, I simulated failures. First, I turned off the Wazuh Agent service, and PRTG immediately flagged the issue with an alert. I also shut down the RDP protocol, and a warning notification popped up. Once I re-enabled the services, the alarms cleared automatically.&lt;/p&gt;

&lt;p&gt;I also learned how to pause a sensor. This was useful during scheduled maintenance because it prevented unnecessary alerts from repeatedly reporting a known service outage.&lt;/p&gt;

&lt;h2&gt;
  
  
  Simulation on how the promption notification look like during the service is downoutage, using wazuh agent as a case study.
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq6u127f12wxykbq7qht9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq6u127f12wxykbq7qht9.png" alt="Image1" width="584" height="305"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I Turned off the wazuh agent&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo6uonlwk4qx3rwce9grq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo6uonlwk4qx3rwce9grq.png" alt="Image1" width="800" height="307"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  RDP protocol Alert simulation
&lt;/h2&gt;

&lt;p&gt;To validate it, I simulated another event by shutting down RDP on the local server. Immediately, PRTG sent an alert, and a notification appeared in my Slack channel. This confirmed that my setup worked and that I could receive proactive alerts even without logging into the PRTG dashboard.&lt;/p&gt;

&lt;p&gt;Shoting down the RDP protocol&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3zk6oy19m1f6lcu8q049.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3zk6oy19m1f6lcu8q049.png" alt="Image1" width="747" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Alart of RDP protocol outage&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frgl0uctz7qjdotx1vwou.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frgl0uctz7qjdotx1vwou.png" alt="Image1" width="759" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I Turned On the RDP again&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg6vg72vsvxr4odxhrrds.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg6vg72vsvxr4odxhrrds.png" alt="Image1" width="379" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Linux System Monitoring
&lt;/h2&gt;

&lt;p&gt;I extended my monitoring to a Linux environment. For example, I started the FTP service on my Kali Linux machine and added it as a monitored sensor in PRTG. Just like with Windows, the tool gave me system details, which proved how well PRTG handled cross-platform monitoring.&lt;/p&gt;

&lt;p&gt;I Start up the FTP port on kali&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8zjni0xnt9lfj6he5ru7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8zjni0xnt9lfj6he5ru7.png" alt="Image1" width="709" height="177"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Notifications &amp;amp; Integrations
&lt;/h2&gt;

&lt;p&gt;Finally, I explored integrating notifications with Slack. I created a new Slack workspace and channel, then generated an incoming webhook URL. After linking this webhook to PRTG, I set up a notification template.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How I set up notification trigger&lt;/strong&gt;: I Created a new workspace on slack.com&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Filcwn85i448wm7fqrob3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Filcwn85i448wm7fqrob3.png" alt="Image1" width="735" height="295"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1e1l1xi0tnu4819s0jj4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1e1l1xi0tnu4819s0jj4.png" alt="Image2" width="800" height="294"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw2eckb8tz0nqvnhvx9ij.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw2eckb8tz0nqvnhvx9ij.png" alt="Image3 description" width="709" height="295"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjmn77vwsbhlv3kmo8hws.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjmn77vwsbhlv3kmo8hws.png" alt="Image4" width="394" height="221"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Slack Dashboard Overview&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdoatitcxyb5s6bhc79kc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdoatitcxyb5s6bhc79kc.png" alt="Image1" width="748" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Creating a New channel &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbp6onzxn3rsqgjk75wwj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbp6onzxn3rsqgjk75wwj.png" alt="Image1" width="688" height="351"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How I generated the webhook URL&lt;br&gt;
Why do we need webhook URL?&lt;br&gt;
Webhook are a way to post messages from apps into slack. Creating an incoming webhook gives you a unique URL to which you send a JSON payload with the message text and some options&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4mzwdjapai1d0gxshn5a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4mzwdjapai1d0gxshn5a.png" alt="Image1" width="560" height="245"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Creating the slck app. The slack app is meant to be linked to your slack channel&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjxx50g8bgwrfmx8rqujr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjxx50g8bgwrfmx8rqujr.png" alt="Image1" width="772" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsqvhp8ckijn07mbgwbl9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsqvhp8ckijn07mbgwbl9.png" alt="Image2" width="513" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Febpz3s75bgachhk3imbi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Febpz3s75bgachhk3imbi.png" alt="Image3" width="725" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I had to Select the name name of the channel on the app&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsc518gl5rjp5uuwo41r5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsc518gl5rjp5uuwo41r5.png" alt="Image1" width="741" height="296"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Copied the webhook url&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9wccdergh61iyve13no4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9wccdergh61iyve13no4.png" alt="Image1" width="761" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How I connected the generated webhook URL to PRTG instance&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F85ugrup3bn1qqtxuegc6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F85ugrup3bn1qqtxuegc6.png" alt="Image1" width="769" height="359"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Setting up the notification policy template&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8rki3c2w5jgnvovj74fh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8rki3c2w5jgnvovj74fh.png" alt="Image1" width="674" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6lwcy3vl68afdt98m8bp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6lwcy3vl68afdt98m8bp.png" alt="Image2" width="735" height="198"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simulation of an event&lt;/strong&gt;: I Stoped the RDP service on the local server&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvna60tdxwe4bebr6k0dw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvna60tdxwe4bebr6k0dw.png" alt="Image3" width="640" height="307"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Event simulation notification after RDP was turned off&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm6qpvs3357tzzjazcy1u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm6qpvs3357tzzjazcy1u.png" alt="Image1" width="763" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I turned ON the RDP service back &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2r7qzuvo3gdzevyd6d3l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2r7qzuvo3gdzevyd6d3l.png" alt="Image1" width="721" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion &amp;amp; Success Goal Achieved
&lt;/h2&gt;

&lt;p&gt;Through this hands-on project, I successfully deployed and configured PRTG Network Monitor on a Windows Server, added both Windows and Linux machines, and validated system monitoring through proactive alerts. I tested different services such as FTP, RDP, and the Wazuh agent, and verified that the platform immediately detected outages, triggered alerts, and cleared them upon recovery.&lt;/p&gt;

&lt;p&gt;Finally, I integrated PRTG with Slack to receive real-time notifications outside the dashboard, making the monitoring setup more practical and responsive.&lt;/p&gt;

&lt;h2&gt;
  
  
  Success Goal Achieved
&lt;/h2&gt;

&lt;p&gt;The objective of using PRTG for multi-platform device monitoring, service tracking, and proactive notification delivery was fully accomplished. I built a monitoring environment that gave me visibility, alerts, and integrations that mirror enterprise practices.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;- PRTG Provides Deep Visibility:&lt;/strong&gt; Its auto-discovery and deep scan features gave insights into hardware, software, and active services across systems, reducing troubleshooting time.&lt;br&gt;
&lt;strong&gt;- Proactive Alerts Are Critical:&lt;/strong&gt; By simulating outages, I experienced how vital immediate notifications are in reducing downtime and improving response times.&lt;br&gt;
&lt;strong&gt;- Cross-Platform Monitoring Adds Value:&lt;/strong&gt; Being able to monitor both Windows and Linux environments under one platform broadened the system’s flexibility.&lt;br&gt;
&lt;strong&gt;- Integration Enhances Responsiveness:&lt;/strong&gt; Slack integration demonstrated the importance of pushing alerts into daily communication tools, ensuring no incident is missed.&lt;br&gt;
&lt;strong&gt;- Maintenance Considerations:&lt;/strong&gt; Pausing sensors during scheduled maintenance avoided alert fatigue and unnecessary notifications, a valuable practice for real-world operations.&lt;/p&gt;

</description>
      <category>prtgmonitoring</category>
      <category>networkmonitoring</category>
      <category>handsonexperience</category>
      <category>itinfrastructure</category>
    </item>
    <item>
      <title>#DAY 12: My Project Summary &amp; Learning Journey.</title>
      <dc:creator>Samuel Adeduntan </dc:creator>
      <pubDate>Mon, 06 Oct 2025 07:11:55 +0000</pubDate>
      <link>https://zeroday.forem.com/samueladeduntan/day-12-my-project-summary-learning-journey-4585</link>
      <guid>https://zeroday.forem.com/samueladeduntan/day-12-my-project-summary-learning-journey-4585</guid>
      <description>&lt;h2&gt;
  
  
  Project Summary: 12-Day Uptime Kuma Monitoring Deployment
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Over the course of twelve days, I designed, deployed, and refined a comprehensive monitoring framework using Uptime Kuma. This project began with foundational service checks and gradually expanded to include advanced monitoring techniques, cross-platform integration, real-time alerting, and external transparency through public status pages. Each phase introduced new layers of functionality that strengthened system reliability, enhanced visibility, and improved overall resilience.&lt;/p&gt;

&lt;p&gt;The journey was not only about building a monitoring system but also about gaining hands-on experience with incident simulations, automation, and proactive alerting. By the end of the twelve days, I had developed a holistic monitoring strategy capable of validating both availability and functionality while ensuring timely communication with stakeholders. This project served as both a technical achievement and a valuable learning journey that deepened my skills in system monitoring, infrastructure management, and operational readiness.&lt;/p&gt;

&lt;h2&gt;
  
  
  Executive Summary
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;My Goal&lt;/strong&gt;&lt;br&gt;
My goal was to design and implement a structured 12-day monitoring deployment using Uptime Kuma. I set out to build a system that went beyond basic availability checks by integrating advanced monitoring, proactive alerts, cross-platform visibility, and external transparency.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Achieved&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I successfully deployed a holistic monitoring framework that validated both service availability and functional reliability. Over the course of the project, I configured diverse monitors (HTTP, TCP, DNS, API JSON), integrated Telegram for real-time alerts, simulated outages to test readiness, and added a Windows host for cross-platform monitoring. I also enhanced security with a reverse proxy (Nginx) and built a public status page to communicate service health. Collectively, these achievements resulted in a resilient, transparent, and responsive monitoring environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  The System I Designed &amp;amp; Built
&lt;/h2&gt;

&lt;p&gt;To bring together all the elements of my 12-day monitoring project, I designed a unified system architecture that integrates monitoring, alerting, and security into a single framework. The system was built to ensure service reliability, proactive detection of issues, and transparent communication with stakeholders.&lt;/p&gt;

&lt;p&gt;Here is the architecture diagram I created to visualize the system. It clearly illustrates how all the components I configured interact from monitored services, to the Uptime Kuma core, to Nginx as a reverse proxy, and onward to Telegram alerts and the public status page. This architecture highlights the flow of data, alerting mechanisms, and security layers that collectively strengthen the monitoring environment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvxeeh1wttv3ygt5lircm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvxeeh1wttv3ygt5lircm.png" alt="Image1" width="800" height="1200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Core Technologies Mastered:&lt;/strong&gt;&lt;br&gt;
Throughout this project, I gained hands-on experience and practical mastery of several core technologies that strengthened both my monitoring and systems administration skills:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Uptime Kuma:&lt;/strong&gt; Configured diverse monitors (HTTP, TCP, DNS, API JSON) and implemented public status pages for transparent service visibility.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nginx Reverse Proxy:&lt;/strong&gt; Deployed and configured Nginx for secure traffic routing, SSL termination, and reliability improvements.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Telegram Bot Integration:&lt;/strong&gt; Set up proactive real-time alerts for faster incident response.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Linux (Ubuntu and Kali):&lt;/strong&gt; Managed server configuration, service deployment, and troubleshooting within Linux environments.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Windows Host Monitoring:&lt;/strong&gt; Integrated Windows systems into a unified monitoring framework for cross-platform oversight.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Networking Protocols:&lt;/strong&gt; Applied knowledge of DNS, TCP, SSH, and HTTP for both internal and external service monitoring.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Incident Simulation &amp;amp; Response:&lt;/strong&gt; Conducted fire-drill outage tests to validate monitoring effectiveness and system readiness.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  My Day-by-Day Implementation Journey
&lt;/h2&gt;

&lt;p&gt;This was my phased approach, where each day I added a new, critical skill.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 1: Foundation:&lt;/strong&gt; I set up my Ubuntu Server 22.04 LTS VM with a static IP and installed Docker Engine. This was the bedrock of the entire project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 2: Core Deployment:&lt;/strong&gt; I ran Uptime Kuma as a Docker container for the first time, configuring persistent storage so my data wouldn't disappear on a reboot.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 3: Internal Monitoring:&lt;/strong&gt; I installed and configured services like FTP and SSH on my Linux server and created my first monitors in Uptime Kuma. I learned to validate my work by simulating outages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 4: Expansion &amp;amp; My First Big Hurdle:&lt;/strong&gt; I hit a snag with a Docker container naming conflict that broke my setup. This was a key learning moment: I troubleshooted by checking logs and ports, then used docker rm to resolve the conflict. This taught me real-world container management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 5: Proactive Alerting:&lt;/strong&gt; This was a game-changer. I integrated a Telegram Bot API, so my phone now gets push notifications the moment something goes down.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 6: Organization:&lt;/strong&gt; I organized all my monitors into clear groups and launched a public status page. This showed me the importance of usability and transparency in DevOps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 7: "Fire Drill":&lt;/strong&gt; I deliberately broke things! I stopped services to test my alerting system end-to-end. It worked perfectly, proving the system's reliability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 8 &amp;amp; 9: Conquering Cross-Platform Monitoring:&lt;/strong&gt; I added Windows machines to the mix. The challenge? Windows Firewall was blocking my probes. I solved this by creating custom inbound rules for ICMP and specific ports (80, 445), proving I can manage heterogeneous environments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 10: Advanced API Checks:&lt;/strong&gt; I moved beyond simple "up/down" checks by configuring a JSON Query monitor to validate the actual data returned by an API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 11: Security &amp;amp; Polish:&lt;/strong&gt; I installed Nginx as a reverse proxy and used Certbot to get a free Let's Encrypt SSL certificate for my custom domain (status.mydomain.com). This gave the project a professional, secure front-end.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quantifiable Infrastructure:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Service Types Monitored:&lt;/strong&gt; &lt;strong&gt;6+&lt;/strong&gt; (HTTP, HTTPS, TCP, Ping, DNS, JSON Query)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operating Systems Covered:&lt;/strong&gt; &lt;strong&gt;3&lt;/strong&gt; (Ubuntu Linux, Windows Server, Windows 10)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Individual Monitors Configured:&lt;/strong&gt; &lt;strong&gt;15+&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Notification Channel:&lt;/strong&gt; Telegram mobile push notifications.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Key Challenges I Overcame
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Docker Conflict (Day 4):&lt;/strong&gt; This taught me to always manage the full container lifecycle and not just run new instances without cleaning up the old.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Windows Firewall (Days 8 &amp;amp; 9):&lt;/strong&gt; I learned the intricacies of configuring host-based firewalls for monitoring, a critical skill for any sysadmin/DevOps role.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SSL Certificate (Day 10):&lt;/strong&gt; I learned that Certbot failures are often DNS-related. I verified my DNS records and firewall rules, which resolved the issue and granted me a trusted certificate.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Business Value I Delivered (Through This Project)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Proactive Awareness:&lt;/strong&gt; I transformed monitoring from a passive check into an active alerting system.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unified Visibility:&lt;/strong&gt; I now have a single pane of glass for the health of my Linux servers, Windows machines, and external APIs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rapid Response:&lt;/strong&gt; My MTTR (Mean Time To Resolution) is now near-zero thanks to instant mobile alerts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost Efficiency:&lt;/strong&gt; I built an enterprise-capable monitoring system for less than $10/month on a single VM, a fraction of the cost of commercial tools.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  My Evidence &amp;amp; Portfolio Checklist
&lt;/h2&gt;

&lt;p&gt;[Day 1] ──► Docker Installed&lt;br&gt;
           Terminal output on Ubuntu VM&lt;/p&gt;

&lt;p&gt;[Day 2] ──► Uptime Kuma Dashboard&lt;br&gt;
           Accessible via IP: Port&lt;/p&gt;

&lt;p&gt;[Day 3] ──► Monitor List&lt;br&gt;
           TCP checks for FTP &amp;amp; SSH&lt;/p&gt;

&lt;p&gt;[Day 5] ──► Telegram Bot Alerts&lt;br&gt;
           Successful test notifications&lt;/p&gt;

&lt;p&gt;[Day 6] ──► Monitor Groups + Public Page&lt;br&gt;
           Organized layout screenshot&lt;/p&gt;

&lt;p&gt;[Day 7] ──► Fire Drill Alert&lt;br&gt;
           Telegram outage + acknowledgment&lt;/p&gt;

&lt;p&gt;[Day 8 &amp;amp; 9] ──► Windows Host Monitors&lt;br&gt;
               IIS &amp;amp; Ping show "UP" status&lt;/p&gt;

&lt;p&gt;[Day 10] ──► JSON Query Monitor&lt;br&gt;
             Advanced config screenshot&lt;/p&gt;

&lt;p&gt;[Day 11] ──► Secure Status Page&lt;br&gt;
             HTTPS padlock + custom domain&lt;/p&gt;

&lt;p&gt;[Final] ──► Architecture Diagram&lt;br&gt;
            Full system overview&lt;/p&gt;

&lt;p&gt;This project has given me concrete, demonstrable skills in Docker, reverse proxies, SSL, API integration, and cross-platform system administration. It's a cornerstone piece for my technical portfolio.&lt;/p&gt;

</description>
      <category>learningjourney</category>
      <category>devopsprojects</category>
      <category>uptimekumamonitoring</category>
      <category>cybersecurity</category>
    </item>
  </channel>
</rss>
