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
If the System category of Event Logging is enabled, then account creation is audited. To check that System and Event Logging are enabled, log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Log Settings. 3. Scroll down to Log Settings. 4. Verify Event Logging is set to "All" (for most verbose logging) or "Customize", and includes at least the System activity event. If Event Logging is not set to "All" or "Customize" with System enabled, then account creation will not be audited, and this is a finding. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # show full-configuration log eventfilter | grep -i 'event\|system' The output should be: set event enable set system enable If event and system parameters are set to disable, the account creation is not audited, and 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. Scroll down to Log Settings. 4. For Event Logging options, click "All" (for most verbose logging) or "Customize", and include at least the System activity event. 5. Click Apply. 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 # end
If the System category of Event Logging is enabled, then account modification is audited. To check that Event and System Logging are enabled, log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Log Settings. 3. Scroll down to Log Settings. 4. Verify Event Logging is set to "All" (for most verbose logging) or "Customize", and include at least the System activity event. If Event Logging is not set to "All" or "Customize" with System enabled, then account modification is not audited, and this is a finding. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # show full-configuration log eventfilter | grep -i 'event\|system\|user' The output should be: set event enable set system enable set user enable If event, system, and user parameters are set to disable, then account modification is not audited, and 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. Scroll down to Log Settings. 4. For Event Logging options, click "All" (for most verbose logging, or "Customize" and include at least the System activity event. 5. Click Apply. 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 user enable # end
If the System category of Event Logging is enabled, then account removal is audited. To check that System and Event Logging is configured, log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Log Settings. 3. Scroll down to Log Settings. 4. Verify Event Logging is set to "All" (for most verbose logging) or "Customize" and include at least the System activity event. If the Event Logging is not set to "All" or "Customize" with System enabled, then account removal is not audited, and this is a finding. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # show full-configuration log eventfilter | grep -i 'event\|system' The output should be: set event enable set system enable If event and system parameters are set to disable, then account removal is not audited, and 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. Scroll down to Log Settings. 4. For Event Logging options, click "All" (for most verbose logging) or "Customize" and include at least System activity event. 5. Click Apply. 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 # end
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Administrators. 3. Verify the admin account is the only account configured as Type Local. If more than one local user account exists, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Administrators. 3. Review list of administrators and determine if any besides admin have Type listed as Local 4. For any with type Local, click Administrator, and then click Edit to change to remote authentication, or Delete to remove the administrator 5. To change the administrator to remote authentication, in Type select "Match a user on a remote server group". 6. In Remote User Group, select the appropriate configured remote user group. 7. Click OK. 8. Repeat for all administrators, besides admin that have local authentication listed. 9. Click OK.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Administrators. 3. Identify the administrator who is authorized to access System Settings and hover over the profile assigned to the role. 4. Click Edit. 5. Verify that the permission to System is set to Read/Write. Then, 1. Click System. 2. Click Administrators. 3. Click other administrators and hover over the profile assigned to the role. 4. Click Edit. 5. Verify that the permission to System is set to Read or None. If any low-privileged administrator not designated by the ISSM has Read/Write access to System, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. First, set a single admin profile with full System access. 1. Click System. 2. Click Admin Profiles. 3. Click +Create New (Admin Profile). 4. Assign a meaningful name to the Profile. 5. Set System Access Permissions to Read/Write. 6. Click OK to save this Profile. Then, 1. Click System. 2. Click Administrators. 3. Click +Create New (Administrator). 4. Configure Administrator settings with unique Username, Type, and Password. 5. While assigning the Administrator Profile, use the Admin profile configured above with full access to System settings. 6. Go to Restrict login to trusted hosts. 7. Add appropriate IP address in the field Trusted Host 1. 8. Click OK to save. Note: Do not assign this admin profile to any users other than designated administrators that are allowed full access to System Settings. To limit the System access to existing low-privilege administrators: 1. Click System. 2. Click Administrators. 3. Identify the admin role that has unauthorized access to System settings. 4. Select the admin role and hover over the profile assigned to the role. 4. Click Edit. 5. On System access permission, click None. 6. Go to Restrict login to trusted hosts. 7. Add appropriate IP address in the field Trusted Host 1. 8. Click OK to save. Repeat this process to define all the Administrators needed to meet privilege separation requirements for the organization.
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 eventfilter | grep -i 'event\|system' The output should be: set event enable set system enable If the event and system parameters are set to disable, 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. 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 # end
Log in to the FortiGate GUI with Super-Admin privilege. 1. Open a CLI console, via SSH or available from the GUI. 2. Confirm the output from the following command: # show full-configuration system global | grep -i admin-lockout The output should be: set admin-lockout-duration 900 set admin-lockout-threshold 3 If the admin-lockout-duration is not set to 900 and admin-lockout-threshold is not set to 3, 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 commands: # config system global # set admin-lockout-duration 900 # set admin-lockout-threshold 3 # end
Access the FortiGate GUI login page. Verify DoD-approved banner is displayed on the login landing page. "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." If the correct DoD required banner text is not displayed, this is a finding. and Open a CLI console via SSH and connect to the FortiGate device: Verify the FortiGate CLI displays the Standard Mandatory DoD Notice and Consent Banner before granting access to the system via SSH. "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. At any time, the USG may inspect and seize data stored on this IS. Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." If the DoD-approved banner is not displayed before granting access, 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 commands: # config system global # set pre-login-banner enable # end # config system replacemsg admin pre_admin-disclaimer-text # set buffer "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. At any time, the USG may inspect and seize data stored on this IS. Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." #end
1. Attempt to access the FortiGate device using HTTPS URL. 2. Verify Standard Mandatory DoD Notice and Consent Banner is displayed and retained on the screen. 3. Verify a user has to explicitly ACCEPT the banner before to log on for further access. If Standard Mandatory DoD Notice and Consent Banner is not retained, and a user is not forced to ACCEPT the banner to log on for further access, this is a finding. And, 1. Attempt to login to the FortiGate via SSH: 2. Enter username. 3. Verify the Standard Mandatory DoD Notice and Consent Banner before prompting to enter a password. If Standard Mandatory DoD Notice and Consent Banner is not retained before entering the password to log on for further access, 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 global # set pre-login-banner enable # end # config system replacemsg admin pre_admin-disclaimer-text # set buffer "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. At any time, the USG may inspect and seize data stored on this IS. Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." # end
Log in to the FortiGate GUI with Super-Admin privilege: To verify that logging is enabled: 1. Click Log and Report. 2. Click Log Settings. 3. Scroll down to Log Settings and ensure that Event Logging is set to "All" or "Customize" with System activity events checked. If Event Logging is not set to ALL or Customize with System activity event checked, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Log Settings. 3. Scroll to Log Settings. 4. For Event Logging, select ALL or Customize. 5. If Customize is selected, ensure to configure, at least, System activity event. 6. Click Apply.
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 eventfilter | grep -i 'event\|system' The output should be: set event enable set system enable If the event and system parameters are set to disable, this is a finding.
When Event Logging is enabled, the device will audit attempts to modify administrator privileges. To enable event logging, 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 log eventfilter # set event enable # set system enable # end
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 eventfilter | grep -i 'event\|system' The output should be: set event enable set system enable If the event and system parameters are set to disable, this is a finding.
When Event Logging is enabled, the device will audit attempts to delete administrator privileges. To enable event logging, 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 log eventfilter # set event enable # set system enable # end
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 eventfilter | grep -i 'event\|system' The output should be: set event enable set system enable If the event and system parameters are set to disable, this is a finding.
When Event Logging is enabled, the device will audit successful/unsuccessful logon attempts. To enable event logging, 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 log eventfilter # set event enable # set system enable # end
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 eventfilter | grep -i 'event\|system' The output should be: set event enable set system enable If the event and system parameters are set to disable, this is a finding.
When Event Logging is enabled, the device will audit privileged activities or other system-level access. To enable event logging, 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 log eventfilter # set event enable # set system enable # end
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 eventfilter | grep -i 'event\|system' The output should be: set event enable set system enable If the event and system parameters are set to disable, this is a finding.
When Event Logging is enabled the device will audit starting and ending time for administrator access to the system. To enable event logging, 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 log eventfilter # set event enable # set system enable # end
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 eventfilter | grep -i 'event\|system' The output should be: set event enable set system enable If the event and system parameters are set to disable, this is a finding.
When Event Logging is enabled, the device will audit concurrent logons from different workstations. To enable event logging, 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 log eventfilter # set event enable # set system enable # end
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 commands: # show full-configuration log setting | grep -i anonymize The output should be: set user-anonymize disable If the log setting user-anonymize is set to enable, 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 commands: # config log setting # set user-anonymize disable # end
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 global | grep -i cli-audit The output should be: set cli-audit-log enable If cli-audit-log is set to disable, 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 global # set cli-audit-log enable # end
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 disk setting | grep -i max-log-file-size The output should be: set max-log-file-size {INTEGER} If max-log-file-size for local disk storage is not set to the organization-defined audit record storage, 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 log disk setting # set max-log-file-size {INTEGER 1 - 100 MB} # set diskfull overwrite # end
Verify remote logging is configured. Via the GUI: Login via the FortiGate GUI with super-admin privileges. - Navigate to Log and Report. - Navigate to Log 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 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 a fortianalyzer or syslog server, this is a finding.
Login via the GUI with super-admin privileges. 1. Click Log and Report. 2. Click Log Settings. To add a FortiAnalyzer: - In the Remote Logging and Archiving, enable logging to FortiAnalyzer and provide the IP address. To add a Syslog server: - In the Remote Logging and Archiving, enable Send logs to Syslog and provide the IP address. 3. Apply changes. or 1. Open a CLI console via SSH or from the "CLI Console" button in the GUI. 2. Configure a fortianalyzer or syslog server with the following commands: FortiAnalyzer: # config log fortianalyzer setting # set status enable # set server {IP Address} # set upload-option realtime # end Syslog: # config log syslogd setting # set status enable # set server {IP Address} # set mode reliable # 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 audit processing failure. 4. For each Automation Stitch, verify a valid Action Email has been configured. If Automation Stitches are not defined to trigger an immediate real-time alert of all audit processing failures, this is a finding. Note: Relevant events for an Automation Stitch are below: Disk Full Disk Log access failed Disk log directory deleted Disk log file deleted Disk log full over first warning Disk logs failed to back up Disk logs failed to back up to USB Disk partitioning or formatting Error Disk unavailable FortiAnalyzer connection down FortiAnalyzer connection failed FortiAnalyzer is not configured for Security Fabric service FortiAnalyzer log access failed Log disk failure imminent Log disk full Log disk unavailable Memory log access failed Memory log full over final warning level Memory log full over first warning level Memory log full over second warning level Memory logs failed to back up
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Security Fabric. 2. Click Automation. 3. Click +Create New (Automation Stitch). 4. Assign a meaningful name. 5. For Trigger, select FortiOS Event Log. 6. For Event field, Click + (and choose a specific event type). 7. For Action, select Email, specify recipients, and Email subject. 8. Click OK. Note: The following are all relevant Event Log entries. For most complete coverage, configure an Automation Stitch for each of the Event Log entries below: Disk Full Disk Log access failed Disk log directory deleted Disk log file deleted Disk log full over first warning Disk logs failed to back up Disk logs failed to back up to USB Disk partitioning or formatting Error Disk unavailable FortiAnalyzer connection down FortiAnalyzer connection failed FortiAnalyzer is not configured for Security Fabric service FortiAnalyzer log access failed Log disk failure imminent Log disk full Log disk unavailable Memory log access failed Memory log full over final warning level Memory log full over first warning level Memory log full over second warning level Memory logs failed to back up
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 ntp | grep server The output should be: set server {IP address of NTP server 1} set server {IP address of NTP server 2} If the internal information system clocks are not configured to synchronize with the primary and secondary time sources, 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 ntp # set ntpsync enable # set type custom # set syncinterval {INTEGER} To add NTP server 1: # config ntpserver # edit {ID} # set server {IP ADDRESS} # set authentication enable # set key {PASSWORD} # set key-id {INTEGER} # next To add NTP server 2: # config ntpserver # edit {ID} # set server {IP ADDRESS} # set authentication enable # set key {PASSWORD} # set key-id {INTEGER} # next # end
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Log and Report. 2. Click Events. 3. On the Events page, double-click on an event for detail. 4. Verify in the log details that the mapped time zone reflects GMT. If the time zone is not mapped to GMT, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Go to Settings. 3. On Time Zone, select the time zone in which the FortiGate device is located. 4. Click Apply. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # config system global # set timezone {TIMEZONE INDEX} # end
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Administrators. 3. Click on each administrator who is not authorized to access Log and Report Settings and hover over the profile assigned to the role. 4. Click Edit. 5. Verify that the permission to Log and Report is set to None or Read. If any low-privileged administrator has Read/Write access to Log and Report, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. To limit the Log and Report access to existing low-privileged administrators: 1. Click System. 2. Click Administrators. 3. Identify the admin role that has unauthorized access to Log and Report settings. 4. Select the admin role and hover over the profile assigned to the role. 5. Click Edit. 6. On Log and Report access permission, click None or Read. 7. Click OK to save. Repeat this process to define all the Administrators needed to meet privilege separation requirements for the organization.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Administrators. 3. Click each administrator who is not authorized to access Log and Report Settings and hover over the profile assigned to the role. 4. Click Edit. 5. Verify the permission to Log and Report is set to None. If any low-privileged administrator has Read/Write or Read access to Log and Report settings, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. To limit the Log and Report access to existing low-privileged administrators: 1. Click System. 2. Click Administrators. 3. Identify any administrator that is not authorized to access Log and Report settings. 4. Select the admin role and hover over the profile assigned to the role. 5. Click Edit. 6. On Log and Report access permission, click None. 7. Click OK to save. Repeat this process to define all the Administrators needed to meet privilege-separation requirements for the organization.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Administrators. 3. Click on each administrator who is not authorized to access Log and Report settings and hover over the profile assigned to the role. 4. Click Edit. 5. Verify that the permission to Log and Report is set to None or Read. If any low-privileged administrator has Read/Write access to Log and Report, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. To limit the Log and Report access to existing low-privileged administrators: 1. Click System. 2. Click Administrators. 3. Identify the admin role that is not authorized access to Log and Report settings. 4. Select the admin role and hover over the profile assigned to the role. 5. Click Edit. 6. On Log and Report access permission, click None or Read. 7. Click OK to save. Repeat this process to define all the Administrators needed to meet privilege separation requirements for the organization.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Administrators. 3. Identify the administrator that is not authorized to access System Settings and hover over the profile assigned to the role. 4. Click Edit. 5. Verify that the permission to System is set to Read or None. If any unauthorized administrator has Read/Write access to System, this is a finding.
To limit the System access to existing low-privileged administrators, log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Administrators. 3. Identify the admin role that has unauthorized access to System settings. 4. Select the admin role and hover over the profile assigned to the role. 5. Click Edit. 6. On System access permission, click None or Read only. 7. Click OK to save. Repeat this process to define all the Administrators needed to meet privilege separation requirements for the organization.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Administrators. 3. Identify the administrator that is not authorized to access System Settings and hover over the profile assigned to the role. 4. Click Edit. 5. Verify the permission to System is set to Read or None. If any unauthorized administrators have Read/Write access to System, this is a finding.
To limit the System access to existing low-privileged administrators, log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Administrators. 3. Identify the admin role that has unauthorized access to System settings. 4. Select the admin role and hover over the profile assigned to the role. 5. Click Edit. 6. On System access permission, click None or Read only. 7. Click OK to save. Repeat this process to define all the Administrators needed to meet privilege-separation requirements for the organization.
Log in to the FortiGate GUI with an Administrator that does not have System setting privileges. 1. Click System. 2. Attempt to click Firmware; this option will not be available. If the FortiGate device does not limit privileges to change the software resident within software libraries, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. To remove System access permission from an existing low-privileged administrator: 1. Click System. 2. Click Administrators. 3. Identify the administrator role that is unauthorized to update software. 4. Select the administrator role and hover over the profile assigned to the role. 5. Click Edit. 6. For System access, click None. 7. Click OK to save.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Administrators. 3. Identify the administrator who is authorized to access System Settings and hover over the profile assigned to the role. 4. Click Edit. 5. Verify that the permission to System is set to Read/Write. If the authorized administrator does not have Read/Write access to System, this is a finding. Then, 1. Click System. 2. Click Administrators. 3. Click other administrators and hover over the profile assigned to the role. 4. Click Edit. 5. Verify that the permission to System is set to Read or None. If any low-privileged administrator has Read/Write access to System, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. Set one admin profile with full System access. 1. Click System. 2. Click Admin Profiles. 3. Click +Create New (Admin Profile). 4. Assign a meaningful name to the Profile. 5. Set System Access Permissions to Read/Write. 6. Click OK to save this Profile. Then, 1. Click System. 2. Click Administrators. 3. Click on +Create New (Administrator). 4. Configure Administrator settings with unique Username, Type, and Password. 5. While assigning the Administrator Profile, use the Admin profile configured above with limited access to System settings. 6. Go to Restrict login to trusted hosts. 7. Add appropriate IP address in the field Trusted Host 1. 8. Click OK to save. Note: Do not assign this admin profile to any users other than designated administrator that can have full access to System Settings. To limit the System access to existing low-privilege administrators: 1. Click System. 2. Click Administrators. 3. Identify the admin role that has unauthorized access to System settings. 4. Select the admin role and hover over the profile assigned to the role. 5. Click Edit. 6. On System access permission, click None or Read only. 7. Go to Restrict login to trusted hosts. 8. Add appropriate IP address in the field Trusted Host 1. 9. Click OK to save. Repeat this process to define all the Administrators needed to meet privilege separation requirements for the organization.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Administrators. 3. Verify all users except admin are assigned to a remote LDAP user group. If all administrators except admin are not configured to use remote LDAP authentication, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. Configure the LDAP server connection. 1. Go to User and Device. 2. Go to LDAP Servers and select +Create New. 3. Enter the server Name, Server IP address, or Name. 4. Enter the Common Name Identifier and Distinguished Name. 5. Set the Bind Type to Regular and enter the LDAP bind Username and Password. 6. Ensure the Secure Connection button is toggled to enable. 7. In Protocol, select LDAPS. Select certificate. 8. Click OK. Add the LDAP server to a user group. 1. Go to User and Device. 2. Under User Groups, select +Create New. 3. Enter a Name for the group. 4. In the Remote groups section, select +Add. 5. Select the Remote Server from the dropdown list. 6. Click OK. Then, configure the administrator account. 1. Click System. 2. Click Administrators. 3. Click +Create New and choose Administrator. 4. Specify the Username. 5. Set Type to Match a user on a remote server group. 6. In Remote User Group, select the user group that was created. or 1. Open a CLI console, via SSH or available from the GUI. 2. Configure the LDAP server in the CLI: # config user ldap # edit {ldap_server_name} # set server {server_ip} # set cnid {cn} # set dn {dc=XYZ,dc=fortinet,dc=COM} # set type regular # set username {cn=Administrator,dc=XYA, dc=COM} # set password {bind password} # set secure ldaps # set ca-cert {CA certificate name} # next # end 3. Create a user group in the CLI: # config user group # edit {Group_name} # set member {ldap_server_name} # next # end 4. Create an administrator in the CLI: # config system admin # edit {admin_name} # set remote-auth enable # set accprofile {profile name} # set remote-group ldap # end
Log in to the Fortinet Support Portal and review the Product Life Cycle Software "End of Support Date". Log in to the FortiGate with Super-Admin privilege in the GUI and review the Dashboard >> Status >> System Information widget for Firmware version. If the firmware listed in the FortiGate is not supported based on the Product Life Cycle page, this is a finding.
Go to the Fortinet Upgrade Path Tool and select the platform that is being upgraded, the current FortiOS version, and the desired FortiOS version, and then click "Go". Log in to the Fortinet Support Portal and go to Download >> Firmware Images and download the listed firmware versions from the Upgrade Path Tool. Log in to the FortiGate GUI with Super-Admin privilege and go to System >> Firmware. Upload the target firmware file under "Upload Firmware >> Browse" and then click "Backup config and upgrade”. Repeat as necessary as defined by the Upgrade Path Tool.
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 setting Compare the output to the locally developed list to ensure enabled events match the local list. 3. Run the following command: # show full-configuration log eventfilter Compare the output to the locally developed list to ensure enabled events match the local list. If the FortiGate device does not generate log records for a locally developed list of auditable events, this is a finding.
Obtain local audit list and enable event logging to match requirements within the list. 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 and set to enable any events that match a requirement in the local policy: # config log setting # set resolve-ip {enable | disable} # set resolve-port {enable | disable} # set log-user-in-upper {enable | disable} # set fwpolicy-implicit-log {enable | disable} # set fwpolicy6-implicit-log {enable | disable} # set log-invalid-packet {enable | disable} # set local-in-allow {enable | disable} # set local-in-deny-unicast {enable | disable} # set local-in-deny-broadcast {enable | disable} # set local-out {enable | disable} # set daemon-log {enable | disable} # set neighbor-event {enable | disable} # set brief-traffic-format {enable | disable} # set user-anonymize {enable | disable} # set expolicy-implicit-log {enable | disable} # set log-policy-comment {enable | disable} # set log-policy-name {enable | disable} # end # config log eventfilter # set event {enable | disable} # set system {enable | disable} # set vpn {enable | disable} # set user {enable | disable} # set router {enable | disable} # set wireless-activity {enable | disable} # set wan-opt {enable | disable} # set endpoint {enable | disable} # set ha {enable | disable} # set compliance-check {enable | disable} # set security-rating {enable | disable} # set fortiextender {enable | disable} # set connector {enable | disable} # end
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click the admin menu available on the upper right-hand corner of the screen. 2. Click Configuration. 3. Click Revisions. 4. Verify a list of saved backed-up configurations are available. If saved backups of system configuration do not exist, 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 global # set revision-backup-on-logout enable # end 3. Integrate FortiGate with FortiManager or the organization’s central backup server using SSH to pull saved backups. Note: All backups performed by super admin contain global setting and settings for any VDOMs.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click the admin menu available on the upper right-hand corner of the screen. 2. Click Configuration. 3. Click Revisions. 4. Verify at least one saved backed-up occurred within the last week. If a backup of system configuration was not performed within the last week, 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 global # set revision-backup-on-logout enable # end 3. Integrate FortiGate with FortiManager or the organization’s central backup server using SSH to pull saved backups.
Log in to the FortiGate GUI with Super-Admin privilege: 1. Click System. 2. Click Administrators. 3. Identify the administrator designated to perform maintenance functions and hover over the profile assigned to the role. 4. Click Edit. 5. Verify the permission to System is set to Read/Write or Custom with Maintenance set to Read/Write. If an authorized administrator does not have Read/Write access to System Maintenance Settings, this is a finding. Then, 1. Click System. 2. Click Administrators. 3. Click all other low-privileged administrators and hover over the profile assigned to the role. 4. Click Edit. 5. Verify the permission to System Maintenance is customized set to Read or None. If any low-privileged administrator has Read/Write access to System Settings, this is a finding. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command for all low privileged admin user: # show system admin {ADMIN NAME} | grep -i accprofile The output should be: set accprofile {PROFILE NAME} Use the profile name from the output result of above command. # show system accprofile {PROFILE NAME} | grep -i sysgrp The output should be: set sysgrp read or set sysgrp none If any low privileged admin user has sysgrp parameter set to value Read/Write, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. First, set one admin profile with access to System Maintenance. 1. Click System. 2. Click Admin Profiles. 3. Click +Create New (Admin Profile). 4. Assign a meaningful name to the Profile. 5. Set System Access Permissions to Read/Write or Custom with Maintenance set to Read/Write. 6. Click OK to save this Profile. Then, 1. Click System. 2. Click Administrators. 3. Click +Create New (Administrator). 4. Configure Administrator settings with unique Username, Type, and Password. 5. Assign the Administrator Profile that was configured above. 6. Click OK to save. Note: Do not assign this admin profile to any other users other than the authorized administrator. To limit the System access to existing low-privilege administrators: 1. Click System. 2. Click Administrators. 3. Identify the admin role that has unauthorized access to System settings. 4. Select the admin role and hover over the profile assigned to the role. 5. Click Edit. 6. On System access permission, click Read or None. 7. Click OK to save. Repeat this process to define all the Administrators needed to meet privilege separation requirements for the organization. or 1. Open a CLI console, via SSH or available from the GUI 2. First edit the admin profile by running the following command: # config system accprofile # edit {PROFILE NAME} # set sysgrp read or none # next # end Then, assign this admin profile to the authorized administrator account. # config system admin # edit {ADMIN NAME} # set accprofile {PROFILE NAME} # next # end Note: Do not assign this admin profile to any other users other than the authorized administrator.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Certificates. 3. Verify CAs are approved providers. If the public key certificates are not from an approved service provider, this is a finding.
1. Obtain CA certificate from a DoD-approved provider. 2. Log in to the FortiGate GUI with Super-Admin privilege. 3. Click System. 4. Click Certificates. 5. Click Import in the toolbar. 6. Click CA Certificate. 7. On the Import CA Certificate page, select Type File. 8. Locate the certificate file and upload the certificate file. 9. Click OK to import the certificate.
Log in to FortiGate GUI with Super-Admin privileges. 1. Click Policy and Objects. 2. Click Services, and then review services, functions, and ports that are allowed by the firewall. 3. Next, open a CLI console, via SSH or available from the GUI. 4. Run the following commands: # show firewall policy # show firewall policy6 Review policies to ensure that no restricted services, ports, protocols or functions are allowed. FortiGate is configured to deny by default, so if a service, port, protocol, or function is not specifically allowed, it will be denied. If restricted functions, ports, protocols, and/or services are allowed by the firewall, this is a finding. or Log in to the FortiGate GUI with Super-Admin privilege. 1. Open a CLI console over SSH or available from the GUI. 2. Run the following # show full-configuration system interface 3. Review configuration for unnecessary services. If unnecessary services are configured, this is a finding. Review the PPSM CAL and determine which functions, ports, protocols, and/or services must be disabled or restricted.
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, and then select Incoming and Outgoing Interfaces. 5. Create policies with authorized sources and destinations. 6. Set action to DENY. 7. Ensure Enable this policy is toggled to right. 8. Click OK. 9. Ensure a policy is created for each interface and that every PPSM CAL and VA mitigation is covered. Traffic is denied by default and policies must be configured to allow traffic that meets PPSM CAL and VA guidelines. 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 # config system interface # edit {INTERFACE-NAME} # set {DHCP-RELAY-SERVICE | PPTP-CLIENT | ARPFORWARD | BROADCAST-FORWARD | L2FORWARD | ICMP-REDIRECT | VLANFORWARD | STPFORWARD | LLDP-TRANSMISSION} disable # end Create a new line for each service in {} that needs to be removed.
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 global | grep -i 'tls\|ssh-v' The output should be: # set admin-https-ssl-versions tlsv1-2 tlsv1-3 # set admin-ssh-v1 disable # set ssl-min-proto-version TLSv1-2 #end If admin-https-ssl-versions is not set to tlsv1-2 tlsv1-3 or admin-ssh-v1 is enable, 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 global # set admin-https-ssl-versions tlsv1-2 tlsv1-3 # set admin-ssh-v1 disable # end
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click SNMP. 3. Verify the SNMPv3 settings are configured and enabled. 4. Select each SNMPv3 user and click Edit. 5. On Security Level, verify the SNMPv3 user is configured to use SHA256 as the Authentication Algorithm. If the FortiGate device is not configured to authenticate SNMP messages using a FIPS-validated HMAC, this is a finding. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # show full-configuration system snmp user | grep -i 'security-level\ |auth-proto' For each SNMPv3 user, the output should be similar to: set security-level auth set auth-proto sha256 If the security-level parameter is not set to auth or auth-priv, and the auth-proto is not set to SHA, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click SNMP. 3. Select each SNMPv3 user. 4. Click Edit. 5. On Security Level, click Authentication. 6. Select SHA256 for the Authentication Algorithm. 7. Change the Password if required. 8. Click OK. 9. Click Apply. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # config system snmp user # edit {NAME} # set status enable # set security-level auth # set auth-proto sha256 # set auth-pwd {PASSWORD} # next # end
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: # diagnose sys ntp status The output should be similar to: ipv4 server(URL of NTP server) 123.123.123.123 -- reachable(0xbf) S:1 T:242 selected server-version=4, stratum=2 reference time is e213a5fb.2250b45e -- UTC Wed Mar 11 18:01:31 2020 clock offset is 0.000801 sec, root delay is 0.000381 sec root dispersion is 0.053268 sec, peer dispersion is 287 msec If the output does not return server-version is equal to 4, 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 ntp # set ntpsync enable # set type custom # set syncinterval {INTEGER} # config ntpserver # edit {ID} # set server {IP ADDRESS} # set authentication enable # set key {PASSWORD} # set key-id {INTEGER} # next # end
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Settings. 3. Navigate to Password Policy. 4. Verify Password scope is enabled for Admin. 5. Verify the Minimum length is set to 15. If the Password scope is OFF and the Minimum length is not set to 15, this is a finding. 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 system password-policy | grep -i minimum set minimum-length 15 If the minimum-length parameter is not set to 15, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Settings. 3. Navigate to Password Policy. 4. On the Password scope option, click Admin. 5. Enter the Minimum length value of 15. 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: # config system password-policy # set status enable # set minimum-length 15 # end--+
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Settings. 3. Navigate to Password Policy. 4. Verify Password scope is enabled for Admin and Character requirements is toggled to right. 5. Verify the Uppercase value is set to 1 or greater. If the Uppercase parameter is not set to 1 or greater, this is a finding. 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 system password-policy | grep -i upper-case If the min-upper-case-letter parameter is not set to 1 or greater, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Settings. 3. Navigate to Password Policy. 4. On the Password scope option, click Admin. 5. Toggle Character requirements to right. 6. Enter the Uppercase value of 1 or greater. 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 commands: # config system password-policy # set min-upper-case-letter 1 (or greater) # end
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Settings. 3. Navigate to Password Policy. 4. Verify Password scope is enabled for Admin and Character requirements is toggled to right. 5. Verify the Lowercase value is set to 1 or greater. If the Lowercase parameter is not set to 1 or greater, this is a finding. 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 system password-policy | grep -i lower-case If the min-lower-case-letter parameter is not set to 1 or greater, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Settings. 3. Navigate to Password Policy. 4. On the Password scope option, click Admin. 5. Toggle Character requirements to right. 6. Enter the Lowercase value of 1. 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: # config system password-policy # set min-lower-case-letter 1 # end
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Settings. 3. Navigate to Password Policy. 4. Verify Password scope is enabled for Admin and Character requirements is toggled to right. 5. Verify the Numbers value is set to 1 or greater. If the Numbers parameter is not set to 1 or greater, this is a finding. 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 system password-policy | grep -i number If the min-number parameter is not set to 1 or greater, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Settings. 3. Navigate to Password Policy. 4. On the Password scope option, click Admin. 5. Toggle Character requirements to right. 6. Enter the Numbers value of 1 or greater. 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 commands: # config system password-policy # set min-number 1 (or greater) # end
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Settings. 3. Navigate to Password Policy. 4. Verify Password scope is enabled for Admin and Character requirements is toggled to right. 5. Verify the Special value is set to 1 or greater. If the Special parameter is not set to 1 or greater, this is a finding. 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 system password-policy | grep -i non-alphanumeric If the min-non-alphanumeric parameter is not set to 1 greater, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Settings. 3. Navigate to Password Policy. 4. On the Password scope option, click Admin. 5. Toggle Character requirements to right. 6. Enter the Special value of 1 or greater. 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 commands: # config system password-policy # set min-non-alphanumeric 1 (or greater) # end
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 user ldap | grep -i ldaps The output should be: set secure ldaps If set secure is not set to ldaps, 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 user ldap # edit {ldap_server_name} # set server {server_ip} # set cnid {cn} # set dn {dc=XYZ,dc=fortinet,dc=COM} # set type regular # set username {cn=Administrator,dc=XYA, dc=COM} # set password {bind password} # set secure ldaps # set ca-cert {CA certificate name} # next # end
Attempt to log in to the FortiGate GUI using the username admin with the default (blank) password. Attempt to log in to the CLI over SSH with the username admin with the default (blank) password. If either of these logins are successful, 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 commands: # config system admin # edit admin # set password {password} # end
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: # get system status | grep -i fips The output should be: FIPS-CC mode: enable If FIPS-CC mode parameter is not set to enable, 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 fips-cc # set status enable # end
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Network, Interfaces. 2. Click the interface designated for device management traffic. 3. On Administrative Access, verify HTTPS and SSH are selected, and HTTP is not. If HTTPS and SSH are not selected for administrative access, or HTTP is selected, this is a finding. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # show full-configuration system interface port{Management Port Integer #} | grep -i allowaccess The output should include: set allowaccess ping https ssh If the allowaccess parameter does not include https and ssh, this is a finding. If the allowaccess parameter includes http, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Network, Interfaces 2. Click the interface designated for device management traffic and pick Edit. 3. On Administrative Access, select HTTPS and SSH. Deselect HTTP. 4. Click OK. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # config system interface # edit port{Management Port Integer #} # set allowaccess ping https ssh # end Note: When adding or removing a protocol, the entire list of protocols must be typed again. For example, in an existing access list of HTTPS and SSH, if HTTP needs to be added, use the following CLI command: # set allowaccess https ssh ping http
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Network, Interfaces. 2. Click the interface designated for device management traffic. 3. On Administrative Access, verify HTTPS and SSH are selected. If HTTPS and SSH are not selected for administrative access, this is a finding. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command for all low privileged admin user: # show full-configuration system interface port{Management Port Integer #} | grep -i allowaccess The output should include: set allowaccess ping https ssh If https and ssh are not returned, this is a finding. If http is returned, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Network, Interfaces. 2. Click the interface designated for device management traffic and pick Edit. 3. On Administrative Access, select HTTPS and SSH. Deselect HTTP. 4. Click OK. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command for all low privileged admin users: # config system interface # edit port{Management Port Integer #} # set allowaccess ping https ssh # end Note: When a protocol is added or removed, the entire list of protocols must be typed in again. For example, to add PING to an access list of HTTPS and SSH, use the following CLI command: # set allowaccess https ssh ping
Verify the FortiGate device terminates all network connections when non-local device maintenance is complete. Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Settings. 3. Go to Administrative Settings. 4. Verify Idle Timeout is configured to 10 minutes. If the idle-timeout value is not 10 minutes, this is a finding. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # show full-configuration sys global | grep -i admintimeout The output should be: set admintimeout 10 If the admintimeout parameter is not set to 10 minutes, this is a finding.
To configure the device to terminate all network connections when non-local maintenance is complete: Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Settings. 3. Go to Administrative Settings. 4. Enter the Idle Timeout value of 10. 5. Click Apply. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # config system global # set admintimeout 10 # end
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Settings. 3. Go to Administrative Settings. 4. Verify Idle Timeout is configured to 10 minutes. If the idle-timeout value is not 10 minutes, this is a finding. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # show full-configuration sys global | grep -i admintimeout The output should be: set admintimeout 10 If the admintimeout parameter is not set to 10 minutes, this is a finding.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Settings. 3. Go to Administrative Settings. 4. Enter the Idle Timeout value of 10. 5. Click Apply. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command: # config system global # set admintimeout 10 # end
Session IDs are generated using the FIPS random generator if the device is in FIPS mode. To verify login 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: # get system status | grep -i fips The output should be: FIPS-CC mode: enable If FIPS-CC mode parameter is not set to enable, 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 fips-cc # set status enable # end
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click System. 2. Click Administrators. 3. Click each administrator and hover over the profile that is assigned to the role. 4. Click Edit. 5. Verify that the permission on System is set to READ or Read/Write. If any unauthorized administrator has Read/Write access to System, this is a finding. or 1. Open a CLI console, via SSH or available from the GUI. 2. Run the following command for all low privileged admin users: # show system admin {ADMIN NAME} | grep -i accprofile The output should be: set accprofile {PROFILE NAME} Use the profile name from the output result of above command. # show system accprofile {PROFILE NAME} | grep -i sysgrp The output should be: set sysgrp none If any low privileged admin user has sysgrp parameter set to values other than NONE, 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. First edit the admin profile by running the following command: # config system accprofile # edit {PROFILE NAME} # set sysgrp read-write # next # end Then, assign appropriate admin profiles to the administrator account. # config system admin # edit {ADMIN NAME} # set accprofile {PROFILE NAME} # next # end This profile should only be assigned to administrators authorized to change system configurations.
Log in to the FortiGate GUI with Super-Admin privilege. 1. Click Policy and Objects. 2. Click on IPv4 DoS Policy or IPv6 DoS Policy. 3. Identify the port designated for FortiGate device management. 4. Select the policy and click Edit. 5. Verify appropriate L3 Anomalies and L4 Anomalies are configured to meet the organization requirement. 6. Verify the policy is Enabled. If appropriate DoS policies are not defined or are disabled, 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. Identify the port designated for FortiGate device management. 4. Click +Create New. 5. Define the Incoming Interface, Source Address, Destination Address, and Services. 6. Configure L3 Anomalies, and L4 Anomalies to meet the organization requirement. 7. Click OK.
Verify that FortiGate is configured to send logs to a central log server. Log in via the FortiGate GUI with super-admin privileges. 1. Navigate to Log and Report. 2. Navigate to Log Settings. 3. Locate the Remote Logging and Archiving section. 4. Verify FortiGate is configured to log to a FortiAnalyzer or a syslog server. or Open a CLI console via SSH or from the "CLI Console" button in the GUI. Run the following commands and verify that at least one of the settings reflects "set status enable" in the output: # show full-configuration | grep -A1 'log fortianalyzer' # show full-configuration | grep -A1 'log syslogd.* setting' The CLI output will indicate "set status enable" if configured. If the FortiGate is not logging to a central log server, this is a finding.
Log in via the GUI with super-admin privileges. 1. Click Log and Report. 2. Click Log Settings. 3. Locate the Remote Logging and Archiving section. 4. Configure FortiGate to log to a FortiAnalyzer or syslog server. - Enable logging to FortiAnalyzer and provide the IP address. Additional FortiAnalyzer logging destinations can be configured in the CLI. - Enable the "Send logs to syslog" toggle and provide the IP address. Additional syslog logging destinations can be configured in the CLI. 5. Apply changes. or 1. Open a CLI console via SSH or from the "CLI Console" button in the GUI. 2. Configure a FortiAnalyzer or syslog server with the following commands: FortiAnalyzer Logging: config log fortianalyzer setting set status enable set server {IP Address} set upload-option realtime end syslog Logging: config log syslogd setting set status enable set server {IP Address} set mode reliable end
Log in to the FortiGate GUI with Super-Admin privilege and open a CLI console available from the GUI. or Connect via SSH. Run the following command: show full-configuration sys global | grep -i admin Check the output of the following lines: set admin-concurrent disable set admin-login-max <number as defined by the organization> If set admin-concurrent is not set to disable, this is a finding. If set admin-login-max is not set to a number defined by the organization, this is a finding. The default setting is 100.
Log in to the FortiGate GUI with Super-Admin privilege and open a CLI console available from the GUI. or Connect via SSH. Execute the following commands: config system global set admin-concurrent disable set admin-login-max <number defined by the organization> end With the implementation of this requirement, the organization can limit each administrator to one active session and limit the total number of concurrent administrator sessions to a value deemed appropriate.
Verify the process used to apply updates and patches to the system. If the system is updated via a FortiGuard or FortiManager server, those solutions meet the requirement and this is NOT a finding. If the system is not using a FortiGuard or FortiManager server, and a process is not defined to manually verify the update hash value with the vendor site, this is a finding.
Administrators can download software directly from a FortiGuard or FortiManager server. These servers are authenticated using digital certificates that ensure identity and non-repudiation of the source packages. This is a preferred method of applying updates. The Administrator can also download the software from Fortinet's support website portal. The website includes a file checksum to verify file integrity prior to uploading. Develop a process to download the update files from the Fortinet website, and manually compare the download hash to the hash value provided on the vendor site before applying the update files to the system.
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 password-policy | grep -i change The output should be: # set change-4-characters enable If the change-4-characters parameter is set to disable, this is a finding. If the change-4-characters parameter is set to enable, this mitigates to a CAT III finding, as this is a mitigation to at least changing four characters when changing the account of last resort. This is a limitation of the device. It is not possible to mitigate to "Not 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 password-policy # set change-4-characters enable # end Note that this setting only mitigates the requirement to a CAT III finding, as this is a mitigation to change at least four characters when changing the account of last resort. This is a limitation of the device. It is not possible to mitigate to "Not A Finding".