@Martin F. Sì. Dovrai compilarlo dalla fonte e cambiare ciò che è necessario prima di compilare la fonte.
Presumo che tu abbia scaricato l'ultima versione stabile che l'hai decompressa e sai dove sono i file. In tal caso, procedi come segue:
nano src/http/ngx_http_header_filter_module.c
Quindi cerca la riga 48 se ricordo bene.
static char ngx_http_server_string[] = "Server: nginx" CRLF;
Sostituisci nginx con MyWhateverServerNameIWant ad es
static char ngx_http_server_string[] = "Server: MyWhateverServerNameIWant" CRLF;
Poi
nano src/core/nginx.h
cerca la linea
#define NGINX_VER "nginx/" NGINX_VERSION
cambia "nginx /" in "MyWhateverServerNameIWant /" in modo che legga
#define NGINX_VER "MyWhateverServerNameIWant" NGINX_VERSION
Infine, se vuoi anche cambiare il numero di versione
cercare la riga #define NGINX_VERSION "1.0.4"
e cambia "1.0.4" per qualsiasi versione desideri. Ad esempio leggerà
#define NGINX_VERSION "5.5.5"
Spero che sia d'aiuto. Tuttavia. La protezione di un server va ben oltre il non mostrare ciò che è in esecuzione. PHP è per natura insicuro, così come Linux. Ovviamente Linux può essere abbastanza sicuro se vengono prese tutte le misure necessarie per ottenere una sicurezza decente. Per quanto riguarda PHP, consiglierei di usare Suoshin per aiutare a rafforzare la sicurezza del tuo codice.