Bagaimana saya bisa mengaburkan apa yang saya gunakan untuk menjalankan situs saya?


72

Apakah ada yang bisa saya lakukan untuk mencegah seseorang mengetahui situs saya menggunakan Drupal dengan melihat kode sumber halaman depan? Saya merujuk kepada orang-orang yang memindai situs menggunakan perangkat lunak yang mendeteksi perangkat lunak yang digunakan untuk menjalankan situs web untuk dapat menyerang menggunakan titik lemah yang diketahui.

Jika tidak mungkin untuk menyembunyikan fakta bahwa situs tersebut menggunakan Drupal, apakah paling tidak mungkin untuk membingungkan mereka (misalnya, dengan membuka halaman node dengan URL seperti http://example.com/servlets/<node-id>.jsp)?


76
Anda tidak ingin menyembunyikan Drupal. Drupal itu luar biasa.
Damien Tournoud

4
Bagaimana menghapus file CHANGELOG.txt dari direktori root untuk memulai! Tidak tapi serius - terdengar seperti buang-buang waktu bagiku. Tetap perbarui dengan pembaruan keamanan dan tidak perlu menyembunyikan fakta bahwa itu adalah Drupal. Apakah The Whitehouse menyembunyikan fakta bahwa mereka menggunakan Drupal? Tidak, mereka meneriakkannya dari atap :)
Tom Kirkpatrick

10
Dalam hal ini keamanan melalui ketidakjelasan tidak menawarkan keamanan lebih.
Bryan Casler

3
Anda mungkin ingin membaca Cacking Drupal: setetes dalam ember , yang merupakan risalah yang sangat baik untuk mengamankan situs Drupal Anda.
Mawg

2
Jika menurut Anda kasus penggunaan keamanan tidak bertambah, berikut ini alternatifnya: kerahasiaan komersial. Sebuah bisnis mungkin tidak ingin para pesaingnya dapat dengan mudah mengetahui dari mana situs itu dibangun. Atau, agen atau konsultan mungkin ingin membuat para pesaingnya dalam kegelapan tentang berbagai alat yang sedang digunakan.
user56reinstatemonica8

Jawaban:


53

Ini adalah pertanyaan lama dan sudah terjawab, tetapi baru-baru ini saya berupaya menuliskan deskripsi semua hal yang perlu Anda ubah:

  • Hapus generator meta untuk Drupal 7
  • Hapus teks kirim seperti CHANGELOG.txt
  • Periksa tajuk Kedaluwarsa
  • Direktori jalan untuk kode status HTTP 200/404/403
  • Cari pesan teks default - atur semua pesan yang menghadap pengguna
  • Lihatlah HTML - html default dari inti dan modul adalah pertanda

Pada dasarnya: secara teknis mungkin untuk menyembunyikan fakta bahwa situs Anda menjalankan Drupal, tetapi Anda akan menghabiskan begitu banyak waktu untuk itu sehingga tidak sepadan. Sebagai gantinya Anda harus fokus untuk membuatnya aman dan pada operasi yang aman (mis. Kemampuan untuk menyebarkan pembaruan dengan cepat, memonitor log, dll.).


Anda lupa Drupalobjek JavaScript yang perlu diganti namanya.
Mołot

@Banyak poin bagus. Apakah itu mungkin? Adakah petunjuk tentang cara melakukannya? Maksud saya adalah melakukan itu tidak sepadan dengan waktu, jadi menambahkan lebih banyak nasihat tentang cara melakukannya hanya membantu jika lebih jauh dari itu. Saya harap sangat sulit untuk melakukan apa yang Anda sebutkan :)
greggles

Yah, saya mengujinya dengan penggantian massal regex pada direktori Drupal dan itu berhasil ... tapi saya tidak percaya itu benar-benar bagus. Dan itu f * @ # dengan setiap pembaruan modul, tentu saja.
Mołot

Benar. Ini tidak sepadan dengan waktu Anda. Fokus pada hal-hal yang lebih penting :)
greggles

101

Anda tidak bisa menyembunyikannya sepenuhnya. Sebagian besar dari apa yang diperlukan untuk melakukannya, akan membutuhkan inti peretasan. Tanda terbesar, adalah Drupalvariabel JavaScript yang dapat dibaca dari halaman depan, atau halaman apa pun dalam hal ini.

Jika Anda ingin meningkatkan keamanan situs Anda dengan menyembunyikan bahwa itu adalah situs Drupal, usaha Anda lebih baik dihabiskan untuk ulasan kode daripada berusaha menyembunyikan fakta bahwa situs tersebut dibuat dengan Drupal.


7
Sepakat. Hadiah mati lainnya adalah struktur jalur CSS / JS / gambar.
Fuzzy76

2
Anda juga dapat mengunjungi /node/1dan melihat apa yang muncul atau memeriksa tajuk HTTP .
Paul Jones

39
Jika Anda mencoba menyembunyikan situs Anda dengan keamanan melalui ketidakjelasan, Anda hanya akan membuang-buang waktu.
Dave Reid

6
Setuju dengan semua hal di atas. Selain itu, akan lebih sulit bagi orang yang melakukan perbandingan CMS untuk melihat berapa banyak situs yang luar biasa yang menjalankan Drupal ;-)
geerlingguy

Relevan dengan apa geerlingguy mengatakan adalah diskusi kami punya di sini: groups.drupal.org/node/113024#comments
coderintherye

42

Ini terlalu mudah dilakukan, kiam!

  • Gunakan proxy terbalik atau sesuaikan daemon http Anda untuk memfilter header http Drupal yang menjengkelkan
  • Tolak akses http ke folder default Drupal apa pun
  • Gunakan buffering keluaran PHP untuk menulis ulang dan mengaburkan sumber HTML Anda, menghapus data yang tidak perlu
  • Gunakan url alias atau custom_url_rewrite_in / outbound untuk membuat URL Anda berantakan
  • Ubah kesalahan 404 default, hapus / ubah update.php
  • Buat perubahan lain jika ada yang tahu

Dan yang tak kalah pentingnya, pastikan bahwa situs Anda sangat sederhana sehingga tidak memerlukan JS atau CSS untuk perilaku normal (jangan gunakan Tampilan atau Ctools ...), tidak mendukung otentikasi pengguna, dll. Itu berarti situs Anda harus sesederhana situs html statis.

Oke, semua itu membuat orang percaya bahwa situs Anda tidak menjalankan Drupal. Bagaimanapun, keamanan dengan ketidakjelasan tidak berguna.


@ jcisio "Pokoknya, keamanan oleh ketidakjelasan tidak berguna.", Anda harus menambahkan ini di atas komentar Anda: P.
arpitr

@arpitr Semua orang melakukannya, jadi saya rasa saya tidak perlu;)
jcisio

34

Ada artikel resmi dan diskusi tentang hal yang sama .

Kamu tidak bisa Jangan mencoba

  • Serangan otomatis (sejauh ini serangan yang paling umum) bahkan tidak memeriksa server sebelum mencoba eksploitasi mereka .
    Memeriksa log dari setiap situs profil tinggi akan menunjukkan ribuan permintaan sia-sia untuk /AspBB/db/betaboard.mdb _private/cmd.asp /scripts/../../winnt/system32/cmd.exe /wp-login/ /administrator/components/com_wmtgallery/admin.wmtgal, /cgi-bin/ip.cgi... dan sejumlah upaya eksploitasi historis pada sistem yang tidak terkait.
    Serangan pada exploit terjadi bahkan jika exploit tidak ada pada OS atau CMS Anda. Apa pun yang Anda lakukan untuk salah mengidentifikasi situs Anda akan diabaikan oleh peretas amatir.
  • Apa pun yang Anda pikir dapat Anda sembunyikan, ada petunjuk lain untuk sistem apa pun.
    Cukup menghapus beberapa dari semua string yang mengandung 'drupal' tidak menyamarkan situs Anda ke pengintai yang masuk akal. Ada lusinan cara yang dapat digunakan untuk menebak apa yang melayani halaman Anda, bahkan layanan khusus untuk memberi tahu Apakah situs itu menjalankan Drupal. Hanya kata kunci yang Anda kenal dan anggap sebagai ancaman hanyalah sebagian kecil dari indikator yang sebenarnya.
    Minta index.php /? Q = pengguna. Kemudian coba nonaktifkan respons itu tanpa melumpuhkan situs Anda.
  • Keamanan dengan ketidakjelasan bukanlah keamanan. Ini memberikan kesan yang salah tentang 'aman' ketika Anda hanya menyembunyikan kerentanan di balik tabir asap yang dapat diserang oleh setiap penyerang yang memiliki ancaman nyata.
  • Meskipun tidak sepenuhnya mustahil untuk meretas kode ke titik di mana sebagian besar jejak Drupal disembunyikan dari sumber HTML, (Bagaimanapun, ini adalah sumber terbuka) langkah-langkah yang diperlukan untuk melakukannya akan menghancurkan inti dengan sangat buruk sehingga cabang kode Anda yang diretas itu akan tidak kompatibel dengan pembaruan keamanan nyata yang tidak dapat Anda tambal dan akan benar-benar terbuka untuk ancaman nyata di masa depan yang diidentifikasi oleh tim keamanan. Ini adalah rute yang benar untuk kerentanan sistem.
  • Sebagian besar modul yang signifikan atau bermanfaat memiliki kode 'tanda tangan' sendiri yang sulit disembunyikan tanpa penulisan ulang yang signifikan. Jika Anda menggunakan 'views', 'cck', 'ad', 'imagecache', 'jquery', css-aggregation, kontribusi tema atau apapun yang berguna di situs Anda - seseorang dapat mengetahuinya . Menyembunyikan hal itu biasanya membutuhkan konversi total dari fungsi tema - setidaknya. Meski begitu, obsesi pendidikan mungkin tidak akan berhasil .
  • Untuk menghapus identifikasi banyak fitur canggih, seperti bahkan pemasangan mudah Google Analytics yang dapat menggunakan Drupal Libraries untuk bekerja, Anda harus mengabaikan fitur tersebut sama sekali, atau menulis ulang dengan cara yang tidak memanfaatkan infrastruktur Drupal . Terkadang ini mungkin, tetapi dalam semua kasus itu kontraproduktif.

Anda mungkin tertarik untuk membaca Mengamankan situs Anda juga.

Ingat Jangan pernah meretas inti


Meskipun saya setuju dengan ini, saya pikir itu bahkan sebagai garis pertahanan pertama, menghapus header yang merujuk ke PHP dan Drupal adalah hal yang baik untuk dilakukan, serta tidak mengizinkan akses ke skrip php non-indeks. Tidak, tentu saja orang akan selalu menemukan cara untuk mengetahui Anda menjalankan Drupal, dan berpikir Anda dapat menyembunyikan itu konyol. Tapi tidak ada salahnya membuat hidup sedikit lebih sulit bagi peretas yang paling cerdas.
Matt Fletcher

1

Tidak ada gunanya menyembunyikan bahwa situs Anda menjalankan Drupal. Ini adalah cara yang salah untuk melihat pengembangan situs web. Yang harus Anda fokuskan adalah keamanan. Pastikan Anda menerapkan semua tindakan sekuritas dan semuanya akan baik-baik saja. Tidak ada satu alasan di dunia untuk menyembunyikan bahwa Anda menggunakan cm tertentu atau perangkat lunak lain. Dengan addons FF seperti Wappalyzer, Anda dapat langsung tahu jika sebuah situs menggunakan Drupal, jadi pertanyaannya cukup bisa diperdebatkan.


1

Hal tambahan yang dapat Anda lakukan adalah menggunakan modul File Alias ​​untuk mengubah struktur file default.

The Berkas Alias modul memungkinkan Anda untuk menggunakan alias disesuaikan tanda untuk berkas yang diunggah, memberikan Anda kemampuan untuk menjaga sistem file Anda terorganisir seperti biasa sambil memberikan jalan tampak bersih (yaitu, tidak lebih / sites / default / files /).


1
Dan? Itu memperbaiki satu bagian kecil dari proses dan mungkin bahkan bukan bagian yang paling penting.
Greggles

1
Saya tidak ingin mengulangi lagi jawaban yang benar dari orang-orang di atas. Saya hanya menambahkan satu tip lagi. Dan ya tip ini sangat penting, karena itu yang paling sulit dilakukan sampai sekarang, dan biasanya satu-satunya cara untuk memahami situs adalah drupal, karena biasanya webmaster melakukan langkah-langkah biasa kecuali ini. Dan ya, sangat mudah untuk memahami bahwa itu adalah situs drupal hanya karena struktur file / folder organisasi ini.
John

1

Saya setuju dengan orang lain bahwa Anda tidak dapat menyembunyikannya sepenuhnya. Jika Anda melihat sumber HTML, Anda akan melihat bahwa berkali-kali file CSS dan JavaScript belum digabungkan. CSS dan agregasi JavaScript harus diaktifkan.


0

Di masa lalu saya telah bertukar font saya untuk font khas proyek Ruby seperti Lucida Sans, juga meningkatkan ukuran input seperti semua anak-anak hip lakukan.

Hadiah lain adalah grafik "throbber" untuk bidang autocomplete. Ini juga tidak berfungsi ketika Anda menambah ukuran input. Ini salah satu yang bisa Anda curi: http://beta.seattlebedandbreakfast.com/misc/throbber.gif

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.