Panduan Pengerasan dan Keamanan Apache Tomcat

Panduan praktis untuk pengerasan dan keamanan Apache Tomcat Server dengan praktik terbaik.


Tomcat adalah salah satu server Servlet dan JSP Container yang paling populer. Ini digunakan oleh beberapa situs web dengan traffic tinggi berikut:

  • LinkedIn.com
  • Dailymail.co.uk
  • Comcast.net
  • Wallmart.com
  • Reuters.com
  • Meetup.com
  • Webs.com

Bagan di bawah ini menunjukkan posisi pasar Tomcat di server aplikasi Java.

Sumber: Plumbr

Secara teknis, Anda dapat menggunakan Tomcat sebagai server front-end untuk melayani permintaan situs secara langsung. Namun, dalam lingkungan produksi, Anda mungkin ingin menggunakan beberapa server web seperti Apache, Nginx sebagai front-end untuk merutekan permintaan ke Tomcat.

Menggunakan server web untuk menangani permintaan memberi kinerja dan keamanan manfaat. Jika Anda menggunakan Apache HTTP sebagai server web front-end, maka Anda harus mempertimbangkan untuk mengamankannya juga.

Memiliki konfigurasi Tomcat default dapat memaparkan informasi sensitif, yang membantu hacker untuk mempersiapkan serangan terhadap aplikasi.

Berikut ini diuji pada Tomcat 7.x, lingkungan UNIX.

Hadirin

Ini dirancang untuk Administrator Middleware, Dukungan Aplikasi, Analis Sistem, atau siapa pun yang bekerja atau ingin mempelajari Pengerasan dan Keamanan Tomcat.

Pengetahuan yang bagus tentang Tomcat & Perintah UNIX adalah wajib.

Catatan

Kami memerlukan beberapa alat untuk memeriksa HTTP Header untuk verifikasi. Ada dua cara Anda bisa melakukan ini.

Jika pengujian Menghadapi internet aplikasi, maka Anda dapat menggunakan alat HTTP Header berikut untuk memverifikasi implementasi.

Dan untuk sebuah Aplikasi intranet, Anda dapat menggunakan Google Chrome, alat pengembang Firefox.

Sebagai praktik terbaik, Anda harus mengambil cadangan dari setiap file yang akan Anda modifikasi.

Kami akan memanggil folder Instalasi Tomcat sebagai $ kucing jantan seluruh pedoman ini.

Mari kita lakukan pengerasan & prosedur pengamanan.

Hapus Server Banner

Menghapus Server Banner dari HTTP Header adalah salah satu hal pertama yang harus dilakukan sebagai pengerasan.

Memiliki spanduk server memaparkan produk dan versi yang Anda gunakan dan mengarah pada kerentanan kebocoran informasi.

Secara default, halaman yang dilayani oleh Tomcat akan ditampilkan seperti ini.

Mari kita sembunyikan detail produk dan versi dari header Server.

  • Pergi ke folder $ tomcat / conf
  • Ubah server.xml dengan menggunakan vi
  • Tambahkan berikut ke port Connector

Server = “”

Mis .: –

  • Simpan file dan mulai ulang Tomcat. Sekarang, ketika Anda mengakses aplikasi, Anda akan melihat nilai kosong untuk header Server.

Memulai Tomcat dengan Manajer Keamanan

Manajer Keamanan melindungi Anda dari applet yang tidak terpercaya yang berjalan di browser Anda.

Menjalankan Tomcat dengan manajer keamanan lebih baik daripada berlari tanpa Tomcat. Tomcat memiliki dokumentasi yang sangat baik tentang Manajer Keamanan Tomcat.

Hal yang baik tentang ini adalah Anda tidak perlu mengubah file konfigurasi apa pun. Itu hanya cara Anda menjalankan file startup.sh.

Yang harus Anda lakukan adalah memulai kucing jantan dengan argumen –security.

[[dilindungi email] bin] # ./startup.sh -security
Menggunakan CATALINA_BASE: / opt / tomcat
Menggunakan CATALINA_HOME: / opt / tomcat
Menggunakan CATALINA_TMPDIR: / opt / tomcat / temp
Menggunakan JRE_HOME: / usr
Menggunakan CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Menggunakan Manajer Keamanan
Tomcat mulai.
[[dilindungi email] tempat sampah]#

Aktifkan SSL / TLS

Melayani permintaan web melalui HTTPS sangat penting untuk melindungi data antara klien dan Tomcat. Untuk membuat aplikasi web Anda dapat diakses melalui HTTPS, Anda perlu menerapkan sertifikat SSL.

Dengan asumsi, Anda sudah memiliki keystore siap dengan sertifikat, Anda dapat menambahkan baris di bawah ini di file server.xml di bawah bagian Port konektor.

SSLEnabled ="benar" skema ="https" keystoreFile ="ssl / bloggerflare.jks" keystorePass ="chandan" clientAuth ="Salah" sslProtocol ="TLS"

Ubah nama file dan kata sandi Keystore dengan Anda.

Jika Anda memerlukan bantuan dengan keystore & Proses CSR, kemudian lihat panduan ini.

Terapkan HTTPS

Ini hanya berlaku ketika Anda mengaktifkan SSL. Jika tidak, itu akan merusak aplikasi.

Setelah Anda mengaktifkan SSL, alangkah baiknya untuk memaksa pengalihan semua permintaan HTTP ke HTTPS untuk komunikasi yang aman antara pengguna ke server aplikasi Tomcat.

  • Pergi ke folder $ tomcat / conf
  • Ubah web.xml dengan menggunakan vi
  • Tambahkan berikut sebelum sintaks

Konteks yang Dilindungi
/ *

RAHASIA

  • Simpan file dan mulai ulang Tomcat

Tambahkan Aman & Tandai HttpOnly ke Cookie

Dimungkinkan untuk mencuri atau memanipulasi sesi aplikasi web dan cookie tanpa memiliki cookie yang aman. Itu adalah bendera yang disuntikkan di header respons.

Ini dilakukan dengan menambahkan di bawah baris di bagian sesi-konfigurasi file web.xml

benar
benar

Tangkapan layar konfigurasi:

Simpan file dan mulai ulang Tomcat untuk memeriksa header respons HTTP.

Jalankan Tomcat dari Akun tidak istimewa

Adalah baik untuk menggunakan pengguna non-istimewa terpisah untuk Tomcat. Idenya di sini adalah untuk melindungi layanan lain yang berjalan jika ada akun yang dikompromikan.

  • Buat pengguna UNIX, katakanlah kucing jantan

useradd tomcat

  • Hentikan Tomcat jika berjalan
  • Ubah kepemilikan $ tomcat menjadi tomcat pengguna

chown -R tomcat: tomcat tomcat /

Mulai Tomcat dan pastikan itu berjalan dengan pengguna kucing jantan

Hapus Aplikasi default / tidak diinginkan

Secara default, Tomcat hadir dengan aplikasi web berikut, yang mungkin diperlukan atau tidak dalam lingkungan produksi.

Anda dapat menghapusnya agar tetap bersih dan menghindari risiko keamanan yang diketahui dengan aplikasi default Tomcat.

  • ROOT – Halaman pembuka default
  • Dokumentasi – dokumentasi Tomcat
  • Contoh – JSP dan servlets untuk demonstrasi
  • Manajer, host-manajer – Administrasi Tomcat

Mereka tersedia di bawah folder $ tomcat / webapps

[[dilindungi email] webapps] # ls -lt
drwxr-xr-x 14 tomcat tomcat 4096 Sep 29 15:26 docs
drwxr-xr-x 7 tomcat tomcat 4096 Sep 29 15:26 contoh
drwxr-xr-x 5 tomcat tomcat 4096 Sep 29 15:26 host-manager
drwxr-xr-x 5 tomcat tomcat 4096 Sep 29 15:26 manajer
drwxr-xr-x 3 tomcat tomcat 4096 Sep 29 15:26 ROOT
[[dilindungi email] webapps] #

Ubah port dan Perintah SHUTDOWN

Secara default, tomcat dikonfigurasikan untuk dimatikan pada port 8005.

Tahukah Anda bahwa Anda dapat mematikan tomcat dengan melakukan telnet ke IP: port dan mengeluarkan perintah SHUTDOWN?

Chandans # telnet localhost 8005
Mencoba :: 1 … telnet:
terhubung ke alamat :: 1:
Koneksi ditolak. Mencoba 127.0.0.1…
Terhubung ke localhost.
Karakter melarikan diri adalah ‘^]’.
SHUTDOWN Koneksi ditutup oleh tuan rumah asing.
Chandans #

Berbahaya!

Soalnya, memiliki konfigurasi default mengarah ke risiko keamanan tinggi.

Disarankan untuk mengubah port tomcat shutdown dan perintah default menjadi sesuatu yang tidak dapat diprediksi.

  • Ubah yang berikut ini di server.xml

8005 – Ubah ke beberapa port lain yang tidak digunakan

SHUTDOWN – Ubah ke sesuatu yang rumit

Ex-

Ganti halaman 404, 403, 500 default

Memiliki halaman default untuk tidak ditemukan, dilarang, kesalahan server memperlihatkan detail versi.

Mari kita lihat halaman 404 default.

Untuk mengurangi, Anda dapat terlebih dahulu membuat halaman kesalahan umum dan mengkonfigurasi web.xml untuk mengarahkan ke halaman kesalahan umum.

  • Pergi ke $ tomcat / webapps / $ aplikasi
  • Buat file error.jsp menggunakan vi editor

Halaman Kesalahan

Itu kesalahan!

  • Pergi ke folder $ tomcat / conf
  • Tambahkan berikut ini di file web.xml. Pastikan Anda menambahkan sebelum sintaks

404
/error.jsp

403
/error.jsp

500
/error.jsp

  • Mulai ulang server kucing jantan untuk mengujinya

Jauh lebih baik!

Anda dapat melakukan ini untuk java.lang.Exception juga. Ini akan membantu dalam tidak mengekspos informasi versi kucing jantan jika ada java java pengecualian.

Cukup tambahkan berikut ini di web.xml dan restart server tomcat.

java.lang.Exception
/error.jsp

Saya harap panduan di atas memberi Anda gagasan untuk mengamankan Tomcat. Jika Anda ingin mempelajari lebih lanjut tentang administrasi Tomcat, periksa ini kursus online.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:

    Panduan Pengerasan dan Keamanan Apache Tomcat

    Panduan praktis untuk pengerasan dan keamanan Apache Tomcat Server dengan praktik terbaik.


    Tomcat adalah salah satu server Servlet dan JSP Container yang paling populer. Ini digunakan oleh beberapa situs web dengan traffic tinggi berikut:

    • LinkedIn.com
    • Dailymail.co.uk
    • Comcast.net
    • Wallmart.com
    • Reuters.com
    • Meetup.com
    • Webs.com

    Bagan di bawah ini menunjukkan posisi pasar Tomcat di server aplikasi Java.

    Sumber: Plumbr

    Secara teknis, Anda dapat menggunakan Tomcat sebagai server front-end untuk melayani permintaan situs secara langsung. Namun, dalam lingkungan produksi, Anda mungkin ingin menggunakan beberapa server web seperti Apache, Nginx sebagai front-end untuk merutekan permintaan ke Tomcat.

    Menggunakan server web untuk menangani permintaan memberi kinerja dan keamanan manfaat. Jika Anda menggunakan Apache HTTP sebagai server web front-end, maka Anda harus mempertimbangkan untuk mengamankannya juga.

    Memiliki konfigurasi Tomcat default dapat memaparkan informasi sensitif, yang membantu hacker untuk mempersiapkan serangan terhadap aplikasi.

    Berikut ini diuji pada Tomcat 7.x, lingkungan UNIX.

    Hadirin

    Ini dirancang untuk Administrator Middleware, Dukungan Aplikasi, Analis Sistem, atau siapa pun yang bekerja atau ingin mempelajari Pengerasan dan Keamanan Tomcat.

    Pengetahuan yang bagus tentang Tomcat & Perintah UNIX adalah wajib.

    Catatan

    Kami memerlukan beberapa alat untuk memeriksa HTTP Header untuk verifikasi. Ada dua cara Anda bisa melakukan ini.

    Jika pengujian Menghadapi internet aplikasi, maka Anda dapat menggunakan alat HTTP Header berikut untuk memverifikasi implementasi.

    Dan untuk sebuah Aplikasi intranet, Anda dapat menggunakan Google Chrome, alat pengembang Firefox.

    Sebagai praktik terbaik, Anda harus mengambil cadangan dari setiap file yang akan Anda modifikasi.

    Kami akan memanggil folder Instalasi Tomcat sebagai $ kucing jantan seluruh pedoman ini.

    Mari kita lakukan pengerasan & prosedur pengamanan.

    Hapus Server Banner

    Menghapus Server Banner dari HTTP Header adalah salah satu hal pertama yang harus dilakukan sebagai pengerasan.

    Memiliki spanduk server memaparkan produk dan versi yang Anda gunakan dan mengarah pada kerentanan kebocoran informasi.

    Secara default, halaman yang dilayani oleh Tomcat akan ditampilkan seperti ini.

    Mari kita sembunyikan detail produk dan versi dari header Server.

    • Pergi ke folder $ tomcat / conf
    • Ubah server.xml dengan menggunakan vi
    • Tambahkan berikut ke port Connector

    Server = “”

    Mis .: –

    • Simpan file dan mulai ulang Tomcat. Sekarang, ketika Anda mengakses aplikasi, Anda akan melihat nilai kosong untuk header Server.

    Memulai Tomcat dengan Manajer Keamanan

    Manajer Keamanan melindungi Anda dari applet yang tidak terpercaya yang berjalan di browser Anda.

    Menjalankan Tomcat dengan manajer keamanan lebih baik daripada berlari tanpa Tomcat. Tomcat memiliki dokumentasi yang sangat baik tentang Manajer Keamanan Tomcat.

    Hal yang baik tentang ini adalah Anda tidak perlu mengubah file konfigurasi apa pun. Itu hanya cara Anda menjalankan file startup.sh.

    Yang harus Anda lakukan adalah memulai kucing jantan dengan argumen –security.

    [[dilindungi email] bin] # ./startup.sh -security
    Menggunakan CATALINA_BASE: / opt / tomcat
    Menggunakan CATALINA_HOME: / opt / tomcat
    Menggunakan CATALINA_TMPDIR: / opt / tomcat / temp
    Menggunakan JRE_HOME: / usr
    Menggunakan CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
    Menggunakan Manajer Keamanan
    Tomcat mulai.
    [[dilindungi email] tempat sampah]#

    Aktifkan SSL / TLS

    Melayani permintaan web melalui HTTPS sangat penting untuk melindungi data antara klien dan Tomcat. Untuk membuat aplikasi web Anda dapat diakses melalui HTTPS, Anda perlu menerapkan sertifikat SSL.

    Dengan asumsi, Anda sudah memiliki keystore siap dengan sertifikat, Anda dapat menambahkan baris di bawah ini di file server.xml di bawah bagian Port konektor.

    SSLEnabled ="benar" skema ="https" keystoreFile ="ssl / bloggerflare.jks" keystorePass ="chandan" clientAuth ="Salah" sslProtocol ="TLS"

    Ubah nama file dan kata sandi Keystore dengan Anda.

    Jika Anda memerlukan bantuan dengan keystore & Proses CSR, kemudian lihat panduan ini.

    Terapkan HTTPS

    Ini hanya berlaku ketika Anda mengaktifkan SSL. Jika tidak, itu akan merusak aplikasi.

    Setelah Anda mengaktifkan SSL, alangkah baiknya untuk memaksa pengalihan semua permintaan HTTP ke HTTPS untuk komunikasi yang aman antara pengguna ke server aplikasi Tomcat.

    • Pergi ke folder $ tomcat / conf
    • Ubah web.xml dengan menggunakan vi
    • Tambahkan berikut sebelum sintaks

    Konteks yang Dilindungi
    / *

    RAHASIA

    • Simpan file dan mulai ulang Tomcat

    Tambahkan Aman & Tandai HttpOnly ke Cookie

    Dimungkinkan untuk mencuri atau memanipulasi sesi aplikasi web dan cookie tanpa memiliki cookie yang aman. Itu adalah bendera yang disuntikkan di header respons.

    Ini dilakukan dengan menambahkan di bawah baris di bagian sesi-konfigurasi file web.xml

    benar
    benar

    Tangkapan layar konfigurasi:

    Simpan file dan mulai ulang Tomcat untuk memeriksa header respons HTTP.

    Jalankan Tomcat dari Akun tidak istimewa

    Adalah baik untuk menggunakan pengguna non-istimewa terpisah untuk Tomcat. Idenya di sini adalah untuk melindungi layanan lain yang berjalan jika ada akun yang dikompromikan.

    • Buat pengguna UNIX, katakanlah kucing jantan

    useradd tomcat

    • Hentikan Tomcat jika berjalan
    • Ubah kepemilikan $ tomcat menjadi tomcat pengguna

    chown -R tomcat: tomcat tomcat /

    Mulai Tomcat dan pastikan itu berjalan dengan pengguna kucing jantan

    Hapus Aplikasi default / tidak diinginkan

    Secara default, Tomcat hadir dengan aplikasi web berikut, yang mungkin diperlukan atau tidak dalam lingkungan produksi.

    Anda dapat menghapusnya agar tetap bersih dan menghindari risiko keamanan yang diketahui dengan aplikasi default Tomcat.

    • ROOT – Halaman pembuka default
    • Dokumentasi – dokumentasi Tomcat
    • Contoh – JSP dan servlets untuk demonstrasi
    • Manajer, host-manajer – Administrasi Tomcat

    Mereka tersedia di bawah folder $ tomcat / webapps

    [[dilindungi email] webapps] # ls -lt
    drwxr-xr-x 14 tomcat tomcat 4096 Sep 29 15:26 docs
    drwxr-xr-x 7 tomcat tomcat 4096 Sep 29 15:26 contoh
    drwxr-xr-x 5 tomcat tomcat 4096 Sep 29 15:26 host-manager
    drwxr-xr-x 5 tomcat tomcat 4096 Sep 29 15:26 manajer
    drwxr-xr-x 3 tomcat tomcat 4096 Sep 29 15:26 ROOT
    [[dilindungi email] webapps] #

    Ubah port dan Perintah SHUTDOWN

    Secara default, tomcat dikonfigurasikan untuk dimatikan pada port 8005.

    Tahukah Anda bahwa Anda dapat mematikan tomcat dengan melakukan telnet ke IP: port dan mengeluarkan perintah SHUTDOWN?

    Chandans # telnet localhost 8005
    Mencoba :: 1 … telnet:
    terhubung ke alamat :: 1:
    Koneksi ditolak. Mencoba 127.0.0.1…
    Terhubung ke localhost.
    Karakter melarikan diri adalah ‘^]’.
    SHUTDOWN Koneksi ditutup oleh tuan rumah asing.
    Chandans #

    Berbahaya!

    Soalnya, memiliki konfigurasi default mengarah ke risiko keamanan tinggi.

    Disarankan untuk mengubah port tomcat shutdown dan perintah default menjadi sesuatu yang tidak dapat diprediksi.

    • Ubah yang berikut ini di server.xml

    8005 – Ubah ke beberapa port lain yang tidak digunakan

    SHUTDOWN – Ubah ke sesuatu yang rumit

    Ex-

    Ganti halaman 404, 403, 500 default

    Memiliki halaman default untuk tidak ditemukan, dilarang, kesalahan server memperlihatkan detail versi.

    Mari kita lihat halaman 404 default.

    Untuk mengurangi, Anda dapat terlebih dahulu membuat halaman kesalahan umum dan mengkonfigurasi web.xml untuk mengarahkan ke halaman kesalahan umum.

    • Pergi ke $ tomcat / webapps / $ aplikasi
    • Buat file error.jsp menggunakan vi editor

    Halaman Kesalahan

    Itu kesalahan!

    • Pergi ke folder $ tomcat / conf
    • Tambahkan berikut ini di file web.xml. Pastikan Anda menambahkan sebelum sintaks

    404
    /error.jsp

    403
    /error.jsp

    500
    /error.jsp

    • Mulai ulang server kucing jantan untuk mengujinya

    Jauh lebih baik!

    Anda dapat melakukan ini untuk java.lang.Exception juga. Ini akan membantu dalam tidak mengekspos informasi versi kucing jantan jika ada java java pengecualian.

    Cukup tambahkan berikut ini di web.xml dan restart server tomcat.

    java.lang.Exception
    /error.jsp

    Saya harap panduan di atas memberi Anda gagasan untuk mengamankan Tomcat. Jika Anda ingin mempelajari lebih lanjut tentang administrasi Tomcat, periksa ini kursus online.

    Jeffrey Wilson Administrator
    Sorry! The Author has not filled his profile.
    follow me
      Like this post? Please share to your friends:
      Adblock
      detector
      map