Thursday 29 March 2018

Pada 1 April 2014, Neel Mehta, salah seorang daripada pasukan keselamatan komputer Google telah melaporkan kelemahan serius dalam perpustakaan perisian kriptografi (cryptographic software library) OpenSSL yang dikenali sebagai Heartbleed.

Beliau menemui ralat (bug) Heartbleed itu setelah menjalankan kajian kod sumber (source code review) mengenai perisian sumber terbuka OpenSSL.

Heartbleed telah didaftarkan dalam pangkalan data Kerentanan dan Pendedahan Umum (Common Vulnerabilities and Exposures) sebagai CVE-2014-0160.

OpenSSL merupakan perpustakaan perisian (software library) untuk aplikasi yang menjamin komunikasi melalui rangkaian komputer terhadap serangan "eavesdropping" iaitu teknik yang digunakan untuk memintas dan mendengar komunikasi secara sulit diantara dua pihak tanpa diketahui oleh mereka.

OpenSSL juga digunakan untuk mengenal pasti pihak yang sedang berkomunikasi dengan kita adalah sah seperti yang didakwanya dan bukanlah orang lain yang menyamar didalam talian.

Ia digunakan secara meluas dalam pelayan web internet (internet web servers), yang menyediakan sebahagian besar daripada semua laman web yang ada pada hari ini.

Kelemahan serius Heartbleed ini membolehkan maklumat yang dilindungi oleh penyulitan (encryption) SSL/TLS yang digunakan untuk melindungi komunikasi didalam Internet dicuri.

Untuk pengetahuan anda, SSL/TLS menyediakan komunikasi yang keselamatan melalui Internet untuk aplikasi seperti web, e-mel, pemesejan segera (Instant Messaging/IM) dan rangkaian persendirian maya (Virtual Private Networks/VPN).

Oleh itu, kelemahan Heartbleed ini membolehkan sesiapa sahaja di Internet untuk membaca memori sistem yang dilindungi oleh perisian OpenSSL (versi terdedah).

Hal ini telah mendedahkan kunci rahsia (secret keys) yang digunakan untuk mengenal pasti penyedia perkhidmatan (service providers) dan untuk menyulitkan lalu lintas (encrypt the traffic), nama dan kata laluan pengguna serta kandungan sebenar komunikasi yang sepatutnya rahsia itu.

Kesannya, penyerang boleh memintas komunikasi, mencuri data terus dari perkhidmatan dan pengguna, serta menyamar sebagai perkhidmatan dan pengguna.

Berita mengenai Heartbleed ini hanya didedahkan kepada umum seminggu selepas itu.

Pada hari yang sama iaitu 7 April 2014, OpenSSL telah pun berjaya mengatasi masalah ini dan mengeluarkan versi OpenSSL yang selamat dari ancaman Heartbleed.

Masihkah anda ingat peristiwa ini empat tahun yang lalu?
Apa kesannya kepada organisasi anda?
Pembelajaran berterusan, membina generasi pakar IT masa hadapan, InsyaAllah.
Cisco Packet Tracer merupakan alat simulasi visual (visual simulation tool) rentas platform (cross-platform) yang dibangunkan oleh Cisco Systems untuk membolehkan pengguna mereka dan membuat topologi rangkaian (network topologies) bagi meniru rangkaian komputer moden.

Didalam bidang komputer, perisian silang/rentas platform (juga perisian berbilang platform atau perisian bebas platform) adalah perisian komputer yang boleh dilaksanakan pada pelbagai platform pengkomputeran.

Contohnya, aplikasi silang platform boleh dijalankan pada pada seni bina x86 yang menggunakan Sistem Operasi Microsoft Windows atau Linux ataupun macOS sama ada pada sistem Apple Macintosh yang berasaskan PowerPC atau x86.

Program silang platform mungkin boleh berjalan pada semua platform yang ada, atau hanya dengan dua platform.

Ketika artikel ini ditulis, versi terbaru 7.1.1 hanya menyokong Linux 64 bit dan Microsoft Windows 32 & 64 bit sahaja.

Cisco Packet Tracer ini membolehkan pengguna untuk mensimulasikan konfigurasi router dan switch Cisco menggunakan simulasi antara muka baris (simulated command line interface).

Ia menggunakan antara muka pengguna seret dan lepas (drag and drop), yang membolehkan pengguna menambah dan mengeluarkan peranti rangkaian yang disimulasikan dengan sesuka hati.

Fokus utama perisian ini adalah untuk membantu pelajar Akademi Bersekutu Cisco Network Associate sebagai alat pendidikan untuk membantu mereka mempelajari konsep asas CCNA (Cisco Certified Network Associate).

Jika anda merancang untuk mempelajari atau menguji rangkaian komputer dengan menggunakan peranti Cisco, Packet Tracer adalah salah satu pilihan yang tepat.

Jika dahulu hanya pelajar berdaftar dalam program Akademi CCNA sahaja boleh mememuat turun dan menggunakan alat ini secara percuma untuk kegunaan pendidikan.

Namun begitu sejak Ogos 2017, versi 7.1 adalah percuma kepada semua.

Rajah menunjukkan bagimana Abdelmoutalib Taif, seorang pelajar Rangkaian Komputer dari Morocco telah menggunakan Packet Tracer untuk mencuba pelbagai teknologi rangkaian seperti OSPF, EIGRP, RIPv2, RIP, BGP dan banyak lagi dengan menggunakan peranti Cisco.

Akan tetapi sekiranya anda ingin memasang rangkaian dengan menggunakan perisian sumber terbuka seperti Linux seperti yang akan kita lakukan pada kelas 28 April 2018, Packet Tracer bukan jawapannya kerana ianya terhad kepada apa yang telah disediakan oleh pihak Cisco sahaja.
https://www.facebook.com/events/188123388632843/

Tahukah anda kenapa Linux menjadi pilihan?

Adakah anda turut menggunakan Cisco Packet Tracer?

Pembelajaran berterusan, membina generasi pakar IT masa hadapan, InsyaAllah.

https://www.facebook.com/kursuskomputerselangor/photos/a.422770511430843.1073741846.309602412747654/560296721011554/

Tuesday 27 March 2018

Pada 12 September 2014, Stéphane Chazelas, yang bertugas sebagai "Unix/Linux, Network and Telecom Specialist" di Edinburgh, UK telah menghubungi penyelenggara Bash, Chet Ramey untuk memaklumkan kepada beliau mengenai penemuannya mengenai bug asal didalam Bash, yang disebutnya "Bashdoor".

Bash ialah salah satu daripada jenis UNIX shell yang digunakan untuk menafsirkan arahan pengguna, sama ada secara langsung dimasukkan oleh pengguna, atau yang dapat dibaca dari fail yang disebut shell script atau program shell (shell program).

Dengan kerjasama dengan pakar-pakar keselamatan komputer yang lain, patch telah dikeluarkan dalam masa beberapa jam selepas itu.

Bug ini telah diberikan id CVE-2014-6271.

Bashdoor, yang juga dikenali sebagai Shellshock hanya diumumkan kepada orang ramai pada 24 September 2014 apabila versi Bash yang telah dikemaskinikan dengan pembetulan sedia untuk diedarkan.

Secara ringkasnya, kelemahan ini membolehkan penyerang untuk melaksanakan sebarang kod sewenang-wenangnya (execute arbitrary code) dan membolehkan penyerang untuk mendapatkan akses yang tidak dibenarkan (unauthorized access) kepada sistem komputer anda.

Oleh kerana Bash boleh didapati pada kebanyakan Sistem Operasi Linux, BSD, dan Mac OS X, banyak komputer terdedah kepada bug keselamatan Shellshock.

Untuk pengetahuan anda, semua versi Bash yang tidak dipatch (unpatched) diantara versi 1.14 hingga 4.3 adalah berisiko.

Sudahkah anda memastikan sistem milik anda bebas dari ancaman ralat Bashdoor atau Shellshock ini?

Untuk menguji samada sistem Bash anda terdedah kepada kelemahan ini (CVE-2014-6271), taip arahan berikut didalam terminal.

env cuba='() { :;}; echo Kelemahan Terdedah' bash -c "echo Cubaan"

Sekiranya sistem anda terdedah kepada kelemahan ini, arahan di atas akan memaparkan perkataan "Kelemahan Terdedah" kerana Bash telah melaksanakan perintah "echo Kelemahan Terdedah", yang dimasukkan ke dalam pembolehubah persekitaran (environment variable) khusus yang dinamakan "cuba"

Itulah sebabnya kenapa proses kemaskini (update) perlu dilakukan sentiasa untuk memastikan keselamatan data dan sistem komputer anda.

Pembelajaran berterusan, membina generasi pakar IT masa hadapan, InsyaAllah.

Monday 26 March 2018

Hipervisor (Hypervisor) atau monitor mesin maya (Virtual Machine Monitor / VMM) ialah perisian komputer, firmware atau perkakasan yang digunakan untuk mencipta dan menjalankan mesin maya (virtual machines).

 Komputer di mana hipervisor menjalankan satu atau lebih mesin maya dipanggil mesin tuan rumah (host machine), dan setiap mesin maya dipanggil mesin tamu (guest machine).

Hipervisor menguruskan sistem operasi tetamu (guest) dengan platform operasi maya (virtual operating platform) dan menguruskan pelaksanaan sistem operasi tetamu.

Pelbagai sistem operasi boleh berkongsi sumber perkakasan maya: sebagai contoh, Linux, Windows, dan contoh MacOS semuanya boleh dijalankan pada satu komputer fizikal x86.

Ini berbeza dengan operating-system-level virtualization, di mana semua keadaan (biasanya dipanggil container) mesti berkongsi kernel tunggal, walaupun sistem operasi tetamu boleh berbeza dalam ruang pengguna, seperti pengagihan Linux yang berbeza dengan kernel yang sama.

Terdapat 2 jenis hipervisor iaitu

Jenis-1: hipervisor asli (Type-1, native or bare-metal hypervisors)

Hipervisor ini berjalan secara langsung pada perkakasan tuan rumah untuk mengawal perkakasan dan mengurus sistem operasi tetamu.

Atas sebab ini, mereka kadang-kadang dipanggil "bare metal hypervisors".

Hipervisor pertama, yang dibangunkan IBM pada tahun 1960-an, adalah hipervisor asli (native hypervisors).

Ini termasuk perisian ujian SIMMON dan sistem operasi CP / CMS (Dahulunya IBM's z / VM).

Contoh moden termasuk Xen, Oracle VM Server untuk SPARC, Oracle VM Server untuk x86, Microsoft Hyper-V dan VMware ESX / ESXi.

Jenis-2: Hipervisor yang dihoskan (Type-2 or hosted hypervisors)

Hipervisor ini dijalankan pada sistem operasi konvensional (OS) sama seperti program komputer lain.

Oleh itu, kita dapat melihat Sistem Operasi tetamu (guest) ini sebagai proses pada Sistem Operasi tuan rumah (host).

Diantara contoh hipervisor jenis-2 adalah seperti VMware Workstation, VMware Player, VirtualBox, Parallels Desktop untuk Mac dan QEMU.

Mahukah anda membina lab peribadi anda sendiri dengan menggunakan teknologi hipervisor ini?

Dengan lab ini, anda akan dapat membina sendiri pelbagai jenis pelayan (server) yang terdiri daripada pelabagai jenis OS yang berbeza.

Anda juga dapat merangkaikan kesemua server ini sebagai tempat untuk melakukan pelbagai ujian dan juga untuk tujuan pembelajaran.

Berita baik untuk semua, kami akan mengadakan kelas seterusnya pada Sabtu, 28 April 2018.
https://www.facebook.com/events/188123388632843/

Adakah anda turut menggunakan hipervisor?

Jika ya, apakah tujuan anda menggunakannya?

Pembelajaran berterusan, membina generasi pakar IT masa hadapan, InsyaAllah.

Sunday 25 March 2018

".htaccess" (hypertext access) adalah fail konfigurasi untuk digunakan pada pelayan web (web servers) yang menggunakan perisian Apache Web Server.

 Tujuan fail ".htaccess" adalah untuk membolehkan pengguna yang tidak dapat mengubah suai fail konfigurasi utama (biasanya httpd.conf) untuk mengkonfigurasi Apache.

Apabila fail ".htaccess" diletakkan dalam direktori yang kemudiannya dimuatkan melalui Pelayan Web Apache, fail ".htaccess" akan dikesan dan dilaksanakan oleh perisian Apache Web Server.

Apa yang menarik mengenai fail ".htaccess" ini ialah ianya boleh digunakan untuk mengubah konfigurasi perisian Apache Web Server untuk membolehkan (enable) / melumpuhkan (disable) fungsi dan ciri tambahan yang ditawarkan oleh perisian Apache Web Server.

Ini termasuklah fungsi peralihan asas (basic redirect), misalnya jika ralat fail 404 tidak dijumpai (404 file not found) berlaku, atau untuk fungsi yang lebih maju seperti perlindungan kandungan dengan menggunakan kata laluan atau pencegahan pautan panas imej (image hot link prevention).

".htaccess" adalah nama fail sepenuhnya, ia bukannya lanjutan fail (file extension).

Sebagai contoh, anda tidak akan membuat fail yang dipanggil, "fail.htaccess", ia hanya dipanggil, ".htaccess".

Fail ini akan berkuatkuasa/aktif apabila diletakkan di mana-mana direktori yang kemudiannya dimuatkan melalui perisian Apache Web Server.

Bukan setakat direktori utama, malah semua fail dan subdirektori dalam direktori yang ditentukan juga akan terkesan oleh fail ".htaccess" ini.

Adakah anda turut menggunakan ".htaccess"?
Jika ya, apakah tujuan anda menggunakannya?
Pembelajaran berterusan, membina generasi pakar IT masa hadapan, InsyaAllah.
Sudahkah anda memasang perisian Python seperti yang telah diterangkan dalam post sebelum ini?

Jika ya, mari kita bermula dengan kod Python yang pertama.

Python mempunyai dua mod asas: skrip dan interaktif.

Mod biasa ialah mod dimana skrip ditulis dalam fail yang berakhir dengan extension .py dan akan dijalankan dalam interpreter Python.

Contohnya;
python NamaSkrip.py

Mod interaktif pula ialah command line shell yang akan memberikan maklum balas serta-merta untuk setiap arahan Python yang dimasukkan manakala arahan yang terdahulu akan disimpan didalam memori.

Mod interaktif adalah cara yang terbaik untuk menguji variasi sintaks.

Untuk menggunakan mod interaktif ini, buka terminal dan taip "python" pada Sistem Operasi MacOS atau Linux.

Untuk Windows pula, buka "command prompt" dan taip "py" atau "python".

Anda juga boleh memulakan sesi Python interaktif dengan memilih "Python (command prompt)", "IDLE", atau program yang sewaktu dengannya dari menu Windows. (Rujuk gambar 1)

IDLE (Integrated DeveLopment Environment) merupakan Python GUI yang merangkumi kedua-dua pilihan mod interaktif dan juga pilihan untuk mengedit dan melaksanakan fail .py

Simbol ">>>" merupakan cara Python memberitahu bahawa anda sedang berada dalam mod interaktif.

Dalam mod interaktif, apa yang anda taip akan segera dilancarkan.

Cuba taipkan 2 + 3 dan Python akan bertindak balas dengan 5 seperti contoh didalam gambar.

Mod interaktif membolehkan anda menguji dan melihat apa yang Python akan lakukan.

Sekiranya anda merasa perlu menggunakan pernyataan Python yang baru, lancarkan sahaja mod interaktif dan bermain-mainlah dengannya.

Keterangan Gambar:

1. Pelbagai pilihan untuk melancarkan aplikasi Python didalam Sistem Operasi Windows
2. IDLE (interactive environment untuk Python 3.6)
3. Python 3.6 interpreter
4. Kod Python yang disimpan didalam fail salam.py
5. Beberapa cara berbeza untuk menggunakan Python

Pembelajaran berterusan, membina generasi pakar IT masa hadapan, InsyaAllah.

Friday 23 March 2018

Sekarang, anda telah mengetahui apa itu bahasa pengaturcaraan Python dan sejarah ringkasnya.

Seterusnya, bagaimana untuk bermula?

Ada boleh mencuba online Python interpreter terlebih dahulu atau terus memasangnya pada komputer anda.

Terdapat 2 versi Python yang masih digunakan iaitu 2.x dan 3.x.

Kod yang ditulis untuk Python 3.x dijamin berfungsi dalam semua versi masa hadapan.

Ketika artikel ini ditulis, versi terkini adalah 3.6.4 dan 2.7.14.

Sekiranya anda baru bermula, Python versi 3.x dicadangkan kecuali anda mempunyai sebab yang kukuh untuk menggunakan versi 2.x.

Bagi sistem operasi Linux dan Mac, Python telah pun siap dipasang.

Untuk menyemak versi Python ini, buka terminal (command line) dan taip arahan `python --version` atau `python -V` atau `py -V`

Jika ia belum dipasang, Python boleh dimuat turun pada halaman berikut: https://www.python.org/downloads/

Perhatikan laman web Python akan mengesan sistem operasi komputer anda secara automatik.

Dalam kes ini, kami menggunakan komputer dengan sistem operasi Windows sebagai contoh.

Cara pemasangannya pula sama sahaja seperti perisian yang lain. Next, next, next dan siap.

Selamat mencuba

Pembelajaran berterusan, membina generasi pakar IT masa hadapan, InsyaAllah.

Wednesday 21 March 2018

Python adalah bahasa pengaturcaraan aras tinggi (high-level programming language), dengan aplikasi dalam pelbagai bidang, termasuk pengaturcaraan web, skrip (scripting), pengkomputeran saintifik (scientific computing), dan kecerdasan buatan (artificial intelligence).

Dicipta oleh Guido van Rossum dan pertama kali diperkenalkan pada 20 February 1991, Python mempunyai falsafah reka bentuk yang menekankan kebolehbacaan kod (code readability), dan sintaks (syntax) yang membolehkan para pengaturcara mengekspresikan konsep dalam barisan kod yang lebih pendek, terutamanya menggunakan ruang kosong (whitespace).

Meskipun ia telah diperkenalkan sejak 27 tahun dahulu, ianya sangat popular dan turut digunakan secara meluas oleh organisasi besar seperti Google, NASA, CIA, dan Disney.

Jika anda baru sahaja ingin bermula dengan pengaturcaraan, Python adalah antara bahasa yang dicadangkan kerana sintaksnya yang mudah dan penggunaannya yang meluas.

Python merupakan interpreted language iaitu bahasa pengaturcaraan yang ditafsirkan ketika pelaksanaannya secara langsung tanpa perlu membuat kompilasi yang akan menterjemahkan kepada arahan bahasa mesin (machine-language instructions).

Penterjemah (interpreter) menjalankan program secara langsung, menerjemahkan setiap pernyataan ke dalam urutan satu atau lebih subrutin yang telah disusun menjadi kod mesin.

Interpreted language seperti Python berbeza dengan compiled language seperti C.

Untuk menjalankan aplikasi didalam bahasa pengaturcaraan C, ia perlu dikompil dahulu sebelum boleh digunakan.

Adakah anda turut menggunakan Python.
Jika ya, kenapa anda memilih Python?
Pembelajaran berterusan, membina generasi pakar IT masa hadapan, InsyaAllah.

Saturday 3 March 2018

Aplikasi web (web application) adalah perkhidmatan paling umum yang didedahkan oleh syarikat dan institusi di internet untuk tujuan perniagaan, perkongsian maklumat dan sebagainya.

 Tambahan pula, kebanyakan aplikasi lama (client/server application) kini telah menjadi "versi web" yang boleh didapati di pelayar (web browser).

Transformasi besar-besaran ini menjadikan keselamatan web sebagai bahagian penting dalam keselamatan rangkaian.

Model keselamatan web

Asas model keselamatan web sangat mudah: jangan sesekali mempercayai klien 100%.

Kebanyakan maklumat yang diterima oleh pelayan boleh dipalsukan oleh klien.

Sebelum nasi menjadi bubur, lebih baik untuk menyaring (filter and escape) maklumat yang diterima kerana data yang diterima mungkin sesuatu yang tidak disangka-sangka dan boleh mendatangkan kemudaratan.

Sebagai contoh, arahan SQL yang kelihatan normal boleh dimanipulasikan untuk mendapatkan maklumat yang dilindungi.

Bolehkah anda memberikan contoh yang lain?

 Sama seperti aplikasi biasa, aplikasi web turut mempunyai risiko yang sama. Diantaranya ialah:
Kompromasi (compromise)
Kebocoran maklumat (information leak)
Kerosakan reputasi (reputational damage)
Kehilangan maklumat (information loss)
Kerugian/kehilangan wang (money loss)
Pembelajaran berterusan, membina generasi pakar IT masa hadapan, InsyaAllah.