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?

David Winiecki
sumber
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
b13n1u
sumber
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
dmourati
sumber
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