Cara Menggunakan Cnspec untuk Mendeteksi Firmware Kedaluwarsa dan Kesalahan Konfigurasi pada Kontrol PLCnext
Sebagai contoh, mari kita ambil PLCnext Control AXC F 2125 dari Phonix Contact, yang didasarkan pada prosesor ARM Cortex-A9 dan memiliki sistem runtime IEC 61131. Cnspec adalah alat sumber terbuka yang menawarkan opsi berbeda untuk memindai Kontrol PLCnext berbasis Linux untuk mendeteksi firmware lama dan kesalahan konfigurasi. Panduan ini memberikan petunjuk langkah demi langkah untuk memindai Kontrol PLCnext melalui penyedia SSH cnspec.
-
Instal cnspec di notebook Anda (Panduan Instal)
-
Uji koneksi dan buat shell cnspec ke Kontrol PLCnext dengan menjalankan perintah berikut:
cnspec shell ssh admin@192.168.1.10 --ask-pass
-
Jalankan perintah MQL berikut dalam shell cnspec:
file("/etc/plcnext/arpversion").content
Seperti yang dapat kami lihat, kami dapat terhubung melalui SSH ke Kontrol PLCnext dan dapat menjalankan perintah MQL pertama.
→ loaded configuration from /home/user/.config/mondoo/mondoo.yml using source default
Enter password:
→ discover related assets for 1 asset(s)
→ resolved assets resolved-assets=1
___ _ __ ___ _ __ ___ ___
/ __| '_ \/ __| '_ \ / _ \/ __|
| (__| | | \__ \ |_) | __/ (__
\___|_| |_|___/ .__/ \___|\___|
mondoo™ |_|
cnspec> file("/etc/plcnext/arpversion").content
file.content: "Arpversion: 23.0.0.65
GIT Commit Hash: d755854b5b21ecb8dca26b0a560e6842a0c638d7
Build Job: \"jenkins-PLCnext-Yocto_Targets-Yocto_AXCF2152-release%2F23.0.x-65\"
"
-
Unduh kebijakan Teknologi PLCnext dari repositori cnspec-policies publik untuk melakukan pemeriksaan keamanan dasar dengan menjalankan perintah berikut:
git clone https://github.com/mondoohq/cnspec-policies
Cloning into 'cnspec-policies'...
remote: Enumerating objects: 1075, done.
remote: Counting objects: 100% (149/149), done.
remote: Compressing objects: 100% (84/84), done.
remote: Total 1075 (delta 75), reused 115 (delta 61), pack-reused 926
Receiving objects: 100% (1075/1075), 699.81 KiB | 402.00 KiB/s, done.
Resolving deltas: 100% (690/690), done.
-
Lakukan perintah berikut untuk menjalankan pemindaian keamanan lengkap pada Kontrol PLCnext melalui SSH:
cnspec scan ssh admin@192.168.1.10 -f cnspec-policies/community/mondoo-phoenix-plcnext-security.mql.yaml --ask-pass
Output lengkapnya akan terlihat seperti ini:
cnspec scan ssh admin@192.168.1.10 -f cnspec-policies/community/mondoo-phoenix-plcnext-security.mql.yaml --ask-pass
→ loaded configuration from /home/user/.config/mondoo/mondoo.yml using source default
Enter password:
→ using service account credentials
→ discover related assets for 1 asset(s)
→ resolved assets resolved-assets=1
axcf2152 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% score: F
Asset: axcf2152
---------------
Controls:
✕ Fail: Ensure SSH MaxAuthTries is set to 4 or less
✓ Pass: Ensure secure permissions on SSH public host key files are set
✓ Pass: Ensure only strong MAC algorithms are used
✓ Pass: Ensure only strong ciphers are used
✓ Pass: Ensure SSH IgnoreRhosts is enabled
✓ Pass: Ensure SSH Idle Timeout Interval is configured
✕ Fail: Ensure SSH password authentication is disabled
✓ Pass: Ensure current system time is synchronized
✓ Pass: Ensure only strong Key Exchange algorithms are used
✓ Pass: Ensure SSH LoginGraceTime is set to one minute or less
✓ Pass: Ensure SSH Protocol is set to 2
✓ Pass: Ensure SSH root login is disabled or set to prohibit-password
✓ Pass: Ensure SSH LogLevel is appropriate
✓ Pass: Ensure SSH PermitUserEnvironment is disabled
✓ Pass: Ensure SSH HostbasedAuthentication is disabled
✓ Pass: Ensure SSH access is limited
✓ Pass: Ensure secure permissions on SSH private host key files are set
✓ Pass: Ensure SSH warning banner is configured
✕ Fail: Ensure Firewall is active
✓ Pass: Ensure SSH PermitEmptyPasswords is disabled
✓ Pass: Ensure SSH X11 forwarding is disabled
✓ Pass: Ensure latest PLCnext Firmware is installed
Scanned 1 assets
For detailed output, run this scan with "-o full".
Solusi keamanan cnspec sumber terbuka memberikan pendekatan komprehensif untuk mengidentifikasi kerentanan dan kesalahan konfigurasi di sistem TI dan OT. Dengan memindai sistem secara rutin, Anda dapat secara proaktif mengidentifikasi dan memperbaiki potensi masalah keamanan sebelum menjadi masalah.
Catatan:
Blog Pembuat menampilkan aplikasi dan kisah pengguna anggota komunitas yang tidak diuji atau ditinjau oleh Phoenix Contact. Gunakan dengan risiko Anda sendiri.