Saya tidak ingin ada orang yang dapat mendeteksi bahwa saya menggunakan NGINX atau bahkan Ubuntu dari internet. Ada alat di luar sana (seperti BuiltWith) yang memindai server untuk mendeteksi alat apa yang mereka gunakan. Juga, beberapa alat cracking mungkin membantu dengan mendeteksi. Apa yang terbaik / paling dekat dengan yang saya bisa sembunyikan semua info ini dari luar?
80
Jika Anda telah menginstal nginx menggunakan apt-get di Debian atau Ubuntu, Anda mungkin perlu menginstal paket nginx-ekstra untuk mengatur atau menghapus header "Server"
Setelah ini selesai, Anda dapat menambahkan baris di bawah ini di nginx.conf (biasanya /etc/nginx/nginx.conf):
Untuk menghapus tajuk "Server" sekaligus:
Untuk menetapkan string khusus sebagai "Server"
sumber
more_clear_headers Server;
berfungsi pada Debian Jessie 8.5 nginx versi: nginx / 1.6.2http
,server
,location
, danlocation if
konteks. Sumber: dokumentasi ngx_headers_moresudo apt-get install nginx-extras
dan kemudian setel tajukunknown directive "more_set_headers"
. Memecahkannya dengan mengaktifkan modul secara eksplisit di/etc/nginx/nginx.conf
. Cukup tambahkanload_module modules/ngx_http_headers_more_filter_module.so;
di awal file konfigurasi.@ Martin F. Ya, benar. Anda harus mengkompilasinya dari sumber dan mengubah apa yang diperlukan sebelum mengkompilasi sumber.
Saya berasumsi Anda mengunduh versi stabil terakhir yang Anda dekompresi dan Anda tahu di mana file-file itu. Jika itu masalahnya, lakukan hal berikut:
Kemudian cari baris 48 jika saya ingat dengan benar.
Ganti nginx dengan misalnya MyWhthingServerNameIWant mis
Kemudian
mencari garis
ubah "nginx /" menjadi "MyWh whateverServerNameIWant /" jadi ia akan membaca
Akhirnya jika Anda ingin juga mengubah nomor versi
cari baris #define NGINX_VERSION "1.0.4"
dan ubah "1.0.4" untuk versi apa pun yang Anda inginkan. Misalnya akan membaca
Semoga ini bisa membantu. Namun. Mengamankan server jauh melampaui tidak menunjukkan apa yang sedang berjalan. PHP pada dasarnya tidak aman, demikian juga linux. Tentu saja linux bisa sangat aman jika semua langkah yang diperlukan diambil untuk mencapai keamanan yang layak. Sejauh menyangkut PHP, saya akan merekomendasikan menggunakan Suoshin untuk membantu memperkeras keamanan kode Anda.
sumber
Setelah banyak waktu mencari cara untuk membuat rasa nginx khusus di ubuntu saya menyadari Anda dapat menggunakan modul lua untuk ini.
Di ubuntu 14.04 jika Anda menginstal
nginx-extras
paket, Anda dapat menghapus header server dengan menggunakan:header_filter_by_lua 'ngx.header["server"] = nil';
Lemparkan ini di blok http dan setiap permintaan tidak memiliki
Server
header.Jika tidak berhasil jalankan
nginx -V
untuk memverifikasi bahwa Anda memiliki modul lua dikompilasi ke dalam salinan nginx Anda. Jika tidak, kemungkinan ada paket alternatif yang bisa Anda gunakan untuk mendapatkannya.sumber
nginx-extra
buatanmore_set_headers "Server: whatever";
, jadi +1: DAlih-alih header_filter_by_lua disarankan untuk menggunakan header_filter_by_lua_block direktif baru yang inline sumber Lua langsung antara kurung kurawal (
{}
). Dengan ini tidak diperlukan untuk melarikan diri karakter khusus.header_filter_by_lua_block { ngx.header["server"] = nil }
https://github.com/openresty/lua-nginx-module#header_filter_by_lua_block
sumber
Pertama dan terpenting: Mengapa menggunakan modul tambahan sebagai Header More Nginx? Hanya untuk menyembunyikan header server. Jika beberapa baris, tambalan sederhana dapat mencapai solusi yang sama untuk Anda.
Seperti menggunakan modul tambahan dapat mengakibatkan ketidakstabilan (seberapa baik telah diuji dengan lingkungan Anda? Dengan modul Anda yang lain, dll) atau rasa tidak aman (apakah modul ini diperbarui secara berkala dengan bug dan / atau perbaikan terkait keamanan?)
Kedua. Utas ini menjelaskan sebagai balasan 279389 bagaimana Anda dapat menyesuaikan kode Nginx untuk mengubah header server. Masalahnya adalah mereka lupa HTTP / 2. Singkatnya, tidak ada yang akan berubah. Header server akan tetap terlihat.
Lebih sedikit lebih banyak lebih baik. Ok saya akui, saya juga sudah mencari solusi yang bagus untuk waktu yang lama. Tetapi akhirnya ditemukan:
Patch penghapusan header server Nginx
Saya akhirnya ditebus dari header server Nginx yang mengganggu itu.
sumber
Jalankan fungsi bash ini di folder kode sumber nginx. Dalam versi nginx- $, bukan di src /.
Berdasarkan jawaban ini .
sumber
Lihat intisari ini . Tentunya akan membantu Anda.
sumber