Base di conoscenze
1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Questa guida spiega come proteggere il tuo sito web e i suoi visitatori dallo sfruttamento malizioso del MIME-Type sniffing.
Premessa
- Il MIME-Type sniffing, o rilevamento del tipo MIME, è una tecnica utilizzata dai browser web per determinare il tipo di contenuto di una risorsa quando il tipo MIME fornito dal server è ambiguo, mancante o errato.
- Sebbene ciò possa talvolta migliorare l'esperienza utente rendendo il contenuto accessibile nonostante gli errori di configurazione del server, questa funzionalità introduce anche vulnerabilità di sicurezza significative:
- Quando un browser effettua il MIME-Type sniffing, può interpretare un file di testo come uno script eseguibile, aprendo così la porta ad attacchi di cross-site scripting (XSS); ad esempio, un file destinato ad essere trattato come testo semplice potrebbe essere interpretato come JavaScript, permettendo ad un attaccante di eseguire codice malizioso sul browser dell'utente.
- Disattivando il MIME-Type sniffing, proteggi i visitatori dall'esecuzione non autorizzata di script dannosi e rafforzi anche la sicurezza generale del tuo sito web riducendo i potenziali vettori di attacco.
Disattivare il MIME-Type sniffing
Per proteggere gli utenti e le applicazioni Web da questo tipo di vulnerabilità, è possibile disattivare il rilevamento automatico del tipo di risorsa tramite il file .htaccess
dei tuoi siti per indicare al browser di fare affidamento strettamente sul tipo MIME specificato dal server senza cercare di indovinarlo.
Inserendo il codice riportato di seguito nel file .htaccess
, si assicura che il MIME-Type sniffing sia disattivato purché il modulo mod_headers
(che consente di aggiungere l'intestazione riportata di seguito) sia attivato sul server Apache:
- Apri il file
.htaccess
del sito interessato tramite FTP Manager o un software/client FTP. Aggiungi il seguente codice:
<IfModule mod_headers.c> Header always set X-Content-Type-Options "nosniff" </IfModule>
- Salva il file
.htaccess
.
SafeMode, o modalità sicura, è una misura di sicurezza che limita alcune funzionalità del server per prevenire potenziali attacchi.
È stata abbandonata a partire da PHP 5.3.0 poiché considerata inefficace per garantire la sicurezza e poteva causare problemi di compatibilità con alcune applicazioni.
Infomaniak utilizzava le restrizioni open_basedir per le sue vecchie formule di hosting che non sono più attivate sulle offerte attuali.
Questa guida dettaglia la creazione di un deposito GIT sia sul tuo Hosting Web che sul tuo Server Cloud Infomaniak.
Premessa
- GIT e GitHub sono disponibili per impostazione predefinita sui due supporti menzionati.
- Per ulteriori assistenza contattate un partner o lanciate gratuitamente una richiesta di offerta — scoprite anche il ruolo dell'host.
Creazione del deposito GIT
Configurazione, sul server:
- il repository GIT è su
/git_depot
- il sito si trova nella cartella
/web/[projet]
(nel tuo server FTP)
Comandi da indicare:
cd
mkdir git_depot
cd git_depot/
git init --bare [projet].git
cd [projet].git
git update-server-info
Invio del deposito locale al server
Da fare sul computer locale:
git init
git remote add origin ssh://user@[xxxxx].ftp.infomaniak.com:/home/clients/[123465789]/git_depot/[projet].git
git status
git add .
git commit -a -m "init"
git push --set-upstream origin master
git push
Clonazione del sito nella directory del server
Da fare sul server:
cd
cd web
rm -r [projet]/
git clone /home/clients/[123465789]/git_depot/[projet].git [projet]/
Il modulo CGID per Apache è stato disattivato sulle offerte di hosting Web condiviso di Infomaniak.
Se necessario, è quindi consigliabile passare a un'offerta Serveur Cloud se attualmente si è su un'hosting web condiviso, il passaggio avviene in modo trasparente: consultare questa guida per ulteriori dettagli.
Questa guida spiega come sostituire, all'interno di un hosting Web Infomaniak, l'indirizzo di un sito attualmente sottodominio (https://dev.domain.xyz
ad esempio) con il dominio principale (https://domain.xyz
).
Premessa
- Le operazioni in breve:
- Si inizia con un sito creato e accessibile tramite l'URL del dominio principale
dev.domain.xyz
. - Gli si aggiunge un alias
domain.xyz
. - Si invertano i due tipi (il dominio principale diventa alias e l'alias diventa principale).
- Si rimuove l'alias
dev.domain.xyz
.
- Si inizia con un sito creato e accessibile tramite l'URL del dominio principale
- Nota che la posizione del sito rimane nella cartella originale sul server; il nome di questa posizione può essere della forma
/sites/dev.domain.xyz
ma ciò non ha alcuna influenza sul sito in produzione. - Prendi anche visione dell'ultimo capitolo di questa altra guida.
Le operazioni nel dettaglio
Per passare da un sito con un indirizzo di tipo sottodominio "dev.domain.xyz
" a un indirizzo diretto "domain.xyz
":
- Clicca qui per accedere alla gestione del tuo prodotto su Manager Infomaniak (hai bisogno di aiuto?).
- Clicca direttamente sul nome attribuito al prodotto interessato.
- Clicca quindi sulla freccia per espandere la sezione Domini di questo sito:
- Fai clic sul pulsante Aggiungi un dominio:
- Aggiungi il nuovo nome desiderato, seleziona le caselle corrispondenti.
- Fai clic sul pulsante per Confermare:
- Una volta effettuato l'aggiunta, clicca sul menu delle azioni ⋮ situato a destra dell'elemento interessato.
- Seleziona di impostare l'elemento come dominio principale:
- Conferma l'operazione per procedere all'inversione dei domini.
Questa guida riguarda la compatibilità tra gli hosting Infomaniak e il linguaggio C# / framework .NET più l'implementazione Mono.
Tecnologie per lo sviluppo del software
Per poter utilizzare il linguaggio C# e il framework .NET, con l'implementazione Mono, per sviluppare applicazioni software che possono essere distribuite ed eseguite su diverse piattaforme, al di fuori dell'ecosistema Windows, è necessario considerare offerte come:
La portabilità e flessibilità offerte da queste tecnologie per lo sviluppo software multi-piattaforma implica che un hosting web condiviso non sarà compatibile.
Questa guida riguarda la cache delle query MySQL che, quando è attivata, memorizza in memoria i risultati delle query già eseguite.
Premessa
- MySQL Query Cache consente di accelerare le richieste successive identiche evitando di eseguirle nuovamente.
- Questo può migliorare le prestazioni complessive del server del database riducendo il carico e diminuendo il tempo di risposta per le query frequenti.
query_cache_type ON o OFF?
Sugli Hébergements Web mutualizzati (quindi fuori Serveur Cloud) MySQL Query Cache non è né attivato né attivabile.
Su Serveur Cloud, attivate MySQL Query Cache tramite Fast Installer.
Questa guida riguarda il file di configurazione "browscap.ini", utilizzato dalla libreria PHP "browscap" che contiene informazioni sui browser web e le loro caratteristiche, come il nome, la versione, i sistemi operativi compatibili, le capacità di navigazione, ecc.
Informazioni sul file
Il file "browscap.ini" riflette le ultime informazioni sui browser web. Può essere utilizzato con gli script PHP che richiedono la libreria "browscap".
Il phpinfo indica dove si trova il file browscap.ini, ovvero:
/opt/php/lib/php/browscap.ini
Puoi recuperare tu stesso il contenuto del file tramite uno script PHP, ad esempio:
<?php
header("Content-type: text/plain");
print file_get_contents("/opt/php/lib/php/browscap.ini");
?>
Nota che la libreria "browscap" non è più ampiamente utilizzata e che molti sviluppatori preferiscono altre soluzioni per rilevare i browser, come la funzione nativa PHP "get_browser()".
Questa guida spiega come attivare PHP-FPM status
per esempio per debuggare un sito lento a livello PHP.
Premessa
PHP-FPM status
consente, tra l'altro, di monitorare in tempo reale gli script in esecuzione e il loro tempo di esecuzione.- Questa operazione è possibile solo su Serveur Cloud.
Attivare PHP-FPM status
Per attivare PHP-FPM
su un sito, contattate il supporto Infomaniak da un indirizzo email menzionato nel vostro account utente per autenticare la richiesta.
Nella tua richiesta, per favore indica l'indirizzo IP di origine che deve essere autorizzato.
Una volta attivato PHP-FPM status
, i seguenti link URL permetteranno di visualizzare le informazioni necessarie:
- https://domain.xyz/fpm-status?json&full
- https://domain.xyz/fpm-status?html&full
- https://domain.xyz/fpm-status?xml&full
Attenzione: se il tuo sito contiene regole di reindirizzamento (rewrite rules) che includono il percorso /fpm-status
, sarà probabilmente necessario fare un'eccezione.
Questa guida riguarda la reindirizzazione del traffico web verso una porta specifica, inclusi i casi di utilizzo di un IP dedicato e di un'applicazione web specifica (come Node
o Varnish
, ad esempio).
Prerequisiti
- Installare
HAProxy
sul Server Cloud.
Reindirizzare il traffico Web verso una porta specifica
Per impostazione predefinita, su Serveur Cloud, il traffico Web viene inviato a Apache
. Per inviare le richieste a uno script Node
o a un altro servizio (a condizione che "ascolti" su una porta compresa tra 4000 e 4009), è necessario passare attraverso HAProxy
.
Questo si applica in particolare ai server Express
, Socket.IO
, Meteor.js
, Nuxt.js
, Django
, Flask
, Ruby on Rails
, e anche eventualmente Java (J2E)
, ecc.
Per questo, è necessario assicurarsi che il servizio ascolti su una porta compresa tra 4000 e 4009 (ad esempio con server.listen(4000)
per Express
o un server HTTP Node
di base, ma a seconda del tipo di progetto, con altri mezzi, un file di configurazione, nel codice o altro) e su tutte le interfacce (0.0.0.0).
Sarà inoltre necessario configurare HAProxy
come nell'esempio seguente:
- Clicca qui per accedere alla gestione del tuo prodotto su Manager Infomaniak (hai bisogno di aiuto?).
- Fai clic direttamente sul nome assegnato al prodotto interessato.
- Clicca su Fast installer nel menu laterale sinistro.
- Clicca sul menu delle azioni ⋮ situato a destra di
HAProxy
. - Clicca su Configura:
- Seleziona le informazioni desiderate e salva:
Recupero dell'IP di origine di una richiesta
Quando reindirizzi il traffico web verso la tua applicazione web, l'elaborazione delle richieste cambia e la richiesta viene prima ricevuta da un reverse proxy
(locale sul server) che poi trasferisce la richiesta alla porta scelta. Pertanto, a causa del trasferimento della richiesta, i metodi che normalmente consentono di recuperare l'IP del visitatore restituiranno l'IP del reverse proxy
invece di quella del visitatore.
Per recuperare l'IP di origine reale del visitatore in questi casi, è necessario consultare un header HTTP chiamato X-Forwarded-For
, che conterrà gli indirizzi IP di origine accumulati durante ogni reindirizzamento. Questo header conterrà quindi per ultimo l'indirizzo IP originale del cliente, permettendo di identificare il visitatore reale.
Attenzione: È importante notare che gli header HTTP possono essere manipolati, il che comporta rischi per la sicurezza. Per minimizzare questi rischi, è consigliabile verificare che la richiesta provenga da un server affidabile prima di fidarsi del contenuto dell'header X-Forwarded-For
. Questa verifica può comportare l'assicurarsi che la richiesta sia stata trasmessa da un server intermedio di fiducia, identificato da un elenco predefinito di indirizzi IP. Nel caso in cui il sito utilizzi un IP dedicato, i server di fiducia sono:
- 83.166.133.15
- 83.166.133.17
- 83.166.133.16
- 84.16.92.5
- 84.16.92.43
- 10.2.32.255
- 10.2.34.164