Bagaimana cara melindungi sistem ERP Anda?

Pada artikel sebelumnya kami memberi tahu banyak tentang keamanan sistem ERP. Sekarang kami ingin berbicara tentang cara untuk melindungi mereka.



Perlindungan sistem ERP adalah sebuah tantangan. Proyek komprehensif yang baik mungkin membutuhkan waktu bertahun-tahun untuk diselesaikan, terutama ketika berhadapan dengan lanskap besar. Namun, investasi itu layak. Berikut adalah beberapa langkah dasar yang akan membantu Anda merancang implementasi SAP Anda dengan aman ketika Anda berada dalam tahap perencanaan. Anda juga dapat menerapkan metodologi ini untuk melindungi sistem Anda dari serangan paling umum.


1. Lindungi dari serangan eksternal, nonaktifkan layanan tidak aman


Aplikasi yang lebih atau kurang kompleks memiliki fungsi besar yang diperlukan secara umum, tetapi tidak perlu dalam kasus tertentu. Hampir semua fungsi ini dalam sistem ERP tipikal diaktifkan secara default.


Seperti biasa, instalasi SAP mencakup sekitar 1500 berbagai layanan web, yang tersedia dari jarak jauh atas nama pengguna terdaftar, jika layanan diaktifkan secara default. Selain itu, sekitar 40 layanan dapat diakses bahkan oleh pengguna anonim. Beberapa makalah penelitian menunjukkan 13 layanan kritis. Seperti disebutkan di atas, ini hanya layanan dasar.


Kami menyarankan Anda menerapkan rekomendasi dari pedoman yang disebutkan di atas sesegera mungkin - menonaktifkan semua layanan yang dapat diakses oleh pengguna anonim, menganalisis mana dari layanan yang diinstal yang diperlukan, dan tambahan membatasi akses dengan menerapkan pemeriksaan otorisasi.
Arsitektur sistem SAP harus mencakup proksi berbasis web (SAP Web Dispatcher) yang akan membatasi akses ke semua layanan yang tidak perlu dari luar dan memungkinkan akses hanya ke yang diperlukan.
Dispatcher SAP Web terletak antara Internet dan sistem SAP Anda. Ini adalah titik masuk untuk permintaan HTTP ke sistem Anda, yang terdiri dari satu atau lebih server aplikasi SAP NetWeaver. Karena itu SAP Web Dispatcher berkontribusi terhadap keamanan dan menyeimbangkan beban dalam sistem SAP Anda.


Informasi tambahan tentang SAP Web Dispatcher dapat Anda temukan di sini .


2. Menerapkan prinsip-prinsip SOD


Solusi SAP memiliki berbagai peluang fungsional, yang diimplementasikan melalui program, transaksi, dan laporan. Akses ke objek-objek ini harus diatur secara ketat berdasarkan nilai otorisasi yang mendefinisikan pengguna, metode, dan objek, yang diizinkan untuk diakses. Akses ke tindakan kritis (misalnya, hak akses untuk mengubah transaksi atau membaca tabel apa pun) memungkinkan pengguna untuk melakukan serangan pada sistem SAP, meningkatkan hak istimewa mereka atau mencuri data penting.


Segregasi Tugas (SoD) adalah metode keamanan untuk mencegah konflik kepentingan, yaitu, untuk menghindari dua hak akses yang lebih - yang diberikan bersama-sama - dapat menimbulkan risiko tindakan penipuan (misalnya, hak untuk membuat dan menyetujui Perintah Pembayaran).


Langkah pertama adalah untuk meminimalkan jumlah pengguna dengan profil SAP_ALL atau yang memiliki akses ke transaksi penting seperti SE16, SM59, dan SE38. Sebagai langkah selanjutnya, terapkan kontrol SoD, setidaknya yang disebutkan dalam pedoman ISACA .


3. Pisahkan pengembangan dari pengujian dan periksa kerentanan


Untuk melindungi dari pengembang jahat, pertama, rancang pemisahan antara pengembangan pengujian dan infrastruktur produksi, kemudian kontrol semua permintaan transportasi dari pengembangan ke produksi. Tampaknya mudah; Namun, masalahnya adalah apa yang harus dikontrol. Untuk memisahkan pemisahan antara pengembangan pengujian dan sistem produksi, Anda harus yakin bahwa tidak ada koneksi dengan kredensial tersimpan dari sistem dengan prioritas tinggi (sistem produksi) ke sistem dengan prioritas rendah (sistem pengembangan). Koneksi ini hanya diperbolehkan untuk menyimpan konfigurasi konektivitas teknis dan mengotentikasi pengguna untuk setiap akses.


Seperti yang Anda ketahui, OWASP (Proyek keamanan aplikasi web terbuka, yang berfokus pada peningkatan kesadaran dalam keamanan aplikasi web) memberikan daftar top 10 dari kerentanan paling berbahaya yang mempengaruhi aplikasi web. Ketika kita berurusan dengan aplikasi perusahaan, bukanlah tugas sepele untuk memahami masalah apa yang perlu kita periksa. Untungnya, ada EAS-SEC (eas-sec.org) - sebuah organisasi nirlaba yang bertujuan untuk meningkatkan kesadaran dalam ruang keamanan aplikasi perusahaan. EAS-SEC terdiri dari proyek-proyek terpisah dan salah satunya mencakup keamanan kode. Ini disebut panduan pengembangan Aplikasi Sistem Aplikasi Perusahaan, atau EASAD. Panduan ini menjelaskan 9 kategori umum masalah kode sumber untuk bahasa bisnis.


Kategori:


  • Suntikan (Kode, SQL, OS)
  • Panggilan kritis (ke DB, ke OS)
  • Pemeriksaan kontrol akses tidak ada atau buruk (Otentikasi tidak ada, kesalahan)
  • Direktori traversal (Tulis, Baca, SMBRelay)
  • Modifikasi konten yang ditampilkan (XSS, CSRF)
  • Backdoors (kredensial hardcoded)
  • Saluran rahasia (Soket terbuka, panggilan HTTP, SSRF)
  • Pengungkapan informasi (pengguna hardcode, kata sandi)
  • Pernyataan usang (READ TABLE, metode kernel)

Kategori-kategori ini bersifat universal dan sama untuk sebagian besar aplikasi bisnis seperti SAP, Oracle, Microsoft Dynamics, dan Infor serta bahasa khusus mereka.


Proses pengembangan yang aman harus mencakup setidaknya memeriksa kerentanan kode dari sembilan kategori ini.


4. Koneksi aman


Karena setiap sistem terhubung dengan yang lain, memahami sistem mana yang dapat diserang, bagaimana SAP terhubung dengan aplikasi perusahaan lainnya, bagaimana penyerang dapat meningkatkan hak istimewa dan aset apa yang Anda harus lindungi pada awalnya sangat penting. Kita harus menganalisis sistem mana yang paling penting dan mulai menyelesaikan masalah pada sistem tertentu.


Pertama-tama, kita perlu menetapkan tingkat keparahan untuk setiap aset. Kemudian menganalisis koneksi antar aset, apakah mereka aman atau tidak, dan akhirnya memprioritaskan aset berdasarkan dampak keseluruhannya pada keamanan lanskap secara keseluruhan. Misalnya, Anda memiliki aset berisiko rendah, misalnya, sistem pengujian tanpa data penting. Sistem ini memiliki koneksi dengan sistem produksi, dan sistem produksi ini, pada gilirannya, memiliki koneksi dengan infrastruktur ICS. Dengan mempertimbangkan semua koneksi, sistem pengujian ini mungkin memiliki dampak tinggi pada semua lansekap dan kita harus memperhatikan keamanannya.


Selain mekanisme server aplikasi, server mungkin sering dihubungkan dengan sejumlah mekanisme lain. Misalnya, solusi SAP dapat diinstal pada server Windows, yang merupakan bagian dari satu domain dan dijalankan dengan hak istimewa dari akun umum. Dalam hal ini, mendapatkan akses ke satu server hampir selalu berarti akses ke semua server lain, tidak peduli seberapa baik mereka dilindungi pada tingkat aplikasi. Mungkin juga saat tautan atau koneksi tepercaya diimplementasikan melalui DBMS . DBMS sering menyimpan referensi ke database lain dengan data otentikasi yang telah ditentukan sebelumnya sehingga membuat DBMS lainnya dapat diakses. Selanjutnya, ruang lingkup mekanisme tersebut mencakup metode lain yang mungkin untuk menembus sistem tetangga, yang biasanya digunakan auditor dalam tes penetrasi, yaitu, upaya untuk masuk ke sistem tetangga dengan kata sandi yang sama atau serupa baik di tingkat OS, DBMS, dan aplikasi. , serta semua jenis pencarian kata sandi dalam teks biasa dalam sistem file; pembaruan, integrasi, skrip cadangan, dll. Semua opsi ini harus diperiksa untuk menghilangkan risiko penetrasi dengan satu tautan lemah ke semua sistem.


Risiko lain dari koneksi tidak aman adalah kebocoran data. Sistem SAP harus mengenkripsi data saat mentransfernya. Jelas bahwa lalu lintas HTTP harus diamankan oleh SSL, tetapi sebagian besar lalu lintas ditransfer menggunakan protokol milik SAP yang tidak aman secara default seperti RFC (Protokol untuk menghubungkan sistem SAP), DIAG (Protokol untuk menghubungkan klien SAP dengan SAP Server) , dan protokol Server Pesan. Sayangnya, tidak ada cara untuk mengamankan lalu lintas Server Pesan; Oleh karena itu, hanya dengan meletakkan layanan ini di bawah firewall akan menjadi satu-satunya pilihan. Sedangkan untuk protokol DIAG dan RFC, enkripsi dapat diimplementasikan melalui SNC.


SNC tanpa kemampuan akses tunggal tersedia untuk semua pelanggan SAP NetWeaver untuk SAP GUI menggunakan enkripsi klien SNC dan untuk semua komunikasi RFC antara server SAP. Kemampuan masuk tunggal dasar tersedia di lingkungan di mana server SAP dan klien SAP GUI menjalankan Microsoft.


Ringkasan


Keamanan ERP adalah tugas yang kompleks. Namun, hanya dengan mengambil 4 langkah tingkat tinggi ini dapat secara signifikan meningkatkan tingkat keamanan sistem ERP Anda. Hanya setelah menerapkan arsitektur dengan aman, masuk akal untuk mengambil langkah lebih lanjut seperti manajemen kerentanan dan respons insiden.

Source: https://habr.com/ru/post/id469041/


All Articles