Saat ini, seiring dengan semakin populernya jaringan komputer, keamanan komputer tidak hanya memerlukan pencegahan virus komputer, tetapi juga meningkatkan kemampuan sistem untuk melawan intrusi ilegal oleh peretas. Hal ini juga memerlukan peningkatan kerahasiaan transmisi data jarak jauh untuk menghindari pencurian ilegal selama transmisi. Artikel ini hanya membahas beberapa situasi yang mungkin terjadi ketika membangun server Web, dengan harapan dapat menarik perhatian.
1. Kerentanan keamanan
Kerentanan pada web server dapat dilihat dari aspek-aspek berikut:
1. File rahasia, direktori, atau data penting di server web yang tidak Anda izinkan untuk diakses orang lain.
2. Saat mengirimkan informasi dari pengguna jarak jauh ke server, terutama saat mengirimkan informasi seperti kartu kredit, informasi tersebut dicegat secara ilegal oleh penjahat di tengah jalan.
3. Ada beberapa kerentanan di server Web itu sendiri, yang memungkinkan beberapa orang menyerang sistem host, menghancurkan beberapa data penting, dan bahkan menyebabkan kelumpuhan sistem.
4. Kerentanan keamanan CGI meliputi:
(1) Menghilangkan Bug di sistem host secara sengaja atau tidak sengaja menciptakan kondisi bagi peretas ilegal.
(2) Program yang ditulis dengan skrip CGI dapat memberikan Web Hazard ke sistem host.
5. Ada juga beberapa server web sederhana yang diunduh dari Internet tanpa memperhitungkan beberapa faktor keamanan dan tidak dapat digunakan untuk aplikasi komersial.
Oleh karena itu, baik Anda mengkonfigurasi server atau menulis program CGI, Anda harus memperhatikan keamanan sistem. Cobalah untuk menutup celah yang ada dan ciptakan lingkungan yang aman.
2. Meningkatkan keamanan dan stabilitas sistem
Tindakan pencegahan keamanan server web:
1. Batasi pembukaan akun di server web dan hapus secara berkala beberapa pengguna yang mengganggu proses.
2. Untuk akun yang dibuka di server Web, buatlah persyaratan mengenai panjang kata sandi dan perubahan rutin untuk mencegah pencurian.
3. Coba pisahkan FTP, MAIL dan server lain darinya, dan hapus beberapa aplikasi yang tidak relevan seperti ftp, sendmail, tftp, NIS, NFS, finger, netstat dan sebagainya.
4. Hapus beberapa penerjemah yang sama sekali tidak diperlukan seperti SHELL di server Web. Artinya, ketika PERL tidak digunakan dalam program CGI Anda, cobalah untuk menghapus PERL di penerjemah sistem.
5. Periksa file log di server secara teratur dan analisis kejadian mencurigakan apa pun. Ketika catatan seperti rm, login, /bin/Perl, /bin/sh, dll. muncul di log kesalahan, server Anda mungkin telah diserang oleh beberapa pengguna ilegal.
6. Tetapkan izin dan atribut file sistem di server Web, tetapkan grup publik, seperti WWW, ke dokumen yang dapat diakses oleh orang lain, dan tetapkan hanya hak baca-saja. Semua file HTML milik grup WWW, dan grup WWW dikelola oleh administrator Web. Hanya administrator Web yang memiliki akses tulis ke file konfigurasi Web.
7. Ketika beberapa server web mengarahkan direktori dokumen Web dan direktori FTP ke direktori yang sama, Anda harus berhati-hati untuk tidak menentukan direktori FTP dan CGI-BIN di direktori yang sama. Hal ini untuk mencegah beberapa pengguna mengunggah beberapa program seperti PERL atau SH melalui FTP dan menggunakan CGI-BIN Web untuk menjalankannya, sehingga menyebabkan konsekuensi yang merugikan.
8. Akses IP atau DNS pengguna dengan membatasi izin, seperti menambahkan: ke access.conf di NCSA:
"Direktori /lengkap/jalur/ke/direktori"
"Batasi DAPATKAN POST"
ketertiban saling gagal
menyangkal dari semua
izinkan dari 168.160.142
"/Membatasi"
"/Direktori"
Dengan cara ini, hanya pelanggan dengan nama domain abc.net.cn atau IP milik 168.160.142 yang dapat mengakses server Web.
Untuk server CERN atau W3C, tambahkan ini ke httpd.conf:
Perlindungan PENGGUNA LOKAL {
DapatkanMask @(*.capricorn.com, *.zoo.org, 18.157.0.5)
}
Lindungi /relatif/jalur/ke/direktori/* PENGGUNA LOKAL
9.HTTPD di bawah WINDOWS
(1) Server Komunikasi Netscape untuk NT
Kerentanan penerjemah PERL:
Server Komunikasi Netscape tidak dapat mengenali ekstensi dan hubungan aplikasinya di bawah CGI-BIN. Misalnya, file .pl adalah file interpretasi yang secara otomatis dipanggil oleh program kode PERL Direktori -BIN. Jalankan seperti: /cgi-bin/Perl.exe? &skrip_saya.pl. Tapi ini
Apakah mungkin bagi seseorang untuk mengeksekusi PERL ketika seseorang menambahkan sesuatu seperti: /cgi-bin/Perl.exe ke URL browsernya? -e unlink <*> dapat menyebabkan risiko penghapusan file di direktori server saat ini. Namun, situs lain seperti O'Reilly WebSite atau Purveyor tidak memiliki kerentanan ini.
Kerentanan dalam eksekusi CGI pada file batch:
Isi file test.bat adalah sebagai berikut:
@gema mati
echo Tipe konten: teks/polos
gema
gema Halo Dunia!
Bagaimana jika URL browser pelanggan adalah:/cgi-bin/test.bat? &dir, kemudian penerjemah perintah dijalankan untuk melengkapi daftar DIR. Ini memberi pengunjung kemungkinan untuk menjalankan perintah lain.
(2) Server Situs Web O′Reilly untuk Windows NT/95
Kerentanan yang sama seperti Netscape terjadi ketika menggunakan file batch di versi sebelum WebSite1.1B. Namun, versi baru menutup peran .bat di CGI. Mendukung PERL, dan versi baru menggunakan VB dan C sebagai alat pengembangan CGI.
(3) Server Web IIS Microsoft
IIS sebelum 5 Maret 1996 memiliki bug serius di bawah NT, dan Anda dapat menggunakan perintah perintah secara sewenang-wenang. Namun, kerentanannya telah ditambal dan Anda dapat memeriksa tanggal pembuatan file executable Anda. Masih ada beberapa bug keamanan di IIS 3.0, terutama hak pemberian di bawah CGI-BIN. Selain itu, banyak server web sendiri yang memiliki beberapa kerentanan keamanan, yang terus diperbarui selama proses peningkatan versi. Saya tidak akan mencantumkannya satu per satu di sini.
[Potong Halaman]
3. Pertimbangkan keamanan dari perspektif pemrograman CGI
1. Lebih aman menggunakan bahasa yang dikompilasi daripada bahasa yang ditafsirkan, dan program CGI harus ditempatkan di bawah CGI-BIN yang tidak bergantung pada direktori penyimpanan HTML. Hal ini untuk mencegah beberapa pengunjung ilegal mendapatkan sumber bahasa yang ditafsirkan dari browser dalam kode.
2. Saat menulis program CGI di C, Anda harus mencoba menggunakan popen(), system(), semua perintah SHELL yang melibatkan /bin/sh serta system(), exec(), open(), eval( di PERL ) dan perintah lain seperti exec atau eval.
Ketika formulir yang diisi oleh pengguna dikembalikan ke CGI, jangan langsung memanggil fungsi seperti system().
Selain itu, untuk enkripsi dan transmisi data, saat ini terdapat protokol SSL, SHTTP, SHEN dan lainnya untuk dipelajari semua orang.
4. tembok api
1. Konsep firewall
Firewall mengacu pada perangkat yang terdiri dari perangkat lunak atau kombinasi perangkat lunak dan perangkat keras. Terletak di antara komputer suatu perusahaan atau grup jaringan dan saluran eksternal (Internet). Ini membatasi akses pengguna eksternal ke jaringan internal dan mengelola akses pengguna internal ke jaringan eksternal.
2. Tindakan firewall
(1) Tuan rumah proksi
"Jaringan Internal--Gerbang Proxy--Internet"
Dengan cara ini, jaringan internal tidak berkomunikasi langsung dengan Internet. Artinya, pengguna komputer jaringan internal dan gateway proxy mengadopsi metode komunikasi, yaitu menyediakan protokol jaringan internal (Netbios, TCP/IP, dll.), dan protokol komunikasi jaringan TCP/IP standar diadopsi antara gateway dan Internet. Hal ini mencegah paket data jaringan berpindah secara langsung antara jaringan internal dan eksternal. Komputer internal harus mengakses Internet melalui gateway proxy, yang memudahkan untuk membatasi komputer jaringan internal mengakses komputer eksternal di server proxy. Selain itu, karena server proxy menggunakan standar protokol yang berbeda di kedua ujungnya, server ini juga dapat secara langsung mencegah intrusi ilegal dari dunia luar. Selain itu, gateway server proxy dapat melakukan kontrol keamanan seperti memverifikasi paket data dan mengonfirmasi kata sandi. Dengan cara ini, pengguna di kedua ujung dapat dikontrol dan dikelola dengan lebih baik, berfungsi sebagai firewall.
Karena tindakan firewall ini diterapkan melalui server proxy, efisiensinya pasti akan terpengaruh ketika ada banyak pengguna online. Server proxy sangat terbebani, sehingga banyak perangkat lunak klien yang mengakses Internet mungkin tidak dapat mengakses Internet secara normal di internal komputer jaringan.
(2) Filter penambahan router selesai
"Jaringan Internal--Filter--Router--Internet"
Struktur ini menggunakan router dan filter untuk bersama-sama membatasi komputer eksternal mengakses jaringan internal berdasarkan alamat IP atau nama domain. Struktur ini juga dapat menentukan atau membatasi akses ke Internet dari jaringan internal. Router hanya merutekan komunikasi data pada PORT tertentu di host, sementara filter melakukan pemfilteran, pemfilteran, verifikasi, dan pemantauan keamanan, yang sebagian besar dapat mengisolasi login akses abnormal antara jaringan internal dan eksternal.
[Potong Halaman]3. Pertimbangkan keamanan dari perspektif pemrograman CGI
1. Lebih aman menggunakan bahasa yang dikompilasi daripada bahasa yang ditafsirkan, dan program CGI harus ditempatkan di bawah CGI-BIN yang tidak bergantung pada direktori penyimpanan HTML. Hal ini untuk mencegah beberapa pengunjung ilegal mendapatkan sumber bahasa yang ditafsirkan dari browser dalam kode.
2. Saat menulis program CGI di C, Anda harus mencoba menggunakan popen(), system(), semua perintah SHELL yang melibatkan /bin/sh serta system(), exec(), open(), eval( di PERL ) dan perintah lain seperti exec atau eval.
Ketika formulir yang diisi oleh pengguna dikembalikan ke CGI, jangan langsung memanggil fungsi seperti system().
Selain itu, untuk enkripsi dan transmisi data, saat ini terdapat protokol SSL, SHTTP, SHEN dan lainnya untuk dipelajari semua orang.
4. tembok api
1. Konsep firewall
Firewall mengacu pada perangkat yang terdiri dari perangkat lunak atau kombinasi perangkat lunak dan perangkat keras. Terletak di antara komputer suatu perusahaan atau grup jaringan dan saluran eksternal (Internet). Ini membatasi akses pengguna eksternal ke jaringan internal dan mengelola akses pengguna internal ke jaringan eksternal.
2. Tindakan firewall
(1) Tuan rumah proksi
"Jaringan Internal--Gerbang Proksi--Internet"
Dengan cara ini, jaringan internal tidak berkomunikasi langsung dengan Internet. Artinya, pengguna komputer jaringan internal dan gateway proxy mengadopsi metode komunikasi, yaitu menyediakan protokol jaringan internal (Netbios, TCP/IP, dll.), dan protokol komunikasi jaringan TCP/IP standar diadopsi antara gateway dan Internet. Hal ini mencegah paket data jaringan berpindah secara langsung antara jaringan internal dan eksternal. Komputer internal harus mengakses Internet melalui gateway proxy, yang memudahkan untuk membatasi komputer jaringan internal mengakses komputer eksternal di server proxy. Selain itu, karena server proxy menggunakan standar protokol yang berbeda di kedua ujungnya, server ini juga dapat secara langsung mencegah intrusi ilegal dari dunia luar. Selain itu, gateway server proxy dapat melakukan kontrol keamanan seperti memverifikasi paket data dan mengonfirmasi kata sandi. Dengan cara ini, pengguna di kedua ujung dapat dikontrol dan dikelola dengan lebih baik, berfungsi sebagai firewall.
Karena tindakan firewall ini diterapkan melalui server proxy, efisiensinya pasti akan terpengaruh ketika ada banyak pengguna online. Server proxy sangat terbebani, sehingga banyak perangkat lunak klien yang mengakses Internet mungkin tidak dapat mengakses Internet secara normal di internal komputer jaringan.
(2) Filter penambahan router selesai
"Jaringan Internal--Filter--Router--Internet"
Struktur ini menggunakan router dan filter untuk bersama-sama membatasi komputer eksternal mengakses jaringan internal berdasarkan alamat IP atau nama domain. Struktur ini juga dapat menentukan atau membatasi akses ke Internet dari jaringan internal. Router hanya merutekan komunikasi data pada PORT tertentu di host, sementara filter melakukan pemfilteran, pemfilteran, verifikasi, dan pemantauan keamanan, yang sebagian besar dapat mengisolasi login akses abnormal antara jaringan internal dan eksternal.