FortiClient
FortiClient proactively defends against advanced attacks. Its tight integration with the Security Fabric enables policy-based automation to contain threats and control outbreaks. FortiClient is compatible with Fabric-Ready partners to further strengthen enterprises’ security posture.
Anil_Solakoglu
Article Id 333026

Description

This article describes how to process when encountering signature update problems such as Av signature updates, and ISDB objects.

Scope

FortiClient, Windows. 

Solution

When Forticlient requests signature updates it should try to reach out to destinations that are already defined in the documentation:

Required services and ports

 

Here, below connectivity control script for Powershell that can visualize the attempts:

 

$fortiguards = @(

    @{ Hostname = "forticlient.fortinet.net"; Port = 80 },

    @{ Hostname = "myforticlient.fortinet.net"; Port = 80 },

    @{ Hostname = "usforticlient.fortinet.net"; Port = 80 },

    @{ Hostname = "fctusupdate.fortinet.net"; Port = 443 },

    @{ Hostname = "fctupdate.fortinet.net"; Port = 443 },

    @{ Hostname = "fcteuupdate.fortinet.net"; Port = 443 }

)

foreach ($fortiguard in $fortiguards) {

    $hostname = $fortiguard.Hostname

    $port = $fortiguard.Port

    $result = Test-NetConnection -ComputerName $hostname -Port $port

# Display the result

    if ($result.TcpTestSucceeded) {

        Write-Host "Connection to $hostname on port $port succeeded."

    } else {

        Write-Host "Connection to $hostname on port $port failed."

    }

}

 

The provided script simply gives specified ports for selection whether if failed or working via port succeeded and port failed.

To provide smooth connectivity to destinations there should be a firewall rule for destinations over Fortiguard via dynamic address object before applying other rules.

 

Anil_Solakoglu_0-1723624741431.png

 

To trigger the resync process for dynamic signature update, the following command can be used. Opening the FortiClient About page triggers update_task manually but if any troubleshooting is required at this stage.

If already opening the FortiClient about page before running those commands, the update_task is already running a warning.

 

Open a CLI window:

 

cd C:\Program Files\Fortinet\FortiClient\

update_task -d
update_task -s d_0
update_task -s as_01

 

  • The healthy state for this command:

 

Anil_Solakoglu_1-1723624741442.png

 

Anil_Solakoglu_2-1723624741445.png

 

  • Disconnect Forticlient telemetry:

 

Anil_Solakoglu_3-1723624741450.png

 

  • Shutdown the FortiClient:

 

Anil_Solakoglu_4-1723624741451.png

 

  • After shutting down the FortiClient, Fortishield services need to be stopped. Replace the following directory name with _1:

C:\Program Files\Fortinet\FortiClient\ vir_sig -> vir_sig_1

 

Anil_Solakoglu_5-1723624741452.png

 

  • Once the FortiClient has started as expected, it will create a file named vir_sig from scratch and generate all the dynamic database objects from scratch if there are no communication errors.

 

Anil_Solakoglu_6-1723624741454.png

 

If there are still observed issues while reported by several endpoints after the provided steps, a support ticket can be created to troubleshoot further details.