Select any two versions of this STIG to compare the individual requirements
Select any old version/release of this STIG to view the previous requirements
Log in to the FortiGate GUI with Super- or Firewall Policy-Admin privilege. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Verify there are no policies configured with source and destination interface set to "any", and source and destination address set to "all" and the Action set to ACCEPT. If there are policies configured with source and destination interface set to "any", and source and destination address set to "all" and the Action set to ACCEPT, this is a finding.
The fix can be performed on FortiGate GUI or CLI. Log in to the FortiGate GUI with Super- or Firewall Policy-Admin privilege. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Click +Create New to configure application specific policies, with Action set to ACCEPT. 4. Configure Logging Options to log All Sessions. 5. Confirm each Policy is Enabled. 6. Click OK. or 1. Open a CLI console, via SSH or available from the GUI. 2. For IPv4 policy, run the following command: # config firewall policy # edit {policyid} # set srcintf {interface_name_ext} # set dstintf {interface_name_int} # set srcaddr {address_a} # set dstaddr {address_b} # set schedule {always} # set service {HTTPS} # set action {accept} # set logtraffic all # end For IPv6 policy, run the following command: # config firewall policy6 # edit {policyid} # set srcintf {interface_name_ext} # set dstintf {interface_name_int} # set srcaddr {address_a} # set dstaddr {address_b} # set schedule {always} # set service {HTTPS} # set action {accept} # set logtraffic all # end The {} indicate the object is defined by the organization policy. The firewall performs IP integrity header checking on all incoming packets to verify if the protocol packet is a valid TCP, UDP, ICMP, SCTP, or GRE length. Stateful inspection is done to verify TCP SYN and FIN flags are set as needed.
If FortiGate is not configured to support VPN access, this requirement is Not Applicable. Log in to the FortiGate GUI with Super- or Firewall Policy-Admin privilege. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Verify all VPN-related policies are configured with organization-defined filtering rules. 4. For each VPN-related policy, verify the logging option is configured to log All Sessions (for most verbose logging). If there are no VPN policies configured with organization-defined filtering rules, this is a finding.
This fix can be performed on the FortiGate GUI or on the CLI. Log in to the FortiGate GUI with Super- or Firewall Policy-Admin privilege. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Click +Create New to configure new ingress and egress SSL-VPN- or IPSec-VPN-related policies that meet the organization-defined filtering rules. 4. Configure Logging Options to log All Sessions (for most verbose logging). 5. Confirm each created Policy is Enabled. 6. Click OK. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # config firewall policy # edit 0 # set srcintf {vpn_interface} # set dstintf {interface_1} # set srcaddr {address_a} # set dstaddr {address_b} # set schedule {always} # set service {services required by site policy} # set action {accept} # set logtraffic enable # next # end 3. Create opposite (ingress or egress) policy as required. The {} indicate the object is defined by the organization policy.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Local Traffic. 3. Verify events are generated containing date, time, alert level related to System and Local Traffic Log. In addition to System log settings, verify that individual firewall policies are configured with most suitable Logging Options. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Verify all Policy rules are configured with Logging Options set to log All Sessions (for most verbose logging). If there are no events generated containing date, time, alert level, user, message type, and other information, this is a finding.
This fix can be performed on the FortiGate GUI or on the CLI. Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Log Settings. 3. Click All for the Event Logging and Local Traffic Log options (for most verbose logging), or Click Customize and choose granular logging options to meet organization needs. 4. Click Apply. In addition to these log settings, configure individual firewall policies with the most suitable Logging Options. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. For each policy, configure Logging Options to log All Sessions (for most verbose logging). 4. Confirm each created Policy is Enabled. 5. Click OK. or 1. Open a CLI console. 2. Run the following command: # config log eventfilter # set event enable # set system enable # set endpoint enable # set user enable # set security-rating enable # end # config firewall policy # edit 0 # set srcintf {interface_name_1} # set dstintf {interface_name_2} # set srcaddr {address_a} # set dstaddr {address_b} # set schedule {always} # set service {service required by site policy} # set action {accept} # set logtraffic enable # next # end The {} indicate the object is defined by the organization policy.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Events, or Local Traffic. 3. Verify events are generated containing date, time, and alert level related to System and Local Traffic Log. In addition to System log settings, verify individual firewall policies are configured with most suitable Logging Options. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Verify all Policy rules are configured with Logging Options set to log All Sessions (for most verbose logging). If the log events do not contain information to establish date and time, this is a finding.
This fix can be performed on the FortiGate GUI or on the CLI. Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Log Settings. 3. Click All for the Event Logging and Local Traffic Log options (for most verbose logging), or Click Customize and choose granular logging options to meet organization needs. 4. Click Apply. In addition to these log settings, configure individual firewall policies with the most suitable Logging Options. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. For each policy, configure Logging Options to log All Sessions (for most verbose logging). 4. Confirm each created Policy is Enabled. 5. Click OK. or 1. Open a CLI console. 2. Run the following command: # config log eventfilter # set event enable # set system enable # set endpoint enable # set user enable # set security-rating enable # end # config firewall policy # edit 0 # set srcintf {interface_name_1} # set dstintf {interface_name_2} # set srcaddr {address_a} # set dstaddr {address_b} # set schedule {always} # set service {service required by site policy} # set action {accept} # set logtraffic enable # next # end The {} indicate the object is defined by the organization policy.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Forward Traffic, or Local Traffic. 3. Double-click on an Event to view Log Details. 4. Verify traffic log events contain source and destination IP addresses, and interfaces. In addition to System log settings, verify that individual firewall policies are configured with most suitable Logging Options. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Verify all Policy rules are configured with Logging Options set to log All Sessions (for most verbose logging). If the traffic log events do not contain source and destination IP addresses, or interfaces, this is a finding.
This fix can be performed on the FortiGate GUI or on the CLI. Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Log Settings. 3. Click All for the Event Logging and Local Traffic Log options (for most verbose logging), or Click Customize and choose granular logging options to meet organization needs. 4. Scroll to UUIDs in Traffic Log and toggle Policy and Address buttons to enable. 5. Click Apply. In addition to these log settings, configure individual firewall policies with the most suitable Logging Options. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. For each policy, configure Logging Options to log All Sessions (for most verbose logging). 4. Confirm each created Policy is Enabled. 5. Click OK. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # config log eventfilter # set event enable # set system enable # set endpoint enable # set user enable # set security-rating enable # end 3. For each configured policy set the following: # config firewall {policy|policy6} # edit {policyid} # set logtraffic enable # end The {} indicate the object is defined by the organization policy.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Forward Traffic or Local Traffic. 3. Double-click on an Event to view Log Details. 4. Verify traffic log events contain source and destination IP addresses, and interfaces. In addition to System log settings, verify that individual IPv4 policies are configured with most suitable Logging Options. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Verify all Policy rules are configured with Logging Options set to log All Sessions (for most verbose logging). If the log events do not contain IP address of source devices, this is a finding.
This fix can be performed on the FortiGate GUI or on the CLI. Log in to the FortiGate GUI with Super- or Log-and-Report-Admin privilege. 1. Click Log and Report. 2. Click Log Settings. 3. Click All for the Event Logging and Local Traffic Log options (for most verbose logging), or Click Customize and choose granular logging options to meet organization needs. 4. Scroll to UUIDs in Traffic Log and toggle Policy and Address buttons to enable. 5. Click Apply. In addition to these log settings, configure individual firewall policies with the most suitable Logging Options. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. For each policy, configure Logging Options to log All Sessions (for most verbose logging). 4. Confirm each created Policy is Enabled. 5. Click OK. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # config log eventfilter # set event enable # set system enable # set endpoint enable # set user enable # set security-rating enable # end # config firewall policy # edit 0 # set srcintf {interface_name_1} # set dstintf {interface_name_2} # set srcaddr {address_a} # set dstaddr {address_b} # set schedule {always} # set service {services required by site policy} # set action {accept} # set logtraffic enable # next # end The {} indicate the object is defined by the organization policy.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Forward Traffic or Local Traffic. 3. Double-click on an Event to view Log Details. 4. Verify log events contain status information like success or failure of the application of the firewall rule. In addition to System log settings, verify that individual IPv4 policies are configured with most suitable Logging Options. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Verify all Policy rules are configured with Logging Options set to log All Sessions (for most verbose logging). If the log events do not contain status information, like success or failure of the application of the firewall rule, this is a finding.
This fix can be performed on the FortiGate GUI or on the CLI. Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Log Settings. 3. Click All for the Event Logging and Local Traffic Log options (for most verbose logging), or Click Customize and choose granular logging options to meet organization needs. 4. Scroll to UUID in Traffic Log and toggle Policy and Address buttons to enable. 5. Click Apply. In addition to these log settings, configure individual firewall policies with the most suitable Logging Options. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. For each policy, configure Logging Options to log All Sessions (for most verbose logging). 4. Confirm each created Policy is Enabled. 5. Click OK. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # config log eventfilter # set event enable # set system enable # set endpoint enable # set user enable # set security-rating enable # end # config firewall policy # edit 0 # set srcintf {interface_name_1} # set dstintf {interface_name_2} # set srcaddr {address_a} # set dstaddr {address_b} # set schedule {always} # set service {services required by site policy} # set action {accept} # set logtraffic enable # next # end The {} indicate the object is defined by the organization policy.
Verify at least two logging options are configured. It can be any combination of local and/or remote logging. Via the GUI: Login via the FortiGate GUI with super-admin privileges. - Navigate to Log and Report. - Navigate to Log Settings. - Verify the FortiGate Local Log disk settings. - Verify the Remote and Archiving settings. or Via the CLI: Open a CLI console via SSH or from the "CLI Console" button in the GUI. Run the following commands to verify which logging settings are enabled: # show full-configuration log disk setting | grep -i 'status\|diskfull' - The output should indicate enabled. # show full-configuration log fortianalyzer setting | grep -i 'status\|server' # show full-configuration log fortianalyzer2 setting | grep -i 'status\|server' # show full-configuration log fortianalyzer3 setting | grep -i 'status\|server' # show full-configuration log syslogd setting | grep -i 'status\|server' # show full-configuration log syslogd2 setting | grep -i 'status\|server' # show full-configuration log syslogd3 setting | grep -i 'status\|server' # show full-configuration log syslogd4 setting | grep -i 'status\|server' - The output should indicate enabled and an IP address. If the FortiGate is not logging to at least two locations (local and remote OR remote(x2) only), this is a finding.
For audit log resilience, it is required to log to the local FortiGate disk and a central audit server, or two central audit servers. To do this, log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Log Settings. 3. For Local Log setting options, toggle the Disk setting to right. To add a syslog server: 5. For Remote Logging and Archiving, toggle the Send logs to syslog setting and enter the appropriate IP address. 6. Click Apply to save the settings. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # config log disk setting # set status enable # set diskfull overwrite # end # config log syslogd setting # set status enable # set server {IP Address} # set mode reliable # end
Log in to the FortiGate GUI with Super-Admin privileges. 1. Open a CLI console via SSH or from the GUI widget. 2. Run the following command: # show full-configuration log syslogd setting The output should include: set server {123.123.123.123} set mode reliable set enc-algorithm {medium-high | high} If the syslogd mode is not set to reliable, this is a finding. If the set enc-algorithm is not set to high or medium-high, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. First, upload the CA certificate that issued the Syslog server certificate. 1. Click System. 2. Click Certificates. 3. Click Import, then CA Certificate. 4. Specify File, and click + Upload. 5. Choose the CA Certificate to upload from the local hard drive. 6. Click OK. Then, configure a TLS-enabled syslog connection: 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # config log syslogd setting # set status enable # set server {SYSLOG SERVER IP ADDRESS} # set mode reliable # set enc-algorithm {HIGH-MEDIUM | HIGH} # set certificate (Optional - Select local certificate if Syslog server is challenging client [FortiGate] for authentication) # end Note: The server IP address must be on the site's management network.
Log in to the FortiGate GUI with an administrator that has no Log and Report access. 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: $ config log setting 3. Ensure that the command fails. If an Administrator without Log and Report privileges can configure log settings, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Admin Profiles. 3. Click +Create New (Admin Profile). 4. Assign a meaningful name to the Profile. 5. Set Log and Report access permissions to None. 6. Click OK to save this Profile. Then, 1. Click System. 2. Click Administrators. 3. Click the Administrator that is not allowed access to log records. 4. Assign the Admin Profile that was created above. 5. Click OK to save. Repeat this process to remove log access for all Administrators without an organizational need to modify log settings.
Log in to the FortiGate GUI with an administrator that has no Log and Report access. 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: $ execute log delete 3. Ensure that the command fails. If an Administrator without Log and Report privileges can delete locally stored logs, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Admin Profiles. 3. Click +Create New (Admin Profile). 4. Assign a meaningful name to the Profile. 5. Set Log and Report access permissions to None. 6. Click OK to save this Profile. Then, 1. Click System. 2. Click Administrators. 3. Click the Administrator that is not allowed access to log settings. 4. Assign the Admin Profile that was created above. 5. Click OK to save. Repeat this process to remove log access for all Administrators without an organizational need to modify log records.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # show full-configuration system interface 3. Review configuration for unnecessary services. If unnecessary services are configured, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # config system interface # edit {interface-name} # get | grep enable # get | grep allowaccess Disable each service in {} that needs to be removed using: # config system interface # edit {interface-name} # set {service} disable # end
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Policy and Objects. 2. Go to IPv4 DoS Policy. 3. Verify different DoS policies that include Incoming Interface, Source Address, Destination Address, and Services have been created. 4. Verify the DoS policies are configured to block L3 and L4 anomalies. If the DoS policies are not configured to block the outbound traffic, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Policy and Objects. 2. Click IPv4 DoS Policy or IPv6 DoS Policy. 3. Click +Create New. 4. Select the Incoming Interface. 5. Select Source and Destination addresses. 6. Select the Service. 7. Enable desired L3 and L4 anomalies and thresholds. 8. Ensure the Enable this policy is toggled to right. 9. Click OK. 10. Ensure a policy is created for each interface where there is potential risk of DoS.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Policy and Objects. 2. Go to IPv4 DoS Policy. 3. Verify different DoS policies that include Incoming Interface, Source Address, Destination Address, and Services have been created. 4. Verify the DoS policies are configured to block L3 and L4 anomalies. If the DoS policies are not configured to block excess traffic, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Policy and Objects. 2. Click IPv4 DoS Policy or IPv6 DoS Policy. 3. Click +Create New. 4. Select the Incoming Interface. 5. Select Source and Destination addresses. 6. Select the Service. 7. Enable desired L3 and L4 anomalies and thresholds. 8. Ensure the Enable this policy is toggle to right. 9. Click OK. 10. Ensure a policy is created for each interface where there is potential risk of DoS.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # show firewall policy # show firewall policy6 Ensure policies are created that only allow approved traffic that is in accordance with the PPSM CAL and VAs for the enclave. If configured policies allow traffic that is not allowed per the PPSM CAL and VAs for the enclave, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Click +Create New. 4. Name the policy, select Incoming and Outgoing Interfaces. 5. Create policies with authorized sources and destinations. 6. Set action to ACCEPT. 7. Ensure the Enable this policy is toggled to right. 8. Click OK. 9. Ensure a policy is created for each interface. Traffic is denied by default and policies must be configured to allow traffic that meets PPSM CAL and VA guidelines.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # show ips global | grep -i fail-open # show system global | grep -i failopen If ips fail-open is set to enable or av-failopen is not set to off or av-failopen-session is not set to disable, this is a finding.
FortiGate will inherently fail closed upon a power failure. Additionally, the FortiOS kernel enters conserve mode when memory use reaches the red threshold (default 88 percent memory use). When the red threshold is reached, FortiOS functions that react to conserve mode, such as the antivirus transparent proxy, apply conserve mode based on configured conserve mode settings. Additionally, FortiOS generates conserve mode log messages and SNMP traps, and a conserve mode banner appears on the GUI. If memory use reaches the extreme threshold (95 percent memory used), new sessions are dropped and red threshold conserve mode actions continue. Conserve mode actions for filtering are configured as follows: Log in to the FortiGate GUI with Super-Admin privilege. 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # config ips global # set fail-open disable # end # config system global # set av-failopen off # set av-failopen-session disable # end
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Log Settings. 3. Under Remote Logging and Archiving, verify FortiAnalyzer and/or syslog settings are enabled and configured with IP addresses of central FortiAnalyzer or Syslog server(s). or Log in to the FortiGate GUI with Super-Admin privilege. 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # show full-configuration log syslogd setting | grep -i status Check output for: set status enable 3. Run the following command: # show full-configuration log fortianalyzer setting | grep -i status check output for: set status enable If the FortiGate is not configured to send traffic logs to a central audit server, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Log Settings. 3. Go to Remote Logging and Archiving. If using FortiAnalyzer: 4. Toggle Send logs to FortiAnalyzer/FortiManager to the right. 5. Configure FortiAnalyzer/FortiManager with designated IP address. 6. Configure Upload Option, SSL encrypt log transmission and Allow access to FortiGate REST API per the organizational requirement. If using a central syslog server: 7. Toggle Send logs to syslog to the right. 8. Configure syslog settings with designated IP Address/FQDN. 9. Click Apply. or Log in to the FortiGate GUI with Super-Admin privilege. Open a CLI console, via SSH or available from the GUI. If using FortiAnalyzer, run the following command: # config log fortianalyzer setting # set status enable # set server {IP address} # end If using central syslog Server, run the following command: # config log syslogd setting # set status enable # set server {IP address} # end
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Security Fabric. 2. Click Automation. 3. Verify Automation Stitches are configured to send alerts related to loss of communication with the central audit server. 4. For each Automation Stitch, verify a valid Action Email has been configured. If there are no organization-specific Automation Stitches defined to trigger on loss of communication with the central audit server, this is a finding.
To create real-time alerts when FortiAnalyzer is the central audit server, log in to the FortiGate GUI with Super-Admin privilege. If not using FortiAnalyzer, skip ahead to the central log server steps. 1. Click Security Fabric. 2. Click Automation. 3. Click +Create New (Automation Stitch). 4. For Trigger, select FortiOS Event Log. 5. For Event field, Click + (and choose a specific event type). 6. For Action, select Email, specify recipients, and Email subject. 7. Click OK. The following are all relevant Event Log entries for loss of communication with the central audit server. For most complete coverage, configure an Automation Stitch for each of the Event Log entries below: -FortiAnalyzer connection down -FortiAnalyzer connection failed -FortiAnalyzer log access failed -Log Upload Error To create real-time alerts when using a syslog server as the central audit server, log in to the FortiGate GUI with Super-Admin privilege. To ensure Feature visibility: 1. Click System. 2. Click Feature Visibility. 3. Under Additional Features, toggle the switch to enable Load Balance. 4. Click Apply. To configure the alert: 1. Click Policies & Objects. 2. Click Health Check. 3. Click +Create New. 4. Name the Health Check. 5. For Type, select TCP. 6. For Interval, type {5}. 7. For Timeout, type {1}. 8. For Retry, type {1}. 9. For Port, type {514}. 10. Click OK. 11. Click Virtual Servers. 12. Click +Create New. 13. Name the Virtual Server. 14. For Type, select TCP. 15. For Interface, select any unused internal interface. 16. For Virtual Server IP, type any unused IP. 17. For Virtual Server Port, type {514}. 18. For Health Check, select the Health Check that was created in steps 1-10. 19. In Real Servers, click +Create New. 20. In New Real Server IP Address, type the IP address of the syslog server. 21. For port, type {514}. 22. Click OK to close New Real Server window. 23. Click OK to close Edit Virtual Server. 24. Click Security Fabric. 25. Click Automation. 26. Click +Create New (Automation Stitch). 27. For Trigger, select FortiOS Event Log. 28. For Event field, click + and choose "VIP real server down". 29. For Action, select Email, specify recipients, and Email subject. 30. Click OK.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Policy and Objects. 2. Click IPv4 DoS Policy. 3. Verify different DoS policies that include Incoming Interface, Source Address, Destination Address, and Services have been created. 4. Double-.click on each policy. 5. Verify the DS policies are configured with appropriate thresholds for L3 and L4 anomalies. If the DoS policies are not configured to filter packets associated with flooding, packet sweeps, and unauthorized port scanning, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Policy and Objects. 2. Click IPv4 DoS Policy or IPv6 DoS Policy. 3. Click +Create New. 4. Configure DoS policies that include Incoming Interface, Source Address, Destination Address, and Services. 5. Configure Action and Threshold for L3 and L4 anomalies per site policies. 6. Click OK.
Log in to the FortiGate GUI with Super- or Firewall Policy-Admin privilege. 1. Click the Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Verify the policies are configured for all Interfaces. 4. Verify the polices are configured with Action set either to DENY or ACCEPT based on the organizational requirement. If a Firewall Policy is not applied to all interfaces, this is a finding.
Log in to the FortiGate GUI with Super- or Firewall Policy-Admin privilege. 1. Click the Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Click +Create New. 4. Name the policy, select Incoming and Outgoing Interfaces. 5. Create the policies with authorized sources and destinations. 6. Create the policies with Action set to either DENY or ACCEPT. 7. Ensure the Enable this policy is toggled to right. 8. Click OK. 9. Ensure a policy is created for each interface.
Log in to the FortiGate GUI with Super- or Firewall Policy-Admin privilege. 1. Click the Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Verify the policies are configured for each Outgoing Interface. 4. Verify polices are configured with Action set either to DENY or ACCEPT based on the organizational requirement. If the Firewall Policies are not applied to all outbound interfaces, this is a finding.
Log in to the FortiGate GUI with Super- or Firewall Policy-Admin privilege. 1. Click the Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Click +Create New. 4. Name the policy and select Incoming and Outgoing Interfaces. 5. Create the policies with authorized sources and destinations. 6. Create the policies with Action set to either DENY or ACCEPT. 7. Ensure the Enable this policy is toggled to right. 8. Click OK.
If FortiGate is not employed as a premise firewall, this requirement is Not Applicable. Log in to the FortiGate GUI with Super- or Firewall Policy-Admin privilege. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Verify there are Policies in which the Incoming Interface is the Management Network, and the Outgoing Interface is an EGRESS interface. 4. Verify these polices are configured with Action set to DENY. If there are not DENY Policies where the Incoming Interface is the Management Network, and the Outgoing Interface is an EGRESS interface, this is a finding.
Log in to the FortiGate GUI with Super- or Firewall Policy-Admin privilege. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Click +Create New. 4. Name the policy. 5. For the Incoming Interface, select the interface related to the Management Network. 6. For the Outgoing Interface, select an EGRESS interface. 7. For the Source, select the Management Network IP range. 8. For the Destination and Service, select ALL. 9. Configure the Policy Action to DENY. 10. Ensure the Enable this policy is toggled to right. 11. Click OK. Repeat these steps for each EGRESS interface.
If FortiGate is not configured to support VPN access, this requirement is Not Applicable. Log in to the FortiGate GUI with Super- or Firewall Policy-Admin privilege. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Verify there are Policies where the Incoming Interface is a management-related VPN Tunnel interface, and the Outgoing Interface is the Management Network interface. 4. Verify such policies with Action IPSEC meet organization requirements to only allow connectivity to specific, authorized Management Network hosts and ensure that traffic is encrypted through the IPsec tunnel. 5. Verify at least one of these polices are configured with Action set to DENY. If there are not DENY Policies in which the Incoming Interface is a management-related VPN Tunnel interface, and the Outgoing Interface is the Management Network interface, this is a finding. If there are no IPSEC Policies for which the Incoming Interface is a management-related VPN Tunnel interface, and the Outgoing Interface is the Management Network interface that meets organization requirements, this is a finding.
Log in to the FortiGate GUI with Super- or Firewall Policy-Admin privilege. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Click +Create New. 4. Name the policy. 5. For the Incoming Interface, select the tunnel from which a host is connecting to the management network. 6. For the Outgoing Interface, select the interface connected to the management network. 7. For the Source, select the address object or group of authorized management hosts. 8. For the Destination, select assets in the management network, and approved Network Services. 9. Configure the Policy Action to Accept. 10. Ensure Enable this policy is toggled to right. 11. Click OK. Repeat these steps for each Management Network host and associated Service.
Log in to the FortiGate CLI with Super-Admin privilege, and then run the command: # show system session-helper. Review the output and ensure it matches the following: config system session-helper edit 1 set name pptp set protocol 6 set port 1723 next edit 2 set name h323 set protocol 6 set port 1720 next edit 3 set name ras set protocol 17 set port 1719 next edit 4 set name tns set protocol 6 set port 1521 next edit 5 set name tftp set protocol 17 set port 69 next edit 6 set name rtsp set protocol 6 set port 554 next edit 7 set name rtsp set protocol 6 set port 7070 next edit 8 set name rtsp set protocol 6 set port 8554 next edit 9 set name ftp set protocol 6 set port 21 next edit 10 set name mms set protocol 6 set port 1863 next edit 11 set name pmap set protocol 6 set port 111 next edit 12 set name pmap set protocol 17 set port 111 next edit 13 set name sip set protocol 17 set port 5060 next edit 14 set name dns-udp set protocol 17 set port 53 next edit 15 set name rsh set protocol 6 set port 514 next edit 16 set name rsh set protocol 6 set port 512 next edit 17 set name dcerpc set protocol 6 set port 135 next edit 18 set name dcerpc set protocol 17 set port 135 next edit 19 set name mgcp set protocol 17 set port 2427 next edit 20 set name mgcp set protocol 17 set port 2727 next end If the output does not match, this is a finding.
Fix can be performed on FortiGate CLI. For any modified or missing session-helpers, log in to the FortiGate console via SSH or console access and run the following commands: # config system session-helper # edit {integer} # set name {name of protocol} # set protocol {protocol number} # set port {port number} # next # end
The FortiGate has RPF enabled by default, but it can be disabled for IPv4, IPv4 ICMP, IPv6, and IPv6-ICMP with the "set asymroute enable" commands. Log in to the FortiGate CLI with Super-Admin privilege, and then run the command: # get system settings | grep asymroute Unless this device is intentionally setup for asymmetric routing, if any of the settings are set to "enable" this is a finding.
This fix can be performed via the CLI of the FortiGate. 1. Open a CLI console via SSH or from the GUI. 2. Run the following commands: # config system settings # set asymroute disable # set asymroute-icmp disable # set asymroute6 disable # set asymroute6-icmp disable # end
The firewall must be configured to send events to a syslog server. Anomaly events, such as a DoS attack are sent with a severity of critical. The syslog server will notify the ISSO and ISSM. To verify the syslog configuration, log in to the FortiGate GUI with Super-Admin privileges. 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # show full-configuration log syslogd setting | grep -i 'mode\|server' The output should be: set server {123.123.123.123} set mode reliable To ensure a secure connection, a certificate must be loaded, encryption enabled, and the SSL version set. To verify, while still in the CLI, run the following command: # get log syslogd setting Check for the following: set enc-algorithm {MEDIUM-HIGH | HIGH} set certificate If the syslogd is not configured to send logs to a central syslog server, this is a finding.
Syslog server is used to send alerts for DoS incidents. To enable syslog, log in to the FortiGate GUI with Super-Admin privileges. 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # config log syslogd setting # set status enable # set server {IP address of site syslog server} # set mode {reliable} # set enc-algorithm {high-medium | high} # set port {server listen port} # set facility syslog # set source-ip {source IP address} # set max-log-rate {value between 1 and 100000} # set certificate {certificate string} # end
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Network. 2. Click Packet Capture. 3. Verify different Packet Capture Filters are configured and that capture packets based on interface, host, VLAN, or protocol. If FortiGate does not allow an authorized administrator to capture packets based on interface, host, VLAN, or protocol, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. Create a Packet Capture Filter 1. Click Network. 2. Click Packet Capture. 3. Click +Create New. 4. Select an interface from the drop down menu. 5. Specify the maximum number of packets to capture. 6. Enable Filters to configure filtering based upon Host (addresses), Port, VLAN, or Protocol. 7. Click OK. Then, 1. Select a packet filter from the list of packet capture filters. 2. Right-click on the selected filter. 3. Click Start. 4. Click OK. The packet capture continues until either the configured number of packets is reached, or the administrator stops the packet capture. The administrator must download the packet capture for viewing with an external application, like Wireshark or tcpdump.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Log Settings. 3. Verify the Log Settings for Event Logging is configured to ALL. In addition to System log settings, verify that individual firewall policies are configured with the most suitable Logging Options. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Verify all Policy rules are configured with Logging Options set to Log All Sessions (for most verbose logging). 4. Verify the Implicit Deny Policy is configured to Log Violation Traffic. If the Traffic Log setting is not configured to ALL, and the Implicit Deny Policies are not configured to LOG VIOLATION TRAFFIC, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Log Settings. 3. Configure the Log Settings for Forward Traffic Log to ALL. 4. Click Apply. In addition to these log settings, configure individual firewall policies with the most suitable Logging Options. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. For each policy, configure Logging Options for Log Allowed Traffic to log All Sessions (for most verbose logging). 4. Ensure the Enable this policy is toggled to right. 5. Configure the Implicit Deny Policy to Log Violation Traffic. 6. Click OK.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Log Settings. 3. Verify the Log Settings for Event Logging and Local Traffic Log are configured to ALL. In addition to System log settings, verify individual firewall policies are configured with the most suitable Logging Options. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Verify all Policy rules are configured with Logging Options set to Log All Sessions (for most verbose logging). 4. Verify the Implicit Deny Policy is configured to Log Violation Traffic. If the Traffic Log setting is not configured to ALL, and the Implicit Deny Policies are not configured to LOG VIOLATION TRAFFIC, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Log Settings. 3. Configure the Log Settings for Local Traffic Log to ALL. 4. Click Apply. In addition to these log settings, configure individual firewall policies with the most suitable Logging Options. 1. Click Policy and Objects. 2. Click IPv4 or IPv6 Policy. 3. Click +Create New to configure organization specific policies, with Action set to DENY. 4. Configure Logging Options to log All Sessions (for most verbose logging). 5. Ensure Enable this policy is toggled to right. 6. Click Implicit Deny Policy. 7. Click Edit. 8. Select Log Violation Traffic. 9. Click OK.