@ Martin F. Sim, sim. Você precisará compilá-lo da fonte e alterar o que for necessário antes de compilar a fonte.
Suponho que você baixou a última versão estável, descompactou e sabe onde estão os arquivos. Se for esse o caso, faça o seguinte:
nano src/http/ngx_http_header_filter_module.c
Então procure a linha 48 se bem me lembro.
static char ngx_http_server_string[] = "Server: nginx" CRLF;
Substitua nginx por MyWhateverServerNameIWant, por exemplo
static char ngx_http_server_string[] = "Server: MyWhateverServerNameIWant" CRLF;
Então
nano src/core/nginx.h
procure a linha
#define NGINX_VER "nginx/" NGINX_VERSION
altere "nginx /" para "MyWhateverServerNameIWant /" para ler
#define NGINX_VER "MyWhateverServerNameIWant" NGINX_VERSION
Finalmente, se você também quiser alterar o número da versão
procure a linha #define NGINX_VERSION "1.0.4"
e mude "1.0.4" para a versão que você desejar. Por exemplo, ele lerá
#define NGINX_VERSION "5.5.5"
Espero que ajude. Mesmo assim. Proteger um servidor vai muito além de não mostrar o que está sendo executado. O PHP é inseguro por natureza, e o linux também. Fora do curso, o linux pode ser bastante seguro se todas as medidas necessárias forem tomadas para obter uma segurança decente. No que diz respeito ao PHP, eu recomendaria o uso do Suoshin para ajudar a fortalecer a segurança do seu código.