Mencegah Apache memulai setelah pemasangan apt-get


15

Ketika saya apt-get install apache2server mulai secara otomatis ketika instalasi selesai, dan konfigurasi Apache default membuat semuanya /var/www/dapat diakses oleh sisi klien. Jadi jika saya mempunyai skrip sisi server sumber tertutup atau informasi rahasia lainnya di direktori itu sebelum menginstal Apache, ini dapat diakses secara publik hingga saya mengubah konfigurasi Apache dan memulai kembali Apache atau sampai saya menghentikan Apache.

aku bisa melakukan ini

sudo apt-get install -y apache2
sudo service apache2 stop
# Finish setting up...

Dan kemudian hanya ada jendela singkat di mana hal-hal rahasia dapat diakses, tetapi akan lebih baik untuk mencegah Apache memulai secara otomatis sama sekali dan tidak pernah mengekspos /var/www/bahkan untuk satu saat pun.

Apakah ada opsi yang bisa saya berikan apt-get installatau cara lain untuk mencegah Apache memulai secara otomatis setelah diinstal?


Saya tidak tahu apa perilaku itu ketika Anda mengkompilasi Apache sendiri daripada menggunakan apt-get. Saya kira jika Anda mengkompilasinya sendiri, Anda dapat menemukan kode yang memulai Apache setelah menginstal dan menonaktifkannya. Itu mungkin jawaban yang layak jika seseorang dapat menjelaskan secara lebih rinci. Namun jawaban ideal untuk pertanyaan seperti yang disebutkan masih akan digunakan apt-get.
David Winiecki

5
Mengapa tidak firewall saja dari server Anda sebentar saat melakukan upgrade?
EEAA

Saya kira pertanyaan saya adalah jenis duplikat dari yang ini di askubuntu.com: askubuntu.com/questions/74061/...
David Winiecki

1
Namun pilihan lain: Gunakan distribusi Red Hat / CentOS, yang tidak menderita dari ini atau salah satu dari kegilaan Debian lainnya.
Michael Hampton

Jawaban:


13

Coba ini:

  1. Buat file /usr/sbin/policy-rc.ddengan konten berikut:
#!/bin/sh  
exit 101
  1. Jadikan itu dapat dieksekusi:
chmod +x /usr/sbin/policy-rc.d

Setelah ini, semua paket akan diinstal tetapi layanan tidak akan dimulai.

Setelah selesai, Anda dapat menghapus file:

rm -f /usr/sbin/policy-rc.d

Saya sedang mencoba ini. Info lebih lanjut di sini: jpetazzo.github.io/2013/10/06/... (Saya akan menggunakan #!.)
David Winiecki

10

Banyak pilihan:

  1. Pindahkan konten sumber tertutup dari /var/www
  2. Ubah izin pada konten tersebut sehingga pengguna apache tidak dapat membacanya
  3. Iptables menghentikan lalu lintas port 80/443
  4. Lewati variabel lingkungan runlevel ke apt-get:
sudo RUNLEVEL=1 apt-get install apache2

Bukankah instalasi apache2 membiarkan file konfigurasi "saat ini" tetap ada? Misalnya, templat yang tersisa di /etc/apache2/httpd.conf tidak akan ditimpa, bukan?
Hyppy

Saya pikir mengubah konfigurasi Apache (setelah membuat / var / www tidak dapat diakses menggunakan salah satu metode dalam jawaban ini) tersirat.
David Winiecki

Maksud saya, saya tidak berpikir salah satu dari 4 metode ini akan memodifikasi konfigurasi Apache.
David Winiecki

1
Saya pikir saya akan menggunakan RUNLEVEL=1karena sepertinya pilihan paling sederhana dan itu berfungsi dalam sebuah tes, tetapi iptables atau firewall lain memang terasa seperti cara yang benar.
David Winiecki
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.