Base system

Questo capitolo descrive tutti i moduli disponibili al termine dell’installazione. Tutti i moduli al di fuori di questa sezione possono essere installati dalla pagina del Software center.

L’installazione predefinita include i seguenti moduli principali:

While the root user can see all configuration pages, access of each section and application may be also delegated to specific users. See Authentication.

Sistema

La pagina Sistema è la sezione che viene visualizzata a seguito di un login riuscito. La pagina visualizzerà lo status e la configurazione del sistema.

Dalla dashboard di sistema, l’amministratore può:

  • modificare il nome FQDN del server ed i relativi Alias
  • configurare i server DNS upstream
  • configure date time and NTP servers
  • personalizzare l’anagrafica della azienda

Il sistema basa include inoltre:

Terminale

Eseguire una shell standard all’interno di un terminale direttamente accessibile dal browser. La shell e i processi verranno eseguiti con i privilegi dell’utente.

Rete

The Network page configures how the server is connected to the local network (LAN) and/or other networks (i.e. Internet).

If the server has firewall and gateway functionality, it will handle extra networks with special functions like DMZ (DeMilitarized Zone) and guests network.

NethServer supports an unlimited number of network interfaces. Any network managed by the system must follow these rules:

  • networks must be physically separated (multiple networks can’t be connected to the same switch/hub)
  • networks must be logically separated: each network must have different addresses
  • private networks, like LANs, must follow address’s convention from RFC1918 document

Every network interface has a specific role which determines its behavior. All roles are identified by colors. Each role corresponds to a well-known zone with special network traffic rules:

  • green: local network (green role/zone). Hosts on this network can access any other configured network
  • blue: guests network (blue role/zone). Hosts on this network can access orange and red networks, but can’t access the green network
  • orange: DMZ network (orange role/zone). Hosts on this network can access red network, but can’t access to blue and green networks
  • red: public network (red role/zone). Hosts on this network can access only the server itself

See Policy for more information on roles and firewall rules.

Nota

The server must have at least one network interface. When the server has only one interface, this interface must have green role.

If the server is installed on a public VPS (Virtual Private Server), it should must be configured with a green interface. All critical services should be closed using Servizi panel.

A role can be removed from an existing network interface by clicking on the tree-dots menu , then select Release role action.

Addresses for private networks (RFC1918)

TCP/IP private networks not directly connected to Internet should use special addresses selected by Internet Assigned Numbers Authority (IANA).

Private network Subnet mask IP addresses interval
10.0.0.0 255.0.0.0 10.0.0.1 - 10.255.255.254
172.16.0.0 255.240.0.0 172.16.0.1 - 172.31.255.254
192.168.0.0 255.255.0.0 192.168.0.1 - 192.168.255.254

IP aliasing

Use IP aliasing to assign more IP addresses to the same network interface.

The most common use is with a red interface: when the ISP provides a pool of public IP addresses (within the same subnet) you can add some (or all) of them to the same red interface and manage them individually (e.g. in the port forward configuration).

To add an alias, click the tree-dots menu on right corner of the existing network interface, then select Create alias item.

Nota

IP aliases on PPPoE interface could not work properly, due to different implementations of internet providers.

Logical interfaces

Click on the Add logical interface button to create a new virtual network device. As first step, select a role for the network interface. You can also create a logical interface without a role to use it later with modules like Hotspot (Dedalo).

Supported logical interfaces are:

  • bond: arrange two or more network interfaces (provides load balancing and fault tolerance)
  • bridge: connect two different networks (it’s often used for bridged VPN and virtual machine)
  • VLAN (Virtual Local Area Network): create two or more logically separated networks using a single interface

Bonds allow you to aggregate bandwidth or tolerate link faults. Bonds can be configured in multiple modes.

Modes providing load balancing and fault tolerance:

  • Balance Round Robin (recommended)
  • Balance XOR
  • 802.3ad (LACP): it requires support at driver level and a switch with IEEE 802.3ad Dynamic link aggregation mode enabled
  • Balance TLB: it requires support at driver level
  • Balance ALB

Modes providing fault tolerance only:

  • Active backup (recommended)
  • Broadcast policy

A bridge has the function to connect different network segments, for example by allowing virtual machines, or client connected using a VPN, to access to the local network (green).

When it is not possible to physically separate two different networks, you can use a tagged VLAN. The traffic of the two networks can be transmitted on the same cable, but it will be handled as if it were sent and received on separate network cards. The use of VLAN, requires properly configured switches.

PPPoE

PPPoE (Point-to-Point Protocol over Ethernet) connects the server to Internet through a DSL modem. To create a new PPPoE connection, make sure to have an unassigned Ethernet network interface.

First, click on the Configure button on the unassigned network device, than select the WAN (red) role and click Next. Finally select PPPoE as interface type and fill all required fields like Username and Password.

Static routes

A static route is a rule that specifies how to route some network traffic that must not go through the default gateway.

To add a static routes, click the tree-dots menu on right corner of an existing network interface, then select Create route item. The route must be specified using the CIDR format inside the Network address field, like 10.0.0.0/24. Static routes are added below the interface name.

To remove and existing static route, click on the interface name then click on the Delete button.

Remember to add the network to Trusted networks, if you wish to allow remote hosts to access local services.

Diagnostic tools

Diagnostic tools can be used to troubleshoot network problems. As starting point, use the Routing info button to see current routing rules.

Extra diagnostic tools can be accessed by clicking on the tree-dots menu just on right of the routing information button. Available tools are:

  • Ping: send ICMP packets to a specific host
  • DNS lookup: perform a DNS query on a custom DNS server
  • Traceroute: print the route packets trace to a target network host

Servizi

The page contains a detailed list of all running services. Each service has the following fields:

  • Name: systemd service name
  • Description: optional description of service purpose
  • Enabled: it indicates if a service is marked to be automatically started by the system, usually at boot
  • Running: it indicates if the service is actually running, regardless of its enabled/disabled state
  • Details: inspect all service options by clicking the View link

A network service is a service which has network access and can list TCP/UDP ports to accept local or remote connections. Specific fields for network services are:

  • Access: it can be one ore more network role (like red, green, etc) or a firewall zone
  • Ports: list of TCP and/or UDP ports

Existing services can be started and stopped directly from the buttons under the Action field. Extra actions are available by clicking the tree-dots menu .

Adding new services

All NethServer modules automatically configure their own network services.

Access to custom network services is denied by default. To overcome this limitation, the administrator can create a new network service by clicking on the Add network service button.

Certificates

The Certificates page shows the currently installed X.509 certificates, and the default one provided by system services for TLS/SSL encrypted communications.

NethServer checks the certificates validity and sends an email to the root user if a certificate is near to expire and can’t be automatically renewed.

The Set as default button, available under the the tree-dots menu , allows choosing the default certificate. When a new certificate is chosen, all services using TLS/SSL are restarted and network clients will be required to accept the new certificate.

When NethServer is installed a default RSA self-signed certificate is generated. It should be edited by inserting proper values before configuring the network clients to use it. When the self-signed certificate is due to expire a new one is automatically generated from the same RSA key and with the same attributes.

The Server certificate page also allows:

  • uploading an existing certificate and private RSA/ECC key. Optionally a certificate chain file can be specified, too. All files must be PEM-encoded.

  • requesting a new Let’s Encrypt certificate. This is possible if the following requirements are met:

    1. The server must be reachable from outside at port 80. Make sure your port 80 is open to the public Internet (you can check with sites like CSM);

    2. The domains that you want the certificate for must be public domain names associated to server own public IP. Make sure you have public DNS name pointing to your server (you can check with sites like VDNS).

      Wild card certificates (i.e. *.nethserver.org) are not supported.

    The Notification email will be used by Let’s Encrypt to send notifications about the certificate.

    The Let’s Encrypt certificate is automatically renewed 30 days before expiration date.

Nota

To avoid problems while importing the certificate in Internet Explorer, the Common Name (CN) field should match the server FQDN.

Delete a certificate

Unused certificated can be deleted by clicking the by clicking the Delete button under the tree-dots menu .

The builtin certificate can’t be deleted.

Storage

La sezione storage consente di configurare e monitorare i dischi. L’amministratore può montare nuovi dischi locali o remoti, gestire array RAID e volumi LVM.

Trusted networks

Trusted networks are special networks (local, VPNs or remote) allowed to access special server’s services.

For example, hosts inside trusted networks can access to:

  • Server Manager
  • Shared folders (SAMBA)

New trusted networks can be added using the Add network button.

If the remote network is reachable using a router, remember to add a static route inside Static routes page.

SSH

The System > SSH page displays the number of current SSH connections. From this section the administrator can change the OpenSSH listening port and disable weak ciphers, root login, and password authentication.

By default, SSH and SFTP access is granted to the following groups of administrators:

  • root
  • wheel

When an account provider is configured, the access is granted to domain admins, too. See Account admin for details.

It is possible to grant access to normal users and groups with the Allow SSH/SFTP access selector.

The administrator can harden SSH by restricting the usage of weak ciphers, algorithms and macs. After enabling the Disable weak ciphers option, the host key will change and clients will have to accept the new one. Also, note that big files transfer can be slower with the strong encryption and very old SSH clients may not be able to connect to the server.

Nota

For NethServer up to version 7.7:

The Allow SSH/SFTP access selector is available once the Override the shell of users option has been enabled in System > Settings > Shell policy. If that option is disabled, only users the with Shell option can access the Server Manager, and delegation is not required any more.

See Cambiamenti principali al 05/05/2020 for more information.

Access of the wheel group can be revoked with the following commands:

config setprop sshd AllowLocalGroups ''
signal-event nethserver-openssh-save

The AllowLocalGroups property accepts a comma separated list of /etc/groups names and can be adjusted according to the actual needs (e.g. wheel,srvadmins).

Disk analyzer

This tool is used to visualize disk usage in a simple and nice graph in which you can interact with, click, and double click to navigate in the directories tree.

The chart is updated overnight. Click the Update now in order to index the file system and update the chart. Please note that this process can take several minutes depending on the occupied disk space.

Well known folders are:

  • Shared folders: /var/lib/nethserver/ibay
  • User home directories: /var/lib/nethserver/home
  • Mail: /var/lib/nethserver/vmail
  • Faxes: /var/lib/nethserver/fax
  • MySQL databases: /var/lib/mysql

Impostazioni

La pagina impostazioni consente la configurazione di alcune opzioni che potrebbero avere un impatto su più applicazioni di sistema.

Smart host

Molte applicazioni di sistema, come cron, possono generare notifiche via mail. Se il server non dovesse essere in grado di recapitare direttamente questi messaggi, l’amministratore può configurare un server di inoltro SMTP. Quando lo smarthost è abilitato, tutti i messaggi di posta verranno recapitati attraverso il server configurato.

Notifiche email

Per impostazione predefinita, le notifiche vengono inviate alla maildir locale di root. L’amministratore può cambiare l’indirizzo di inoltro a root aggiungendo uno o più indirizzi di posta elettronica nel campo Destinazione.

È buona pratica impostare un Indirizzo mittente personalizzato: i messaggi dell’utente root (come le notifiche cron) verranno inviati usando l’indirizzo specificato. Una buona scelta potrebbe essere: no-reply@<domain> (in cui <domain> è il dominio del server). Se non impostato, i messaggi verranno inviati usando root@<fqdn> come indirizzo mittente.

Server Manager

Per impostazione predefinita, l’accesso al Server Manager è autorizzato da tutte le zone del firewall. Da questa sezione l’amministratore può limitare l’accesso al Server Manager solo a un elenco di indirizzi IP affidabili.

File di log

Tutti i file di log sono gestiti da logrotate. Logrotate è progettato per facilitare l’amministrazione di un gran numero di file di log. Consente la rotazione, la compressione e la rimozione automatica dei log. Ogni file può essere gestito giornalmente, settimanalmente, mensilmente.

L’amministratore può impostare la configurazione predefinita di logrotate da questa pagina. La configurazione si applicherà a tutte le applicazioni. Tuttavia, alcune applicazioni possono ignorare tale configurazione per rispondere ad esigenze specifiche.

Suggerimenti di configurazione

La maggior parte delle pagine del Server Manager possono visualizzare alcuni suggerimenti per aiutare l’amministratore ad adottare una migliore configurazione del sistema. I suggerimenti sono solo dei consigli e possono essere disabilitati da questo menu.

Cambio password

La pagina delle impostazioni include anche un pannello per consentire agli utenti, incluso l’utente root, di cambiare la propria password.

Criteri shell

This setting was added since NethServer 7.8, to select how the user’s shell is configured.

If the Override the shell of users option is enabled, the old user’s Shell setting under the Users & Groups page is hidden and it is considered always enabled.

This is required by some features introduced starting from NethServer 7.8, like the new Server Manager based on Cockpit, the User settings page and the fine grained SSH and SFTP permissions. See Cambiamenti principali al 05/05/2020 for details.

Pagina impostazioni utente

Quando l’opzione Abilita pagina impostazioni utente è abilitata, gli utenti possono modificare la propria password e altre impostazioni del profilo attraverso una pagina Web esterna a Cockpit (sulla porta 443). La pagina predefinita è / user-settings. Questa funzione può essere abilitata solo se è attiva l’opzione Criteri Shell.

L’accesso alla pagina può essere limitato alle sole reti fidate.

Log

Il sistema fornisce un registro indicizzato denominato journal. Il journal può essere sfogliato da questa pagina: i messaggi possono essere filtrati per servizio, gravità e data.

Applicazioni

La pagina Applicazioni elenca tutte le applicazioni installate. Una applicazione è un modulo del Server Manager generalmente composto da più pagine tra cui una dashboard, una o più sezioni di configurazione e l’accesso ai registri dell’applicazione. Un clic sul pulsante Impostazioni aprirà l’applicazione.

Esistono anche applicazioni più semplici che includono solo un collegamento a pagine Web esterne. Per accedere a tali applicazioni fare clic sul pulsante Apri.

Scorciatoie

L’amministratore può aggiungere dei collegamenti per le applicazioni utilizzate più di frequente. I collegamenti alle applicazioni saranno mostrati nel menu di sinistra.

Solo l’utente root ha accesso a questa funzionalità.

Aggiungi alla home page

Il Launcher è un’applicazione del nuovo Server Manager disponibile per tutti gli utenti su porte HTTPS e HTTP. Il launcher è accessibile tramite l’FQDN del server (ad es. https://my.server.com) e viene automaticamente abilitato se non esiste alcuna home page già configurata all’interno del server Web (nessuna index page nel percorso /var/www/html)

Le applicazioni installate possono essere aggiunte al launcher facendo clic sul pulsante Aggiungi alla home page. Tutti gli utenti saranno in grado di accedere al link pubblico dell’applicazione.

Solo l’utente root ha accesso a questa funzionalità.

Rimozione applicazioni

Per rimuovere un modulo installato, fare clic sul pulsante Rimuovi dell’applicazione corrispondente.

Avvertimento

Quando si disinstalla un modulo, è possibile che vengano rimossi anche altri moduli! Leggere attentamente l’elenco dei pacchetti interessati per evitare di rimuovere delle funzionalità necessarie.

Questa funzionalità non è supportata in NethServer Enterprise

Authentication

The Server Manager can be always accessed from the following users:

  • root
  • members of domain admins groups

Delega

In complex environments, the root user can delegate the access of some Server Manager pages to specific groups of users.

The admin user and the domains admins group are implicitly delegated to all pages. See also Account admin for more information.

Other groups can be delegated to access:

  • one or more pages under the System section
  • una o più applicazioni installate
  • the Subscription page
  • the Software Center page

To create a new delegation, go to the System > User & Groups > List > [Groups] section then select the Delegations action of an existing group. Pick one or more items from the System views and Applications menus.

The following pages are implicitly added to the delegated set:

  • Dashboard
  • Applications
  • Terminal

Nota

For NethServer up to version 7.7:

Anche se un utente è stato delegato, gli deve essere concesso esplicitamente l’accesso alla shell prima di poter accedere a Server Manager.

See Cambiamenti principali al 05/05/2020 for more information.

Autenticazione a due fattori (2FA)

L’autenticazione a due fattori (2FA) può essere utilizzata per aggiungere un ulteriore livello di sicurezza per l’accesso al nuovo Server Manager. Innanzitutto, gli utenti inseriranno nome utente e password, quindi dovranno fornire un codice di verifica temporaneo generato da un’applicazione in esecuzione sul proprio smartphone.

2FA is disabled by default. Users can enable it by themselves, accessing the Two-factor authentication section under their System > Settings page or by pointing the web browser to the /user-settings URL as explained in Pagina impostazioni utente. Thereafter they have to follow these steps:

  1. scaricare e installare nello smartphone l’applicazione 2FA preferita
  2. scansionare il QR code con l’applicazione 2FA
  3. generare un nuovo codice e copiarlo all’interno del campo Codice di verifica, quindi fare clic su Verifica codice
  4. se il codice di verifica è corretto, fare clic sul pulsante Salva

Two-factor authentication can be enabled for the following core applications:

  • il nuovo Server Manager
  • SSH quando si utilizzano nome utente e password (l’accesso con chiave pubblica non richiederà mai il 2FA)

Codici di recupero

È possibile utilizzare i codici di ripristino anziché dei codici temporanei se l’utente non può accedere all’applicazione 2FA sullo smartphone. Ogni codice di ripristino è una one-time password e può essere utilizzato una sola volta.

Per generare nuovi codici di ripristino, disabilitare il 2FA, quindi riattivarlo registrando nuovamente l’applicazione, seguendo i passaggi precedenti.

Applicazioni per smartphone

Esistono diverse applicazioni, commerciali e open source, per il 2FA:

Disponibili sia per Android che per iOS:

  • FreeOTP: disponibile sia per Android che per iOS
  • Authenticator: disponibile solo per iOS
  • andOTP: disponibile sia per Android che per iOS

Ripristino d’emergenza

In caso di emergenza, il 2FA può essere disabilitato accedendo al server da una console fisica, come una tastiera e un monitor, un cavo seriale o una connessione VNC - o simili - per macchine virtuali:

  1. accedere al sistema con nome utente e password

  2. eseguire:

    rm -f ~/.2fa.secret
    sudo /sbin/e-smith/signal-event -j otp-save
    

Successivamente, l’utente root potrà ottenere i codici di recupero per un utente utilizzando il seguente comando, sostituendo <user> con il nome utente effettivo:

oathtool -w 4 $(cat ~<user>/.2fa.secret)

Esempio per l’utente goofy:

# oathtool -w 4 $(cat ~goofy/.2fa.secret)
984147
754680
540025
425645
016250