Melindungi Pelayan Apache di CentOS 6

Adalah mudah untuk mengambil jalan pintas semasa mengamankan pelayan, tetapi anda akan mengambil risiko kehilangan data sekiranya penyerang mendapat akses root ke mana-mana pelayan anda. Walaupun untuk pemasangan yang mudah, anda perlu melindungi pelayan anda terlebih dahulu. Melindungi pelayan adalah topik yang luas, dan berbeza-beza bergantung pada OS dan aplikasi yang dijalankan di atasnya.

Tutorial ini memberi tumpuan untuk mengamankan Apache di bawah CentOS 6. Terdapat beberapa langkah pemasangan pasca yang boleh anda lakukan untuk melindungi diri anda dari peningkatan hak istimewa, dan juga serangan di bawah hak istimewa.

Tanpa basa-basi lagi, mari kita mulakan.

Langkah 1 - Memasang pelayan web

Sudah tentu, jika anda tidak memasang Apache atau PHP, anda harus melakukannya sekarang. Jalankan perintah ini sebagai pengguna root, atau gunakan sudo:

yum install httpd php

Langkah 2 - Melindungi direktori kediaman anda

Sekarang Apache dipasang, mari kita teruskan dan selamatkannya. Pertama, kami ingin memastikan direktori pengguna lain tidak dapat dilihat oleh sesiapa kecuali pemiliknya. Kami akan membuat semua direktori rumah kepada 700, sehingga hanya pemilik direktori rumah yang dapat melihat fail mereka sendiri. Jalankan arahan ini sebagai root, atau gunakan sudo:

chmod 700 /home
chmod 700 /home/*
chmod 700 /home/*/*

Dengan menggunakan wildcard, kami merangkumi semua fail yang ada di direktori utama.

Langkah 3 - Terapkan patch keselamatan ke Apache untuk pemisahan hak istimewa pengguna

Sebelum kita menambal Apache, kita perlu terlebih dahulu memasang repositori yang mengandungi pakej dengan tambalan tersebut. Jalankan arahan berikut sebagai root (atau sudo).

yum install epel-release
yum install httpd-itk

Dengan "apache2-mpm-itk", kita dapat memberitahu pengguna PHP apa yang harus dijalankan berdasarkan pada hos maya. Ini menambahkan pilihan konfigurasi baru AssignUserId virtualhost-user virtualhost-user-group, yang memungkinkan kita memberitahu Apache / PHP untuk menjalankan kod pengguna di bawah akun pengguna tertentu.

Sekiranya anda berkongsi pelayan ini, saya menganggap anda sudah membuat hos maya untuk Apache sebelum ini. Sekiranya demikian, anda boleh melangkah ke langkah 4.

Langkah 3 - Membuat hos maya pertama anda

Anda boleh mengikuti templat di bawah untuk membuat hos maya di Apache.

NameVirtualHost mytest.website

<VirtualHost mytest.website>

DocumentRoot /home/vhost-user/public_html
ServerName mytest.website
</VirtualHost>

Buka editor teks kegemaran anda /etc/httpd/conf.d/example-virtualhost.confdan kemudian tambahkan kandungan di atas ke dalamnya. Inilah arahan untuk menggunakan nano:

nano /etc/httpd/conf.d/example-virtualhost.conf

Izinkan saya menerangkan konfigurasi di sini. Apabila kita menentukan "NameVirtualHost", kita sebenarnya memberitahu pelayan web bahawa kita mengehoskan beberapa domain pada satu IP . Sekarang, dalam contoh ini, saya gunakan mytest.websitesebagai domain contoh. Ubah itu menjadi milik anda, atau domain pilihan anda. DocumentRootadalah apa yang memberitahu Apache di mana kandungannya berada. ServerNameadalah arahan yang kami gunakan untuk memberitahu domain laman web Apache. Dan satu teg terakhir </VirtualHost>, yang memberitahu Apache bahawa itu adalah akhir konfigurasi host maya.

Langkah 4 - Mengkonfigurasi Apache untuk dijalankan sebagai pengguna lain

Seperti yang telah disebutkan sebelumnya, sebahagian dari keselamatan pelayan anda termasuk menjalankan Apache / PHP sebagai pengguna terpisah untuk setiap host maya. Memberitahu Apache untuk melakukan ini adalah mudah setelah kami menggunakan patch - yang perlu anda lakukan ialah menambahkan:

AssignUserId vhost-user vhost-user-group

... untuk konfigurasi anda. Inilah contoh hos maya selepas kami menambahkan pilihan ini:

NameVirtualHost mytest.website

<VirtualHost mytest.website>

DocumentRoot /home/vhost-user/public_html
ServerName mytest.website
AssignUserId vhost-user vhost-user-group

</VirtualHost>

Keajaiban itu sesuai dengan AssignUserId. Dengan pilihan ini, kami menyuruh Apache / PHP berjalan sebagai pengguna / kumpulan berikut.

Langkah 5 - Menyembunyikan versi Apache

Langkah ini agak mudah; buka sahaja fail konfigurasi Apache dengan menjalankan perintah berikut sebagai pengguna root:

nano /etc/httpd/conf/httpd.conf

Cari "ServerTokens", dan ubah pilihan selepasnya menjadi "ProductOnly". Ini memberitahu Apache untuk hanya mendedahkan bahawa itu "Apache", bukan "Apache / 2.2" atau sesuatu yang serupa.

Langkah 6 - Memulakan semula Apache untuk menerapkan perubahan

Sekarang setelah kita melindungi pelayan, kita mesti memulakan semula pelayan Apache. Lakukan ini dengan menjalankan perintah berikut sebagai root atau dengan sudo:

service httpd restart

Kesimpulannya

Ini hanya beberapa langkah yang boleh anda lakukan untuk melindungi pelayan anda. Sekali lagi, walaupun seseorang yang anda percayai menghosting laman web di pelayan anda, anda harus merancang untuk melindunginya. Dalam senario di atas, walaupun akaun pengguna terganggu, penyerang tidak akan mendapat akses ke seluruh pelayan.



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut