Isu keselamatan rangkaian yang perlu diberi perhatian semasa membina pelayan web pada CentOS

WBOY
Lepaskan: 2023-08-06 20:37:45
asal
1133 orang telah melayarinya

Isu keselamatan rangkaian yang perlu diberi perhatian semasa membina pelayan web di CentOS

Dengan perkembangan pesat Internet, semakin banyak syarikat dan individu telah mula membina pelayan web mereka sendiri untuk mengehoskan laman web. Walau bagaimanapun, isu keselamatan rangkaian juga telah menjadi faktor yang tidak boleh diabaikan. Artikel ini akan memperkenalkan beberapa isu keselamatan rangkaian yang perlu diberi perhatian semasa membina pelayan CentOS, dan memberikan beberapa contoh kod untuk menggambarkan penyelesaian.

1. Kemas kini sistem dan perisian

Sebelum menyediakan pelayan web, anda perlu mengemas kini sistem dan perisian CentOS terlebih dahulu. Gunakan arahan berikut untuk mengemas kini sistem dan pakej anda serta memasang patch keselamatan terkini.

yum update -y
Salin selepas log masuk

2. Lumpuhkan perkhidmatan yang tidak diperlukan

Apabila membina pelayan web, untuk mengurangkan kemungkinan permukaan serangan, beberapa perkhidmatan yang tidak diperlukan harus dilumpuhkan. Contohnya, matikan perkhidmatan yang tidak selamat seperti FTP dan Telnet, dan hanya dayakan perkhidmatan HTTP dan HTTPS yang diperlukan.

Gunakan arahan berikut untuk melumpuhkan perkhidmatan yang tidak diperlukan:

systemctl disable vsftpd
systemctl disable xinetd
Salin selepas log masuk

3. Konfigurasikan tembok api

CentOS mempunyai tembok api tembok api terbina dalam, yang boleh menyekat IP dan port mengakses pelayan dengan mengkonfigurasi peraturan tembok api. Berikut ialah contoh konfigurasi tembok api mudah:

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload
Salin selepas log masuk

Konfigurasi di atas membenarkan akses HTTP dan HTTPS.

4. Gunakan penyulitan HTTPS

Apabila membina pelayan web, anda harus mempertimbangkan untuk menggunakan HTTPS untuk menyulitkan data yang dihantar. HTTPS menggunakan protokol SSL/TLS untuk menyulitkan data, yang boleh menghalang data daripada dicuri dan diusik dengan berkesan.

Pertama, anda perlu menjana sijil SSL dan kunci peribadi untuk pelayan. Berikut ialah contoh menggunakan OpenSSL untuk menjana sijil yang ditandatangani sendiri:

openssl req -newkey rsa:2048 -nodes -keyout server.key -x509 -days 365 -out server.crt
Salin selepas log masuk

Server.key dan server.crt yang dijana ialah kunci peribadi dan fail sijil masing-masing. Kemudian, anda perlu meletakkan kedua-dua fail ini dalam direktori SSL pelayan web dan mengkonfigurasi pelayan web untuk menyokong akses HTTPS.

5. Lumpuhkan penyemakan imbas direktori yang tidak diperlukan

Apabila membina pelayan web, fungsi penyemakan imbas direktori yang tidak perlu harus dilumpuhkan untuk menghalang penggodam daripada mendapatkan maklumat senarai fail pada pelayan. Ini boleh dicapai dengan mengubah suai fail konfigurasi pelayan web.

Mengambil pelayan Apache sebagai contoh, anda boleh mengubah suai fail httpd.conf dan menambah baris berikut dalam direktori sasaran:

Options -Indexes
Salin selepas log masuk

6. Hadkan muat naik fail

Apabila membina pelayan web, anda harus mengehadkan jenis dan saiz fail yang dimuat naik untuk mengelakkan Muat naik fail berniat jahat. Ini boleh dicapai dengan mengkonfigurasi pelayan web.

Mengambil pelayan Nginx sebagai contoh, anda boleh mengubah suai fail nginx.conf dan menambah baris berikut dalam blok http:

client_max_body_size 10m;
Salin selepas log masuk

Konfigurasi di atas mengehadkan saiz maksimum fail yang dimuat naik kepada 10MB.

7. Lindungi kata laluan pangkalan data

Apabila membina pelayan web, jika pangkalan data digunakan, anda harus memberi perhatian untuk melindungi kata laluan pangkalan data. Ini boleh dicapai dengan menyimpan kata laluan pangkalan data dalam fail konfigurasi dan menetapkan kebenaran fail yang sesuai.

Contoh Kod:

import os

def read_db_password():
    with open('/var/www/config/db_config.txt', 'r') as f:
        password = f.read().strip()
    return password

def main():
    db_password = read_db_password()
    # do something with the password

if __name__ == '__main__':
    main()
Salin selepas log masuk

Kod contoh di atas menyimpan kata laluan pangkalan data dalam fail /var/www/config/db_config.txt dan membaca kata laluan daripada fail. Pastikan fail hanya boleh dibaca oleh pengguna pelayan web.

Ringkasan:

Apabila membina pelayan web CentOS, isu keselamatan rangkaian tidak boleh diabaikan. Dengan mengemas kini sistem dan perisian, melumpuhkan perkhidmatan yang tidak diperlukan, mengkonfigurasi tembok api, menggunakan penyulitan HTTPS, melumpuhkan penyemakan imbas direktori yang tidak perlu, menyekat muat naik fail dan melindungi kata laluan pangkalan data, keselamatan rangkaian pelayan boleh dipertingkatkan dengan berkesan. Pembangun dan pentadbir pelayan harus memberi perhatian yang teliti terhadap ancaman keselamatan terkini dan mengambil langkah keselamatan yang sesuai untuk melindungi keselamatan data pelayan dan pengguna.

Atas ialah kandungan terperinci Isu keselamatan rangkaian yang perlu diberi perhatian semasa membina pelayan web pada CentOS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan