quickedit{ display:none; }
BLOGGER TEMPLATES AND TWITTER BACKGROUNDS »

About Me

Foto saya
gresik, jawa timur, Indonesia
saya seorang pemula yang cuma iseng buat blog, karena pingin nyalurin hoby sebagai rapper dan ngefans sama linkin park.

Linkin Park

Minggu, 03 April 2011



 

No table of contents entries found.

Selengkapnya...

Senin, 02 November 2009

mau cari artikel ikuti langkah di bawah ini
sorry kalo artikelnya panjang!!!!
Tapi ada cara lebih cepat cari artikel yang mau di lihat...
Ikuti langkah - langkah berikut:

  1. tekan Ctrl + F
  2. perhatikan bagian pojok kanan bawah browser (ato halaman ini)!
  3. masukkan kata yang mau dicari,! dikotak yang tersedia!
  4. setelah selesai kata yang dicari akan diblok berwarna
  5. kalo itu yang mau dicari buat artikel silakan copy paste aza!!!
  6. terima kasih dah mau lihat artikel yang nyontoh dari orang lain!!!
  7. dan akhirnya selesai dech cari kata yang dicari!!


Selengkapnya...

Minggu, 01 November 2009




VIRTUAL PRIVATE NETWORK

Peta Teknologi Network Security

Intranet menjadi sebuah komponen penting dalam sistem informasi perusahaan saat ini. Sebuah intranet adalah sebuah jaringan internal pada perusahaan yang menggunakan teknologi internet untuk komunikasi dan pembagian informasi. Akses internet saat ini juga sudah menjadi kebutuhan rutin bagi hampir sebagian besar perusahaan Internet yang memberikan suatu fenomena tersendiri bagi perusahaan-perusahaan. Tingginya tingkat kebutuhan akan bisnis secara virtual dan elektronis serta akses internet ini mendorong kebutuhan akan bandwidth dan layanan yang lebih baik lagi dibandingkan yang sudah ada sekarang ini. Sehingga pelaku bisnis berusaha mencari layanan komunikasi yang handal, fleksibel, cepat, dengan harga yang murah untuk berbagai keperluan aplikasi yang mereka butuhkan. Dalam rangka mengakomodasi grup-grup pengguna baru, yang berubah, dan yang meluas dan menyediakan pengguna-pengguna ini, informasi dalam berbagai cara , intranet dapat memberikan beberapa keuntungan, termasuk fleksibilitas, interoperabilitas, mudah digunakan, dan extendibility. Secara khusus, mereka sebaiknya menjadi terbuka dan berbasis standar (standard-based), sehingga informasi dapat dibaca oleh pengguna yang berbeda dengan aplikasi yang berbeda. Namun demikian, keuntungan-keuntungan yang diharapkan dari intranet menuju pada sebuah tantangan penting untuk bisnis menggunakan teknologi ini adalah bagaimana mengembangkan dan menjaga kepercayaan dalam sebuah lingkungan yang telah didesain untuk akses informasi bebas dan terbuka. Internet tidak didesain dengan keamanan bisnis. Internet dahulu didesain oleh perguruan-perguruan tinggi sebagai sebuah jaringan terbuka dimana pengguna dapat akses, berbagi, dan menambah informasi semudah mungkin. Sebuah cara harus ditemukan untuk mengamankan sebuah intranet untuk bisnis tanpa melanggar sifat-sifat yang telah ada pada intranet. Sesungguhnya sebuah jawaban ideal harus menyediakan tidak saja tingkat keamanan tertinggi tetapi juga keamanan yang sedemikian rupa sehingga pengguna dapat dengan mudah meng-akses, mengubah, dan berbagi lebih banyak informasi, tidak lupa, dibawah kondisikondisi yang secara hati-hati dikendalikan dan dipelihara.

Internet Protocol Virtual Private Network

(IP VPN) dapat memberikan solusi bagi berbagai persoalan yang ada. Karena dengan adanya IP VPN, hubungan yang dilakukan antara kantor pusat dan cabang serta partner bisnis perusahaan lebih ekonomis. Selain itu koneksi dengan IP-VPN tidak terbatas hanya pada hubungan antara kantor pusat dan cabang saja, tetapi IP-VPN juga memberikan keuntungan lebih dengan memberikan security hubungan untuk pengguna yang berpindah-pindah.

Gambar 1. Jaringan IP Virtual Private Network (VPN)

Peta Teknologi Network Security

Pengertian VPN??

IP VPN merupakan tipe khusus dari layanan VPN yang mengirimkan layanan Internet Protocol (IP) privat melalui infrastruktur publik IP atau internet. Yang menjadi kunci patokan IP VPN adalah pengiriman layanan IP kepada end user. Dengan IP VPN dimungkinkan networking data secara privat dan aman melalui jaringan internet publik atau jaringan IP privat untuk komunikasi pengguna akses remote, site-to site, atau corporate-to-corporate.

Platform Teknologi IP VPN

IP VPN berbasis jaringan publik yang berjalan di platform IP sehingga pengiriman layanan lebih bersifat connectionless, dalam artian data terkirim begitu saja tanpa ada proses pembentukan jalur terlebih dahulu (connection setup). IP bertugas untuk menangani masalah-masalah pengiriman, juga menjadi tanggung jawab IP untuk menangani masalah pengenalan datagram atau reassembly datagram sebagai akibat langsung proses fragmentasi.

Penggunaan jaringan publik internet dalam layanan VPN menuntut jaminan security yang lebih baik dibandingkan dengan layanan internet yang biasa. Sharing infrastruktur jaringan publik untuk suatu hal yang namanya privat menuntut pengamanan-pengamanan tersendiri. Dengan adanya jaminan security tersebut, pelanggan dapat mengirimkan dan mengakses informasi secara aman dan terlindung dari kemungkinan disusupi oleh pengakses yang tidak diinginkan.

Intranet

Intranet merupakan jaringan yang terhubung antara kantor pusat dengan kantor cabang yang tersebar di lokasi-lokasi yang terpisah dengan kantor pusat. Intranet memberikan fasilitas komunikasi dan pertukaran data serta informasi antar internal suatu perusahaan atau departemen dengan cabang yang berjauhan lokasinya.

Gambar 2. Intranet IP VPN

Peta Teknologi Network Security

Kebutuhan-kebutuhan Keamanan

Dalam tantangan kepercayaan dalam sebuah lingkungan terbuka, berubah, kita akan menyelidiki kebutuhan-kebutuhan keamanan terlebih dahulu. Keamanan untuk sebuah intranet berdasarkan pada beberapa komponen hardware dan software. Teknologi dan mekanisme khusus akan bervariasi, tetapi apa yang disebut keamanan "kekuatan industri" harus selalu memenuhi lima kebutuhan dasar :

  • Kerahasiaan, dengan kemampuan scramble atau encrypt pesan sepanjang jaringan yang tidak aman
  • Kendali akses, menentukan siapa yang diberikan akses ke sebuah sistem atau jaringan, sebagaimana informasi apa dan seberapa banyak seseorang dapat menerima
  • Authentication, yaitu menguji identitas dari dua perusahaan yang mengadakan transaksi
  • Integritas, menjamin bahwa file atau pesan tidak berubah dalam perjalanan
  • Non-repudiation, yaitu mencegah dua perusahaan dari menyangkal bahwa mereka telah mengirim atau menerima sebuah file

Mengakomodasi Perubahan

Sepanjang dengan keamanan "industrial-strength", sebuah intranet juga harus dapat mengakomodasi kebutuhan-kebutuhan informasi yang berubah termasuk banyak grup pengguna yang tersusun dalam banyak cara pada sebuah basis dinamis. Grup-grup pengguna mungkn termasuk pekerja-pekerja menurut departemen, jabatan, atau lokasi. Grup-grup pengguna lainnya mungkin termasuk anggota beberapa grup pada saat yang sama. Pada waktu yang sama keanggotaan dalam tiap grup berubah secara konstan

sebagaimana anggota masuk atau keluar dari grup. Sebagai tambahan, sebuah intranet harus mengakomodasi informasi dengan bentuk-bentuk berbeda, apakah halaman web, file, atau form lain. Terakhir, sebuah intranet harus mengakomodasi teknologi yang berubah dan sistem informasi kompleks yang bertambah.

Solusi : Sebuah VPN (Virtual Private Network) Dinamis

Untuk memenuhi tantangan mengembangkan dan memelihara kepercayaan dalam sebuah lingkungan yang berubah dan terbuka, TradeWave percaya bahwa strategi terbaik adalah mengimplementasikan sesuatu yang disebut Jaringan Private Virtual Dinamis (Dynamic VPN). Secara umum, setiap VPN adalah sebuah proses dimana jaringan umum (public network / internet) diamankan untuk mengfungsikannya sebagaimana private network. Sebuah VPN tidak didefinisikan oleh rangkaian khusus atau rute. Yaitu didefinisikan oleh mekanisme keamanan dan prosedur-prosedur yang hanya mengizinkan pengguna-pengguna yang ditunjuk akses ke VPN dan informasi yang mengalir melaluinya.

VPN bukanlah hal baru. Yang membuat VPN dari TradeWave sesuai untuk keamanan intranet adalah kemampuan dinamisnya. Dengan dinamis, berkemampuan untuk mengakomodasi lingkungan bisnis yang terbuka dan berubah. Kemampuan ini didasarkan pada arsitektur yang unik dan set dari sifat yang terdapat pada TradeVPI, yang merupakan solusi VPN TradeWave.

Kemampuan VPN Dinamis

TradeVPI adalah sebuah himpunan aplikasi-aplikasi dan servis-servis yang berhubungan. TradeVPI memungkinkan sebuah bisnis menghasilkan dan mengeluarkan sebuah solusi VPN dinamis dengan kemampuan sebagai berikut :

  • Menyediakan keamanan "industrial-strength"
  • Mengakomodasi komunitas pengguna yang berubah secara dinamis
  • Menyediakan kemampuan pertukaran informasi dalam berbagai bentuk form (web, file, dll)
  • Mengakomodasi pengguna yang berbeda dengan berbagai macam browser, aplikasi, sistem operasi, dll
  • Memungkinkan pengguna masuk ke dalam grup atau administrator memasukkan identitas dalam sebuah cara yang dikendalikan tetapi mudah
  • Memelihara integritas sepanjang waktu, tanpa memperhatikan pergantian administrasi, perubahan teknologi, atau peningkatan kompleksitas sistem informasi perusahaan

Imbalan: Menggunakan Intranet untuk Bisnis

Sebuah VPN dinamis berbasis TradeVPI menawarkan bisnis, kemampuan penggunaan intranet dan teknologi internet dengan jaminan bahwa komunikasi dan transaksi akan diamankan oleh tingkat keamanan tertinggi.

Pada waktu yang sama, VPN dinamis memungkinkan bisnis mengembangkan akses informasi dan komunikasi dalam suatu cara yang dikontrol juga fleksibel.

Dibandingkan dengan yang didesain terutama untuk mengunci (lock out) pengguna tertentu dengan skema keamanan terbatas atau tak fleksibel, VPN dinamis didesain untuk menyediakan tingkat tertinggi kebebasan dalam sebuah lingkungan yang aman. Sebagai contoh, sebagian besar pengguna dapat melakukan pekerjaan yang besar dengan range informasi yang besar. Karena informasi sekarang dapat tersedia dalam bentuk yang dinamis dan baik, sebuah file, data, atau dokumen perusahaan yang harus dikunci di waktu lampau, sekarang dapat diakses dalam seluruh atau sebagian oleh grup-grup pengguna yang dipilih dalam cara-cara yang ditentukan dengan tepat. Hasilnya, VPN dinamis adalah intranet. Yang menggunakan intranet untuk menyediakan lebih banyak resource dan servis daripada sebaliknya, dengan demikian memungkinkan bisnis membuat lebih banyak penggunaan resource informasinya. Berbicara dalam istilah bisnis, sebuah perusahaan mengimplementasi sebuah VPN dinamis dengan alasan yang sama jika mengimplementasi sebuah intranet dalam tempat pertama : fleksibel, interoperability, extendibility, mudah digunakan, dll. Sebuah VPN dinamis secara sederhana memungkinkan sebuah perusahaan menerima keuntungan intranet menjadi tingkat penuh dan sesuai. Sebaliknya, tanpa sebuah VPN dinamis, sebuah perusahaan akan tak dapat menerima keuntungan penuh dari teknologi intranet atau tak dapat menerima suatu balik modal yang sesuai dalam teknologi ini.

Metoda dan Mekanisme Keamanan

Beberapa elemen dasar dari sistem jaringan yang aman. Standard dan Mekanisme Enkripsi. Memastikan kerahasiaan pesan, enkripsi dapat ditawarkan dalam dua format yang berbeda yaitu : kunci pribadi (private key) dan kunci umum (public key). Enkripsi private-key atau symmetric-key berbasis pada sebuah kunci (atau algoritma) yang dibagi dalam dua bagian. Kunci yang sama melakukan enkrip dan dekrip pesan. Kerberos dan standar enkripsi data (DES) adalah teknologi kunci pribadi tradisional. Sebuah mekanisme private-key adalah sebuah metoda enkripsi yang telah tebukti, relatif sederhana.

Masalah utama adalah dalam pembagian key : bagaimana sebuah kunci digunakan untuk keamanan dipancarkan melalui jaringan yang tidak diamankan. Kesulitan antara lain terletak pada pembangkitan, penyimpanan, dan pemancaran kunci-kunci (disebut key-management) dapat membatasi sistem private-key, khususnya melalui internet.

Pada tahun 1976, dua orang ilmuwan komputer, Whitfield Diffie dan Martin Hellman, mengembangkan sebuah teori enkripsi public-key yang menawarkan solusi masalah bagaimana mentransfer private-key. Kemudian RSA Data Security Inc., membuat sebuah algoritma yang membuat kriptografi public-key dapat dilakukan secara komersial.

Gambar 3. Enkripsi Public Key

Peta Teknologi Network Security

Sebagaimana terlihat pada gambar 1, dalam sebuah solusi public-key seperti EntrustÔ dari Entrust Technologies, terdapat dua kunci (key) - sebuah private-key dan sebuah public-key yang diumumkan secara luas. Sebagai tambahan, sebuah one-time symmetric-key dibangkitkan untuk tiap transaksi. Untuk mengirim sebuah pesan pengirim, Alicia, meng-enkrip terlebih dahulu pesannya dengan menggunakan onetime symmetric-key. Kunci ini kemudian dienkripsi, menggunakan public-key dari penerima, Alex. Perlu diperhatikan bahwa sesuatu yang dienkripsi dengan public-key hanya dapat dibuka (didekrip) dengan menggunakan private-key si penerima. Ini berarti bahwa symmetric-key (yang karena itu pesan dienkrip) sekarang aman untuk transmisi lewat internet atau intranet.

Ketika pesan tiba, Alex men-dekrip one-time symmetric-key dengan mennggunakan private-key kepunyaannya. Kemudian, menggunakan symmetrickey, ia men-dekrip pesan. Keuntungan utama yang ditawarkan oleh teknologi public-key adalah bertambahnya keamanan. Walaupun lebih lambat daripada beberapa sistem private-key, enkripsi public-key secara umum lebih cocok untuk intranet untuk tiga alasan :

1. Lebih scalable untuk sistem yang sangat besar dengan 10 juta pengguna

2. Mempunyai alat authentication yang lebih fleksibel

3. Dapat mendukung tanda tangan digital

Teknologi public-key juga memungkinkan pelaksanaan non-repudiation untuk mengecek pengiriman atau penerimaan dari sebuah transaksi yang diberikan.


Selengkapnya...


Peta Teknologi Network Security

Peta Teknologi Network Security

ALFIAN AZIZ

Network security menjadi sebuah pengetahuan yang wajib di miliki bagi mereka yang ingin secara serius berkiprah di Internet. Sialnya, teknologi telah berkembang sedemikian kompleks sehingga menuntut profesional network security untuk mempelajari banyak hal untuk betul-betul mengerti keseluruhan konsep & teknologi network security. Untuk memudahkan proses belajar, ada baiknya memperhatikan baik-baik gambar yang terlampir yang berisi peta teknologi network security. Referensi yang sangat baik tentang hal ini terdapat di http://www.sans.org.

Secara umum topologi jaringan komputer terdiri dari jaringan Internet publik yang menyebar ke seluruh dunia dan jaringan Intranet yang terdapat internal di perusahaan / institusi. Di antara InterNet dan IntraNet biasanya terdapat De-Militerized Zone (DMZ) yang di batasi oleh Filtering Router ke arah Internet, dan Firewall ke arah IntraNet. Pada De-Militerized Zone (DMZ) ini biasanya di pasang berbagai server, seperti, Mail Server, FTP Server, Web Server dan DNS Server.

Berdasarkan topologi jaringan di atas, kita dapat membagi teknologi network security tersebut menjadi empat (4) bagian besar, yaitu:

 Penetration testing

 Certificate Authority / PKI

 Vulnerability Testing

 Managed Security Services

Mari kita lihat teknologi yang menjadi bagian dari ke empat (4) bagian ini, secara umum,


Peta Teknologi Network Security

 Penetration Testing, terdiri dari:

o Active Content Monitoring / Filtering, biasanya di letakan di mail server di DMZ.

o Intrusion Detection - Host Based, biasanya di letakan di server di IntraNet maupun DMZ.

o Firewall, menjadi perantara IntraNet dengan DMZ dan InterNet..

o Intrusion Detection - Network Based, biasanya digunakan untuk memonitor IntraNet.

o Authorization, di jalankan di IntraNet.

o Air Gap Technology, di jalankan di De-Militerized Zone (DMZ).

o Network Authentication, di operasikan di IntraNet.

o Security Appliances, biasanya berbentuk hardware Firewall.

o Security Services: Penetration Testing, perusahaan di luar yang memberikan servis kepada kita.

o Authentication, dioperasikan di IntraNet.

 Certificate Authority / PKI, merupakan pendukung teknologi yang lain & dapat dioperasikan di server di IntraNet, terdiri dari:

o Certificate Authority, di IntraNet maupun InterNet.

o File & Session Encryption, di operasikan di IntraNet

o VPN & Cryptographic Communications, di mulai di De-Militerized Zone dan digunakan untuk menembus ke Internet menuju IntraNet yang lain.

o Secure Web Servers, di operasikan di De-Militerized Zone (DMZ).

o Single Sign On, di server.

o Web Application Security, di Web server.

 Vulnerability Testing, biasanya dilakukan oleh auditor atau security manager, antara lain adalah.

o Vulnerability Scanners - Host Based, di operasikan di server IntraNet

o Real-Time Security Awareness, Response & Threat Management, digunakan oleh security manager.

o Vulnerability Scanners - Network Based, di operasikan di filtering router yang terhubung langsung ke InterNet.

 Managed Security Services, merupakan bagian manajemen (non-teknis) pendukung network security. Isu yang ada antara lain adalah:

o Enterprise Security Policy Implementation.

o Managed Security Services.

o Enterprise Security Administration.

o Security Services: Policy Development.

o Trusted Operating Systems, di install di semua komputer.

o Anti D.D.O.D Tools.

Selanjutnya, mari kita lihat berbagai konsep yang ada dengan penjelasan lebih detail.

Penetration Testing

Active Content Monitoring / Filtering. Pada saat anda tersambung ke Internet, anda mengambil resiko dari virus komputer, java / Active-X script jahat dll. Tool ini akan memeriksa semua content yang masuk ke jaringan / komputer, secara kontinu mengupdate library-nya.

Intrusion Detection - Host Based. Intrusion detection host based akan memonitor file log. Dia akan meresponds dengan alarm atau serangan balasan jika ada usaha user untuk mengakses data, file atau servis yang tidak di ijinkan.

Firewall. Firewall adalah sebuah sistem atau group dari beberapa sistem yang melaksanakan kebijakan akses control antara dua jaringan.

Intrusion Detection - Network Based. Network based intrusion detection akan memonitor jaringan dan akan meresponds dengan alarm pada saat dia mengidentifikasi adanya pola traffic yang tidak baik, seperti scanning, usaha denial of service maupun serangan lainnya.

Authorization. Authentication, bertanya "siapa anda?". Authorization, bertanya "apakah anda berhak?". Dengan mekanisme authorization setiap pengguna yang akan mengakses resource harus memohon ke authorization server untuk memperoleh ijin.

Air Gap Technology. Hardware/software jenis ini memungkinkan transfer data secara real-time antara Internet dengan back-end tanpa membuka lubang di firewall. Kadang solusi Air Gap mengharuskan secara fisik terjadi pemutusan sambungan ke jaringan luar. Air Gap memutuskan semua protokol jaringan, membatasi akses ke data di lapisan aplikasi saja, serta melakukan analisa content.

Network Authentication. Tool ini menggunakan beberapa pendekatan untuk memperbaiki kemampuan sistem untuk membedakan antara yang berhak dan yang tidak berhak memperoleh akses.

Security Appliances. Kombinasi hardware/software yang memberikan servis terbatas, seperti firewall, network load management dll. Karena sistem operasi-nya sangat terbatas, lebih mudah di manage & tidak menjadi sasaran serangan hacker seperti di general purpose UNIX atau Windows NT.

Security Services: Penetration Testing. Organisasi konsultan yang mensimulasikan serangan hacker di dunia nyata maupun serangan social engineering. Mereka biasanya memberikan advis bagaimana memperbaiki pertahanan. Biasanya mereka menggunakan network-based vulnerability scanning tools.

Authentication. Authentication adalah sebuah proses yang menentukan sesuatu atau seseorang adalah siapa atau apa. Cara paling sederhana dari proses authentikasi adalah logon password, sialnya sangat rentan untuk di curi. Cara lain untuk mengatasi ini adalah menggunakan token yang memungkinkan proses authentikasi lebih ketat lagi.

Certificate Authority / PKI

Certificate Authority. Certificate Authority (CA) adalah organisasi yang memberikan dan memanage security credential dan public keys untuk enkripsi & dekripsi berita. Sertifikat yang di manage termasuk public keys yang memperkuat authentikasi, privacy & non-repudiation.

File & Session Encryption. Enkripsi adalah sebuah proses yang mana data di ubah bentuknya sehingga sulit di buka dan di mengerti oleh orang yang tidak mempunyai authoritas untuk itu. Algoritma komputer yang canggih digunakan dalam proses enkrip & dekrip pada saat di butuhkan.

VPN & Cryptographic Communications. Virtual Private Network (VPN) memungkinkan komunikasi aman melalui jaringan publik Internet. Hal ini sangat menghemat biaya untuk perusahaan dengan mobile worker atau cabang perusahaan, sehingga komunikasi dapat dilakukan tanpa perlu menggunakan jaringan telepon private yang mahal.

Secure Web Servers.Tool yang memungkinkan kita memberikan servis web dalam sebuah lingkungan yang di rekayasa supaya lubang keamanan-nya minimal.

Single Sign On. Paket software yang membantu pengguna agar dapat mengakses ke beberapa komputer tanpa perlu mengingat banyak password. Single Sign On pada dasarnya tidak mengubah proses di bawahnya, tapi menyembunyikan perbedaan yang ada melalui sebuah lapisan software tambahan.

Web Application Security. Web application security akan memproteksi aplikasi web dan resource yang ada dari ancaman di Internet, seperti, mencuri aset perusahaan, pencurian kartu kredit, deface situs dll. Hal ini dilakukan degangn mendeteksi / menghalangi teknik hacking pada wilayah ini.

Vulnerability Testing

Vulnerability Scanners - Host Based. Tool untuk menchek setting dari system untuk menentukan apakah sesuai / konsisten dengan kebijakan keamanan perusahaan. Tool ini biasa digunakan oleh auditor.

Real-Time Security Awareness, Response & Threat Management. RTSA memungkinkan seorang security manager untuk melihat apa yang terjadi di perusahaan yang menggunakan banyak peralatan dari multiple vendor secara real-time melalui sebuah konsol. RTSA menolong mengurangi jumlah personel yang dibutuhkan untuk memonitor banyak peralatan.

Vulnerability Scanners - Network Based. Software yang dapat mensimulasikan tabiat penyerang dan mempelajari sampai sekitar 600 kemungkinan kelemahan sistem yang sedang di serang.

Managed Security Services

Enterprise Security Policy Implementation. EPSI memungkinkan manager security untuk mengautomasi setiap langkah keamanan dari console pusat, mulai dari creating, editing, approving, publishing, distribution, education, compliance, reporting dan maintenance. Tool ini akan memaksa sosialisasi, menchek pengertian pegawai, mencatat kejadian, dan mengukur compliance, yang pada akhirnya akan menolong manajemen resiko IT tanpa memberikan banyak beban ke staff yang terbatas.

Managed Security Services. Vendor yang menawarkan managed security services berasumsi bahwa mereka akan memperoleh beberapa persen kerjaan sebagai outsource. Dengan cara tsb. administrator dapat mengerjakan kerjaan yang lain.

Enterprise Security Administration. Tool ini mengadministrasi security tingkat enterprise, memastikan bahwa semua user di sebuah enterprise memperoleh hak dan kewajiban yang sama. Sistem ini terutama sangat bermanfaat untuk memberikan akses bagi user baru, dan, yang penting, menghilangkan semua akses bagi pegawai yang sudah keluar.

Security Services: Policy Development. Konsultan yang membantu pengembangan kebijakan keamanan secara cepat. Mereka umumnya sudah mempunyai template agar kebijakan security dapat di implementasikan dengan cepat, sepertoi penggunaan e-mail yang baik, extranet hingga PKI.

Trusted Operating Systems. Karena semua mekanisme ke amanan sangat tergantung pada sistem operasi, teknologi trusted O/S memberikan mekanisme satu-satunya pada O/S untuk bertahan terhadap serangan.

Anti D.D.O.D Tools. Tool anti Ddos akan mengidentifikasi ketidak beresan penggunaan di jaringan. Jika terjadi ketidak beresan, tool akan berusaha mencek legitimasi akses dan merekomendasikan beberapa langkah preventif-nya


Selengkapnya...



Peta Teknologi Network Security

KONSEP DASAR DMZ (DE MILITERI ZONE)



ABSTRAK

DMZ adalah suatu “sacrificial lamb” bagi hackers yang digunakan untuk melindungi system internal yang berhubungan dengan serangan hack

(hack attack). DMZ bekerja pada seluruh dasar pelayanan jaringan yang membutuhkan akses terhadap jaringan “dunia luar” ke bagian jaringan yang lainnya. Dengan begitu, seluruh “open port” yang berhubungan dengan dunia luar akan berada pada jaringan, sehingga jika seorang hacker melakukan serangan dan melakukan crack pada server yang menggunakan sistem D

MZ, hacker tersebut hanya akan dapat mengakses hostnya saja, tidak pada jaringan internal.

Secara umum DMZ dibangun berdasarkan tiga buah konsep, yaitu : NAT (Network Address Translation), PAT (Port Addressable Translat

ion), dan Access List. NAT berfungsi untuk menunjukkan kembali paket-paket yang datang dari “real

address” ke alamat internal. Misal : jika kita memiliki “real address” 203.8.90.100, kita dapat membentuk suatu NAT langsung secara otomatis pada data-data yang datang ke 192.168.100.1 (sebuah alamat jaringan internal). Kemudian PAT berfungsi untuk menunjukan data yang datang pada particular port, atau range sebuah port dan protocol (TCP/UDP atau lainnya) dan alamat IP ke sebuah particular port atau range sebuah port ke sebuah alamat internal IP. Sedangkan access list berfungsi untuk mengontrol secara tepat apa yang datang dan keluar dari jaringan dalam

suatu pertanyaan. Misal : kita dapat menolak

atau memperbolehkan semua ICMP yang datang ke seluruh alamat IP kecuali untuk sebuah ICMP yang tidak diinginkan.

Kata Kunci : NAT, real address, PAT, Access List, Port, Protokol, DMZ, ICMP

1. DE-MILITARISED ZONE (DMZ)

De-Militarised Zone(DMZ) merupakan mekanisme untuk melindungi sistem internal dari serangan hacker atau pihak-pihak lain yang ingin memasuki sistem tanpa mempunyai hak akses. Sehingga karena DMZ dapat diakses oleh pengguna yang tidak mempunyai hak, maka DMZ tidak mengandung rule.

Secara esensial, DMZ melakukan perpindahan semua layanan suatu jaringan ke jaringan lain yang berbeda. DMZ terdiri dari semua port terbuka,

yang dapat dilihat oleh pihak luar. Sehingga jika hacker menyerang dan melakukan cracking

pada server yang mempunyai DMZ, maka hacker tersebut hanya dapat mengakses host yang berada pada DMZ, tidak pada jaringan internal.

Misalnya jika seorang pengguna bekerja di atas server FTP pada jaringan terbuka untuk melakukan akses publik seperti akses internet, maka hacker dapat melakukan cracking pada server FTP dengan memanfaatkan layanan Network Interconnection System (NIS), dan Network File System(NFS). Sehingga hacker tersebut dapat mengakses seluruh sumb

er daya jaringan, atau jika tidak, akses jaringan dapat dilakukan dengan sedikit upaya, yaitu dengan menangkap paket yang beredar di jaringan, atau dengan metoda yang lain.

Namun dengan menggunakan lokasi server FTP yang berbeda, maka hacker hanya dapat mengakses DMZ tanpa mempengaruhi sumber daya jaringan yang lain. Selain itu dengan melakukan pemotongan jalur komunikasi pada jaringan internal, trojan dan sejenisnya tidak dapat lagi memasuki jaringan.

Makalah ini akan membahas bagaiman

a memberi hak pada pengguna baik internal maupun eksternal, pada semua layanan jaringan yang diperlukan.

2. Konsep NAT, PAT, dan Daftar Akses

Network Address Translation(NAT) berfungsi untuk mengarahkan alama

t riil, seperti alamat internet, ke bentuk alamat internal. Misalnya alamat riil 203.8.90.100 dapat diarahkan ke bentuk alamat jaringan internal 192.168.0.1 secara otomatis dengan men

ggunakan NAT. Namun jika semua informasi secara otomatis ditranslasi ke bentuk alamat internal, maka tidak ada lagi kendali terhadap informasi yang masuk. Oleh karena itu maka muncullah PAT.

Port Address Translation(PAT) berfungsi untuk mengarahkan data yang masuk melalui port, sekumpulan port dan protokol, serta alamat IP pada port atau sekumpulan po

st. Sehingga dapat dilakukan kendali ketat pada setiap data yang mengalir dari dan ke jaringan.

Daftar Akses melakukan layanan pada p

engguna agar dapat mengendalikan data jaringan. Daftar Akses dapat menolak atau menerima akses dengan berdasar pada alamat IP, alamat IP tujuan, dan tipe protokol.

3. Contoh Studi Kasus

Pada sebuah organisasi XYZ terdapat jaringan komputer berbasis Microsoft Windows NT4.0, Proxy Server 2.0 untuk mengakses internet, dan Microsoft Exchange 5.5 untuk mail lokal maupun global. Masalah-masalah yang dapat diamankan dengan menggunakan DMZ

adalah sebagai berikut:

o Semua alamat Internet Protocol(IP) merupakan alamat komputer ses

ungguhnya, sehingga dapat diakses secara langsung dari internet,

o Server Domain Name Server(DNS) eksternal dapa

t digunakan pada jaringan internal,

o Server Web bekerja di lingkungan internal,

o Terdapat server File Transfer Protocol(FTP) yan

g bekerja di lingkungan internal,

o Server Exchange dapat diakses secara langsung dari internet,

o Tidak terdapat batasan pada permintaan yang masuk dan keluar jaringan.

4. Langkah 1 – Sebaran IP Baru dan memindahkan Layanan Web

Organisasi XYZ juga didukung dengan server

RedHat Linux dan dilengkapi dengan kartu ISDN. Semua routing pada server ini di non-aktifkan dan hanya berfungsi sebagai gateway aplikasi yang bekerja dengan melakukan monitoring pada port-port tertentu, dan mengaktifkan program lain yang dapat melayani arus informasi pada jaringan internal.

Langkah pengamanan pertama yang dilakukan adalah dengan membenahi alamat IP sehingga dapat digunakan sebagai alamat global. Jika terdapat serang

an hacker, maka jaringan internal tidak akan terganggu.

Lakukan setup DNS pada Windows NT4.0, karena layanan DNS pada NT relatif mudah dikonfigurasi, cukup aman untuk DNS internal, dan mendukung regis

trasi dinamis. Versi terbaru dari BIND mendukung registrasi dinamis untuk upgrade ke Windows 2000, sehingga sistem membutuhkan layanan DNS Windows 2000 untuk ekstensi direktori aktif.

Kemudian dilakukan modifikasi pada semua alamat IP pada Server dan Print Server, mengubah konfigurasi aplikasi gateway pada Linux, dan membentuk sebaran DHCP baru. Langkah berikutnya adalah memindahkan halaman web dari jaringan lokal ke ISP karena halaman page tidak harus diubah setiap saat. Dengan memindahkan halaman web ke ISP, maka

aspek keamanan bukan menjadi kompleksitas programmer namun menjadi kompleksitas ISP.

5. Langkah 2 – Menentukan Perangkat Keras Pendukung

Perangkat keras yang digunakan meliputi koneksi A

DSL, implementasi Firewall, dan implementasi DMZ. Pada perangkat keras yang digunakan menggunakan sistem operasi Windows atau Linux. Windows mempunyai kelemahan:

Meskipun Windows NT/2000 cukup sulit

di hack, namun mudah diserang Denial Of Service (DOS) atau service yang crash. Banyak sekali pihak yang melakukan hack pada lingkungan Windows.

Sedangkan kelemahan Linux adalah karena Linux merupakan sistem operasi yang dibangun oleh hacker sehingga source code Linux mudah didapat. Oleh karena itu dengan menggunakan Linux, maka tingkat keamanan semakin rendah.

Perangkat keras yang dibutuhkan terdiri d

ari perangkat komputer beserta paket sekuritinya, koneksi ADSL dan firewall, serta switch layer Data Link.

6. Langkah 3 – Implementasi Jalur ADSL dan Firewall PIX

Setelah perangkat keras tersedia, maka berikutnya adalah melakukan pemetaan alamat perangkat keras, misalnya:

o ADSL – 209.15.20.34

o Ethernet0 pada ADSL – 192.1.10.5/30 (255.255.255.252)

o Ethernet0 pada firewall PIX.

Berikutnya dibangun translasi NAT untuk melakukan

panggilan forward ke 192.168.10.6. Biarkan router menjadi data route, dan biarkan Firewall menentukan konfigurasi yang diperlukan untuk pengelolaan resiko.

Firewall merupakan sistem yang menyediaka

n konektifitas yang aman antar jaringan baik internal maupun eksternal dalam be

berapa lapis keamanan dengan fungsi yang berbe

da

. Pengertian firewall yang lain adalah sistem yang mengimplementasikan atur

an keamanan untuk komunikasi antar jaringan komputer.

Bagan keamanan digambarkan sebagai berikut:

7. Langkah 4 – Instalasi dan Konfigurasi pada DMZ

Sampai pada langkah ini maka bagian ekster

nal jaringan telah terbentuk, dan dapat dikenali sebagai bagian semi-trusted (DMZ). Namun dengan catatan bahwa pada jaringan, koneksi ISDN telah dipisahkan dan dapat berjalan seperti yang diharapkan. Namun biarkan koneksi ADSL offline, hingga pengujian kinerja sistem telah dilakukan. Langkah ini dilakukan untuk meyakinkan bahwa sistem tidak terganggu selama proses instalasi dan konfigurasi.Sebelumnya arsitektur keamanan yang akan dibangun digambarkan sebagai berikut:

Langkah yang perlu dilakukan adalah sebagai berikut:

Pertama adalah menentukan subnet yang akan digunakan pada DMZ. 192.100.100.0/24 merupakan tebaran IP yang digunakan pada jaringan. Selain itu dilakukan juga pengujian pada tebaran IP. Tebaran IP harus mempunyai ruang lingkup yang sama.

Ethernet1 pada PIX mempunyai alamat IP 192.100.100.6/24, untuk tetap berhubungan dengan antarmuka Ethernet. Switch juga ditentukan alamat IP-nya. Hal ini dilakukan untuk mencegah hacker memasuki dan melakukan sniffing pada sistem. Langkah ini merupakan proses inspeksi dan antispoofing pada firewall PIX.

Setelah langkah diatas dilakukan, maka semua mesin telah terhubung dan online berdasar pada alamat IP dan layanan jaringan komputer yang dibutuhkan. Mesin tersebut dapat dikonfigurasi dengan berbagai spesifikasi keamanan.

Firewall PIX juga dapat menerima permintaan VPN yang masuk, untuk memberi kemungkinan bagi pengguna jarak jauh untuk melakukan otentikasi pada sistem. Pembatasan akses pada server VPN menggunakan daftar akses yang menolak semua permintaan koneksi untuk mengakses VPN sampai diverifikasi sebagai salah satu kantor cabang atau dari kantor utama. Akses SSH pada mesin DMZ dapat dikontrol dari komputer lokal dengan menggunakan kantor. Sehingga dimungkinkan mengakses mesin melalui SSH, namun port scan dari internet tidak pernah melihat port SSH terbuka.

Langkah berikutnya adalah melakukan redirect layanan DNS dari koneksi ADSL. Translasi alamat port dilakukan pada firewall PIX untuk meneruskan pengiriman setiap permintaan UDP/TCP port 53. Kemudian aktifkan filter paket pada firewall PIX untuk mengizinkan input koneksi TCP port 53 dari NamaServer secondary(umumnya milik ISP), permintaan UDP port 53 yang masuk, dan permintaan UDP port 53 yang keluar dari server DNS. Konfigurasi ini harus diselesaikan untuk semua layanan pada semua server dengan layanan yang munkin berbeda-beda per server. Penelitian yang perlu dilakukan selanjutnya adalah mengubah delegasi nama server sehingga delegasi nameserver yang diharapkan nameserver primer dkonfigurasi untuk alamat eksternal ADSL, bukan untuk ISDN alamat eksternal.

Setelah melalui semua langkah diatas, maka koneksi ADSL dapat dikonfigurasi dengan tingkat keamanan yang dibutuhkan oleh semua daftar akses dan PAT. Aturan dasarnya adalah jika tidak membutuhkan akses layanan tertentu, maka akses akan ditolak. Hacker hanya dapat menyerang layanan yang disediakan oleh host DMZ, oleh karena itu upaya yang harus dilakukan adalah meminimalisasi jumlah layanan yang dapat diakses lewat internet, serta melengkapi layanan tersebut dengan keamanan yang tinggi. Sedangkan pada dasarnya semua layanan dapat diakses lewat internet. Lakukan pengujian pada setiap layanan, memindai semua port dan yakinkan anda mempunyai akses yang terbatas, sebanyak kemungkinan layanan spesifik.

Langkah terakhir adalah melakukan konfigurasi antarmuka ethernet pada firewall PIX ke dalam jaringan internal. Pastikan semua lalu lintas diblok melalui daftar akses dari jaringan internal, sehingga tidak ada orang maupun apapun yang dapat akses keluar.

8. Langkah 5 – Konfigurasi Chaining / PassThrough

Saat ini, pada perancangan DMZ membutuhkan proxy untuk semua layanan yang mungkin, sehingga server exchange tidak mengirim dan menerima mail secara langsung, namun dengan proxy semua yang berkaitan dengan mail akan melalui server sendmail. Hal ini berarti bahwa tidak ada pengguna internet yang dapat langsung mengakses melalui layanan internal apapun. Selain itu, kita dapat mengeksekusi multi nilai pada perangkat yang berbeda untuk meningkatkan proteksi. Misalnya dengan mengaktifkan pemindai virus sendmail pada mail server DMZ dan Norton AntiVirus untuk exchange dan servernya.

Daftar akses mempunyai kompleksitas yang bervariasi tergantung pada layanan yang diaktifkan. Misalnya permintaan untuk menyediakan informasi web untuk kepentingan umum, membutuhkan persetujuan dari Proxy pada DMZ hanya dari proxy internal, dan Proxy DMZ dan menginisilisasi semua koneksi ke luar. Proxy DMX tidak perlu menerima request persetujuan dari sumber yang lain, sehingga hacker seharusnya tidak dapat mengakses server.

Keamanan data merupakan isu yang menjadi titik tolak pembahasan makalah ini, oleh karena itu, perlu dilakukan suatu langkah yang dapat memastikan lebih lanjut bahwa tidak terdapat pihak yang tidak memerlukan data, mempunyai hak akses. Misalnya permintaan akses web hanya diperuntukan bagi lingkungan internalh dengan mekanisme proxy dan proxy DMZ. Pada koneksi SMTP, permintaan layanan DNS seharusnya datang dari server DNS pada jaringan internal, dan seharusnya hanya dimiliki oleh DMZ named server. Segala sesuatu yang tidak diperlukan, sebaiknya secara otomatis di blok. Lakukan batasan sebanyak mungkin.

Sebagian besar sistem, hanya melakukan pembatasan layanan hanya untuk permintaan dari pihak eksternal, namun sebaiknya pembatasan layanan juga diberikan bagi permintaan dari internal jaringan. Hal ini disebabkan oleh dua faktor. Pertama, penyederhanaan file log. Beberapa trojan dikonfigurasi dengan melakukan pemanggilan inisialisasi dari mesin yang terinfeksi menuju mesin lain yang akan diserang. Oleh karena itu jika administrator teledor dan tidak memberi batasan pada permintaan keluar, maka hal ini akan memberikan peluang bagi hacker untuk memasuki sistem, terlepas dari tingkat keamanan yang terdapat dari sisi penerima. Selain itu hilangkan kemungkinan pada setiap mesin untuk dapat melakukan permintaan layanan pada diri sendiri(loop request). Jika dibutuhkan melakukan IRC ke internet, gunakan server IRC. Namun jangan memberi layanan ICQ atau MSN secara internal. Pada dasarnya sampai saat ini, telah dilakukan pengujian pada tingkat keyakinan koneksi keluar dari jaringan internal, yang hanya dapat dilakukan dari server.

9. Langkah 6 – Alarm dan Tripwire

Terdapat banyak metode untuk mencegah hacker, namun masih terlalu banyak wilayah komputerisasi yang dapat dijelajahi. Sehingga, adu kekuatan antara administrator dan hacker tidak akan reda dalam waktu singkat, bahkan diperkirakan akan terus berjalan seiring dengan perkembangan teknologi. Pada makalah ini akan dibahas tiga metode utama, yaitu:

1. SysLog Logging

2. Pendeteksi serangan Tripwire

3. Cron Jobs

Pada firewall PIX, log semua kesalahan otorisasi dan koneksi ke server SysLog pada jaringan internal. Sehingga dengan log yang disimpan, dapat diketahui bagaimana metode yang digunakan hacker untuk memasuki sistem.

Tripwire merupakan daemon yang baik bagi sistem dan dapat memonitor kumpulan file yang diubah atau dimodifikasi. Jika hacker mencoba memasuki sistem, maka apapun yang dilakukan akan selalu memodifikasi file. Sehingga administrator dapat memonitor setiap perubahan pada file, dan dapat menentukan kompromi yang diambil. Catat aktifitas tersebut pada server SysLog, atau bahkan eksekusi script yang bersesuaian dengan file tersebut.

Tripwire mempunyai satu kelemahan. Proses tripwire bekerja pada sistem dengan interval tertentu, dan para hacker telah mengetahui kelemahan ini, dan jika mereka telah memperoleh hak akses root, maka mereka akan menonaktifkan proses. Oleh karena itu perlu dibangun sebuah script (cron job) yang selalu mencari pada proses yang sedang aktif untuk memastikan tripwire sedang aktif. Jika diketahui tripwire telah dinonaktifkan maka script akan mengirimkan email dan sms ke administrator dan mesin dishutdown. Proses ini pun mempunyai resiko data dan program menjadi rusak. Namun jika terdapat mail exchanger ISP cadangan, dan server DNS cadangan, maka sebelum dishutdown, program dan data diselamatkan ke server cadangan.

9.1. Pendeteksi Serangan

Metode Pendeteksi Serangan bekerja dengan asumsi bahwa aktivitas penyerang dapat dibedakan dengan aktivitas yang dilakukan pengguna pada umumnya. Perbedaan karakteristik antara pengguna dan penyerang termasuk pada kumpulan parameter yang dikaji dan awal data yang berkomunikasi.

Pendeteksi serangan Host-Based terdiri dari dua tipe yaitu spesifik pada aplikasi dan spesifik pada sistem operasi. Pada kedua tipe tersebut agen umumnya berada pada server yang selanjutnya akan dimonitor, melakukan analisis file log, pengaksesan data, dan file log aplikasi. Sistem keamanan dengan host-based menggunakan teknik perbandingan antara modul yang dideteksi mengalami anomali dengan pola normal secara statistik. Pada kasus monitor untuk tipe spesifik pada sistem operasi, sesi yang abnormal seperti login yang tidak berhasil akan dibandingkan dengan model behavioral dari penggunaan normal dengan menggunakan kriteria seperti waktu akses, serta jumlah dan tipe file yang diakses atau dibuat. Pendeteksi serangan spesifik pada aplikasi umumnya mendefinisikan sekumpulan aturan yang menggambarkan aktivitas dengan acuan kejadian log.

9.2. Pendeteksi Serangan di Masa Depan

Seakan setiap waktu, dibangun dan beredar perangkat lunak baru, namun masa depan adalah milik penganalisis syslog. Perangkat bantu syslog menyediakan informasi syslog, memprosesnya, dan jika kondisi tertentu dipenuhi, maka akan mengaktifkan script. Umumnya para hacker memulai aktivitasnya dengan melakukan pemindaian port. Administrator dapat mengkonfigurasi firewall pada umumnya, untuk mencatat(log) semua kesalahan komunikasi pada server syslog.

Jika terdapat penganalisis, maka dapat dibentuk kumpulan aturan yang akan mengeksekusi script jika terdapat penolakan 4 koneksi pada port atau protokol yang berbeda dengan periode 10 detik. Script tersebut secara otomatis menambah pernyataan deny pada daftar akses firewall, yang selanjutnya firewall akan menolak semua koneksi dari alamat IP dari port diluar sistem. Daftar deny tersebut dapat disimpan dalam waktu 30 menit, namun berdampak pada seksi pengumpulan informasi. Dengan kemampuan fungsi tersebut, maka administrator dapat mengendalikan tingkat keamanan sistem sebagaimana yang dibutuhkan.

10. Langkah 7 – Aktifkan Sistem

Setelah melalui langkah-langkah diatas, maka sistem dapat diaktifkan, dengan tetap selalu mencatat perubahan-perubahan yang terjadi. Hal lain yang diperlukan sistem adalah ubah nama record, konfigurasi ulang layanan internal dan siap untuk digunakan.

11. Pemrograman Jaringan pada Protokol TCP/IP

Protokol TCP/IP merupakan protokol yang banyak digunakan pada lingkungan internal jaringan, bahkan merupakan protokol standard yang digunakan pada komunikasi internet. Berkaitan dengan pembangunan sistem keamanan, maka selain melakukan pencegahan dengan DMZ, diperlukan pula pengetahuan teknik pemrograman jaringan (Network Programming), sehingga dengan semikian diharapkan administrator lebih mengenal bagaimana cara kerja hacker dan kelompok penyerang yang lain.

Network Programming menggunakan bahasa C++ untuk beberapa metoda akses jaringan komunikasi data, yaitu:

  1. Mengetahui nama sebuah komputer dan alamat IP-nya
  2. Pendeteksian, dan penutupan koneksi pada TCP/IP
  3. Mengetahui nama komputer lain dan alamat IP masing-masing
  4. Pendeteksian port pada TCP/IP
  5. Melakukan operasi ping pada TCP/IP
  6. Pendeteksian alamat MAC

11.1. Mengetahui Nama Sebuah Komputer dan Alamat IP-nya

Kode program dan langkah-langkah berikut dapat digunakan untuk mengetahui nama komputer dan alamat IP pada komputer yang mengeksekusi program tersebut.

 
#include 
 
{
   WORD wVersionRequested;
   WSADATA wsaData;
   char name[255];
   CString ip;
   PHOSTENT hostinfo;
   wVersionRequested = MAKEWORD( 2, 0 );
 
   if ( WSAStartup( wVersionRequested, &wsaData ) == 0 )
   {
      if( gethostname ( name, sizeof(name)) == 0)
      {
         if((hostinfo = gethostbyname(name)) != NULL)
            {
             ip=inet_ntoa(*(struct in_addr *)*hostinfo->h_addr_list);
            }
      }
      
      WSACleanup( );
   } 
}

11.2. Pendeteksian, dan Penutupan Koneksi Pada TCP/IP

Pada saat salah satu terminal yang berkoneksi dengan TCP/IP terminate atau down tanpa mengirimkan sinyal ke terminal lain, dapat mengakibatnya terminal lain yang juga sedang berkoneksi dalam kondisi deadlock. Tugas utama server adalah mengelola sejumlah besar koneksi. Jika terdapat satu socket yang hang pada server, dapat mengakibatkan pemborosan resource. Winsock tidak dapat menyediakan layanan yang dapat melalu memantau adanya terminal yang terminate/down pada koneksi TCP/IP. Sehingga dibutuhkan fungsi HasConnectionDropped yang dapat melakukan fungsi tersebut.

Langkah-langkah pada fungsi tersebut adalah:

1. Cek apakah socket dapat dibaca

2. Jika Ya, deteksi data yang masuk

3. Cek nilai data dan error untuk menentukan apakah koneksi jaringan masih terjaga.

Pendeteksian data yang datang dilakukan dengan flag MSG_PEEK. Kemudian data disalin pada buffer tanpa menghapus data dari antrian input, sehingga tidak mengganggu kerja sistem. Pendeteksian error dilakukan jika recv call mengembalikan nilai error. Jika recv call mengembalikan nilai 0, maka dapat disimpulkan adanya permintaan pemutusan hubungan dari terminal yang lain. Nilai ini dapat juga digunakan untuk mendeteksi kegagalan koneksi.

Berikut adalah kode fungsi yang telah dimodifikasi:

BOOL CClientSocket::HasConnectionDropped( void )
{
        BOOL bConnDropped = FALSE;
        INT iRet = 0;
        BOOL bOK = TRUE;
        
        struct timeval timeout = { 0, 0 };
        fd_set readSocketSet;
        
        FD_ZERO( &readSocketSet );
        FD_SET( m_hSocket, &readSocketSet );
        
        iRet = ::select( 0, &readSocketSet, NULL, NULL, &timeout );
        bOK = ( iRet > 0 );
        
        if( bOK )
        {
               bOK = FD_ISSET( m_hSocket, &readSocketSet );
        }
        
        if( bOK )
        {
               CHAR szBuffer[1] = "";
               iRet = ::recv( m_hSocket, szBuffer, 1, MSG_PEEK );
               bOK = ( iRet > 0 );
               if( !bOK )
               {
                       INT iError = ::WSAGetLastError();
                       bConnDropped = ( ( iError == WSAENETRESET ) ||
                               ( iError == WSAECONNABORTED ) ||
                               ( iError == WSAECONNRESET ) ||
                               ( iError == WSAEINVAL ) ||
                               ( iRet == 0 ) );
               }
        }
        
    return( bConnDropped );
}

11.3. Mengetahui Informasi Mengenai Workstation

Program berikut digunakan untuk mengetahui informasi mengenai workstation baik yang aktif maupun yang tidak, tanpa mengubah konfigurasi server. Fasilitas ini cocok digunakan untuk aplikasi monitoring jaringan secara real time.

#include 
#include 
#include 
#include 
#include */
 
//      Network API job - obtain network info about selected machine.
BOOL
_GetWkstaInformation100()
{
        LPBYTE lpBuf;
        LPCSTR lpcstrWkstaName = (LPCSTR)m_strWkstaName;
        int iwLength = 2 * (MAX_COMPUTERNAME_LENGTH + 1);
        WCHAR lpwWkstaName[2 * (MAX_COMPUTERNAME_LENGTH + 1)];
        lpwWkstaName[0] = '\0';
        MultiByteToWideChar(CP_ACP, 0, lpcstrWkstaName, -1, lpwWkstaName, iwLength);
 
        typedef NET_API_STATUS (NET_API_FUNCTION *NETWKPROC)(LPWSTR, DWORD, LPBYTE *);
 
        NETWKPROC _procNetWkstaGetInfo = (NETWKPROC)
               (GetProcAddress(theApp.m_hNetDLL, _T("NetWkstaGetInfo")));
        if(_procNetWkstaGetInfo)
        {
               NET_API_STATUS nasRetVal = (*_procNetWkstaGetInfo)(lpwWkstaName, 100, (LPBYTE*)&lpBuf);
 
               if(nasRetVal == NERR_Success)
               {
                       WKSTA_INFO_100 *pWkstaInfo = (WKSTA_INFO_100 *)lpBuf;
                       DWORD dwPlatformId = pWkstaInfo->wki100_platform_id;
 
                       if(dwPlatformId != PLATFORM_ID_NT)
                       {
                               //[ERROR]Not a Windows NT Workstation - if useful.
                               return FALSE;
                       }
                       else
                         return TRUE;
               }
               else
               {
                       //[ERROR] System error. Call GetLastError, FormatMessage, etc.
                       return FALSE;
               }
        }
        else
        {
               //[ERROR]Unable to find procedure NetWkstaGetInfo in netapi32.dll.
               return FALSE;
        }
}
 

11.4. Mengetahui nama komputer lain dan alamat IP masing-masing

Program ini dapat digunakan untuk mendapatkan informasi mengenai terminal-terminal yang berkoneksi dengan jaringan TCP/IP. Fungsi ini sama dengan fungsi Network Neighbourhood pada MsWindows.

Langkah-langkah yang dilakukan adalah sebagai berikut:

1. Include winsock2.h

2. Pada Menu, pilih Project-Setting dan pada tab Link, pilih Object/Library Modules

3. Tambahkan ws2_32.lib dan mpr.lib pada daftar link sebelumnya

4. Kompilasi kode program berikut tanpa membuat linker error

CString strTemp;       
struct hostent *host;
struct in_addr *ptr;   // To retrieve the IP Address
 
DWORD dwScope = RESOURCE_CONTEXT;
NETRESOURCE *NetResource = NULL;
HANDLE hEnum;
WNetOpenEnum( dwScope, NULL, NULL, NULL, &hEnum );
 
WSADATA wsaData;
WSAStartup(MAKEWORD(1,1),&wsaData);
 
if ( hEnum )
{
  DWORD Count = 0xFFFFFFFF;
  DWORD BufferSize = 2048;
  LPVOID Buffer = new char[2048];
  WNetEnumResource( hEnum, &Count, Buffer, &BufferSize );
  NetResource = (NETRESOURCE*)Buffer;
 
  char szHostName[200];
 
  for ( unsigned int i = 0; i <>
                                          i++, NetResource++ )
  {
    if ( NetResource->dwUsage == RESOURCEUSAGE_CONTAINER && 
                  NetResource->dwType == RESOURCETYPE_ANY )
    {
      if ( NetResource->lpRemoteName )
      {
         CString strFullName = NetResource->lpRemoteName;
         if ( 0 == strFullName.Left(2).Compare("\\\\") )
           strFullName = strFullName.Right(strFullName.GetLength()-2);
         gethostname( szHostName, strlen( szHostName ) );
         host = gethostbyname(strFullName);
         if(host == NULL) continue; 
         ptr = (struct in_addr *) host->h_addr_list[0];
 
         // Eg. 211.40.35.76 split up like this.
         int a = ptr->S_un.S_un_b.s_b1;  // 211
         int b = ptr->S_un.S_un_b.s_b2;  // 40
         int c = ptr->S_un.S_un_b.s_b3;  // 35
         int d = ptr->S_un.S_un_b.s_b4;  // 76
 
         strTemp.Format("%s -->  %d.%d.%d.%d",strFullName,a,b,c,d);
         AfxMessageBox(strTemp);
      }
    }
  }
  delete Buffer;
  WNetCloseEnum( hEnum );      
}
 
WSACleanup();

11.5. Pendeteksian Port Pada TCP/IP

Program berikut merupakan pendeteksi port yang efektif yang dilengkapi dengan fasilitas pengujian koneksi dan layanan basis data lokal. Pengetahuan dasar yang dibutuhkan adalah MFC dan Winsock API.

Mekanisme kerja program berikut adalah, setiap terjadi pengiriman atau penerimaan data melalui internet, maka aplikasi e-mail harus berkoneksi dengan remote port pada remote terminal. Beberapa layanan yang tersedia pada internet adalah sebagai berikut:

Layanan

Port

Deskripsi

echo

7

Echo

daytime

13

Jam

ftp

21

File Transfer Protocol

Ssh

22

SSH Remote Login Protocol

telnet

23

Telnet

smtp

25

Simple Mail Transfer

time

37

Waktu

nameserver

42

Host Name Server

nicname

43

Who Is

domain

53

Domain Name Server

gopher

70

Gopher

http

80

World Wide Web HTTP

kerberos

88

Kerberos

pop3

110

Post Office Protocol

netbios-ns

137

NETBIOS Name Service

netbios-dgm

138

NETBIOS Datagram Service

netbios-ssn

139

NETBIOS Session Service


Namun sebenarnya layanan atau port yang tersedia sangat banyak, dan dapat dikelompokkan sebagai berikut:

Port

Fungsi

0 – 1023

Port yang sering digunakan pada layanan server, seperti smtp, pop3, ftp, etc.

1024 - 49151

Port yang terdaftar pada organisasi IANA

49152 - 65535

Dinamik dan/atau private port yang bebas digunakan


Berdasarkan RFC793 mengenai TCP dan RFC768 mengenai protokol UDP, port-port diatas dapat digunakan pada koneksi TCD dan UDP. Sehingga tidak muncul duplikasi entri yang menggunkaan layanan yang sama, seperti berikut:

Service

Port/Protocol

Deskripsi

echo

7/tcp

Echo

echo

7/udp

Echo


Protokol TCP/IP mengacu pada model OSI (Open Systems Interconnection) yang diperkenalkan oleh ISO (International Organization for Standardization). Model OSI terdiri dari 7 lapis yaitu Aplikasi, Presentasi, Sesi, Transport, Network, Data Link, dan Fisik. Pada lapis bawah terdapat NIC yang digunakan untuk komunikasi data antar komputer. TCP/IP terdiri dari protokol-protokol:

Protokol

Deskripsi

IP (Internet Protocol)

Protokol yang digunakan untuk komunikasi data antar terminal

TCP (Transport Control Layer)

Protokol yang digunakan untuk komunikasi data antar aplikasi

UDP (User Data Protocol)

Digunakan oleh TCP untuk komunikasi data antar aplikasi dengan mekanisme yang lebih sederhana dan lebih reliable daripada TCP

ICMP (Internet Control Message Protocol)

Digunakan pada lapis Network untuk error messaging


Hubungan antara model OSI dan ptotokol TCP/IP dapat dituliskan sebagai berikut:

Model OSI

TCP/IP

application layer

client program

presentation layer

client program

session layer

client program

transport layer

TCP/UDP

network layer

ICMP/IP/IGMP

data-link layer

ARP/hardware/RARP

Phisical layer

ARP/hardware/RARP

Kode program berikut merupakan WinSock programming dalam mode asynchronous bukan blocking atau non blocking. Program akan memonitor 1 port dalam 1 waktu tanpa terjadi blocking hingga semua port dicek.

Kode program dibagi menjadi 2 bagian yaitu CPropertySheet dalam bentuk aplikasi MFC dan class untuk antarmuka WinSock.

File CPropertySheetDialog.cpp/.h dan CPropertyPageDialog.cpp/.h terdiri dari semua class yang dibutuhkan pada mekanisme Property Sheet dan digunakan sebagai basis aplikasi MFC. File TcpPropertySheet.cpp/.h terdiri dari kade untuk aplikasi utama, sedangkan semua file Tcp[...]Page.cpp/.h terdiri dari kode untuk halaman sheet. Kode antarmuka WinSock API terdapat pada file CWinsock.cpp/.h dan CSock.cpp/.h. File CAsyncSock.cpp/.h terdiri dari class yang digunakan untuk mengakses Winsock API dalam mode asyncronous, sedangkan kode program yang lain digunakan secara internal untuk menangani daftar kontrol, konfigurasi program, dan sebagainya.

Class pembangun antarmuka Winsock adalah CWinsock yang berfungsi untuk memetakan semua layanan WinSock ke library atau dummy inplementation tergantung pada definisi makro _DEBUGSOCKET, karena class CwinSock terdiri dari kode program untuk menangani layanan minimal server SMTP/POP3, yang dapat digunakan untuk menguji protokol SMTP/POP3 tanpa membutuhkan koneksi internet.

Umumnya aplikasi MFC membutuhkan class CTcpScanApp dari CwinApp yang didefinisikan sendiri dengan mengubah InitInstance() pada implementasi property sheet dan semua page yang berkaitan.

BOOL CTcpScanApp::InitInstance(void)
{
  CScanPage ScanPage;
  CConnectPage ConnectPage;
  CServicesPage ServicesPage;
  CPropertyPageList* pPropertyPageList = new CPropertyPageList();
 
  if(pPropertyPageList)
  {
     PROPERTYPAGE* p;
 
     p = new PROPERTYPAGE(IDD_PAGE_SCAN,
                          &ScanPage,
                          RUNTIME_CLASS(CScanPage));
     pPropertyPageList->Add(p);
 
     p = new PROPERTYPAGE(IDD_PAGE_CONNECT,
                          &ConnectPage,
                          RUNTIME_CLASS(CConnectPage));
     pPropertyPageList->Add(p);
     
     p = new PROPERTYPAGE(IDD_PAGE_SERVICES,
                          &ServicesPage,
                          RUNTIME_CLASS(CServicesPage));
     pPropertyPageList->Add(p);
 
     CTcpScanPropertySheet* pPropertySheetDialog =
              new CTcpScanPropertySheet(NULL,
                                        pPropertyPageList);
     if(pPropertySheetDialog)
     {
       if(pPropertySheetDialog->Create())
       {
          m_pMainWnd = pPropertySheetDialog;
          pPropertySheetDialog->DoModal();
       }
 
       delete pPropertySheetDialog;
    }
 
    delete pPropertyPageList;
  }
 
  return(FALSE);
}

Dialog property sheet merupakan basis class CpropertySheetDialog / CPropertyPageDialog, yang menangani semua hal yang dibutuhkan. Button Apply danthe Help dihapus sehingga hanya tersisa button OK dan Cancel.

Setiap class yang digunakan sebagai page pada sheet didefinisikan oleh handle berikut:

  BOOL  OnInitDialog(void);
  BOOL  OnSetActive(void);
  BOOL  OnKillActive(void);
  void  OnKillSheet(void);
  void  OnOk(void);
  void  OnCancel(void);

11.6. Melakukan operasi ping pada TCP/IP

Masalah umum pada TCP/IP adalah bagaimana melakukan ping pada Windows dengan menggunakan stack MS-TCP. Masalah tersebut dapat ditangani dengan menggunakan ICMP DLL.

Masalah implementasi adalah jika ditentukan nama komputer, atau alamat IP, maka lakukan ping yang dapat mengembalikan informasi waktu response ping. Fungsi ini membutuhkan ICMP.DLL dan beberapa struktur socket pada Csocket. Sebelum melakukan percobaan, file ICMPAPI.H, ICMP.LIB, dan IPEXPORT.H dari Microsoft, diletakkan pada direktori lib.

Class terdiri dari 4 fungsi publik:

unsigned long ResolveIP(CString strIP)
unsigned long ResolveName(CString strHostName)
CString GetIP(unsigned long ulIP)
DWORD PingHost(unsigned long ulIP, int iPingTimeout)

ResolveIP mengambil informasi alamat IP CString (seperti "123.123.123.123"), dan mengembalikan alamat network berdasarkan urutan byte.

ResolveName mengambil inormsi host name CString, yang diakses melalui DNS atauWINS, dan mengembalikan alamat network berdasarkan urutan byte.

GetIP mengambil informasi alamat network berdasarkan urutan byte, dan mengembalikan alamat IP sebagai Cstring.

PingHost mengambil informasi alamat network berdasarkan urutan byte, timeout integer, alamat ping, and mengembalikan ping response time.

/*
//------------------------------------------------------------------------------------------------------------------
//icmpecho.h
//------------------------------------------------------------------------------------------------------------------
*
 
class CIcmpEcho : public CSocket
{
// Attributes
public:
 
// Operations
public:
        CIcmpEcho();
        virtual ~CIcmpEcho();
 
        unsigned long ResolveIP(CString strIP);
        unsigned long ResolveName(CString strHostName);
 
        DWORD PingHost(unsigned long ulIP, int iPingTimeout);
 
        CString GetIP(unsigned long ulIP);
 
// Overrides
public:
        // ClassWizard generated virtual function overrides
        //{{AFX_VIRTUAL(CIcmpEcho)
        //}}AFX_VIRTUAL
 
        // Generated message map functions
        //{{AFX_MSG(CIcmpEcho)
               // NOTE - the ClassWizard will add and remove member functions here.
        //}}AFX_MSG
 
// Implementation
protected:
};
/////////////////////////////////////////////////////////////////////////////
 
 
/*
//------------------------------------------------------------------------------------------------------------------
//icmpecho.cpp
//------------------------------------------------------------------------------------------------------------------
*
 
// IcmpEcho.cpp : implementation file
//
 
#include "IcmpEcho.h"
 
extern "C" {
#include "ipexport.h"
#include "icmpapi.h"
}
 
#define PING_TIMEOUT 100
 
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
 
/////////////////////////////////////////////////////////////////////////////
// CIcmpEcho
 
CIcmpEcho::CIcmpEcho()
{
}
 
CIcmpEcho::~CIcmpEcho()
{
}
 
 
// Do not edit the following lines, which are needed by ClassWizard.
#if 0
BEGIN_MESSAGE_MAP(CIcmpEcho, CSocket)
        //{{AFX_MSG_MAP(CIcmpEcho)
        //}}AFX_MSG_MAP
END_MESSAGE_MAP()
#endif  // 0
 
/////////////////////////////////////////////////////////////////////////////
// CIcmpEcho member functions
unsigned long CIcmpEcho::ResolveIP(CString strIP)
{
        //Task 1:      Given IP Address i.e. "111.111.111.111",
        //      Return Network byte ordered address (ulIP)
 
        unsigned long ulIP;
 
        ulIP =(IPAddr)inet_addr(strIP);
 
        return ulIP;
}
 
unsigned long CIcmpEcho::ResolveName(CString strHostName)
{
        //Task 1:      Resolve HostName (through DNS or WINS, whichever appropriate)
        //Task 2:      Return network byte ordered address (ulIP)
 
        unsigned long ulIP;
        hostent* phostent;
 
        phostent = gethostbyname(strHostName);
        
        if (phostent == NULL)
               return 0;
 
        ulIP = *(DWORD*)(*phostent->h_addr_list);
 
        return ulIP;
 
}
 
DWORD CIcmpEcho::PingHost(unsigned long ulIP, int iPingTimeout)
{
        //Task 1:      Open ICMP Handle
        //Task 2:      Create Structure to receive ping reply
        //Task 3:      SendPing (SendEcho)
        //Task 4:      Close ICMP Handle
        //Task 5:      Return RoundTripTime
 
        unsigned long ip = ulIP;
 
        HANDLE icmphandle = IcmpCreateFile();
 
        char reply[sizeof(icmp_echo_reply)+8];
 
        icmp_echo_reply* iep=(icmp_echo_reply*)&reply;
        iep->RoundTripTime = 0xffffffff;
 
        IcmpSendEcho(icmphandle,ip,0,0,NULL,reply,sizeof(icmp_echo_reply)+8,iPingTimeout);
 
        IcmpCloseHandle(icmphandle);
 
        return iep->RoundTripTime;
 
}
 
CString CIcmpEcho::GetIP(unsigned long ulIP)
{
        //Task 1:      Given a host order ulIP Address
        //      Return a IP address in format of xxx.xxx.xxx.xxx
 
        LPSTR szAddr;
 
        struct in_addr inetAddr;
        
        inetAddr.s_addr = (IPAddr)ulIP;
 
        szAddr = inet_ntoa(inetAddr);
 
        CString csIP = szAddr;
 
        return csIP;
 
}

11.7. Pendeteksian alamat MAC

Alamat MAC dapat dilakukan dengan berbagai cara, salah satunya adalah dengan melakukan queri driver miniport NDIS. Mekanisme miniport dapat dibagi menjadi beberapa metode yaitu:

11.7.1. Metode 1: UuidCreate

Cara paling sederhana untuk mengetahui alamat MAC, yaitu dengan membuat Uuid sekuensial. Microsoft menggunakan alamat MAC untuk membangun universally unique identifier.

Langkah yang dilakukan adalah mencek byte ke-2 hingga ke-8. Kode program sebagai berikut:

// Fetches the MAC address and prints it
static void GetMACaddress(void)
{
  unsigned char MACData[6];
 
  UUID uuid;
  UuidCreateSequential( &uuid );    // Ask OS to create UUID
  for (int i=2; i<8; style="">  // Bytes 2 through 7 inclusive 
                           // are MAC address
    MACData[i - 2] = uuid.Data4[i];
  PrintMACaddress(MACData);         // Print MAC address
}

Metode ini hanya dapat dieksekusi pada PC dengan NIC tunggal.

11.7.2. Metode 2: Menggunakan NetBIOS

Metode ini mendukung PC dengan multi NIC, namun membutuhkan NetBIOS yang harus di install beserta koneksi kabel yang valid untuk NetBIOS.

// Fetches the MAC address and prints it
static void GetMACaddress(void)
{
  unsigned char MACData[8];      // Allocate data structure 
                                 // for MAC (6 bytes needed)
 
  WKSTA_TRANSPORT_INFO_0 *pwkti; // Allocate data structure 
                                 // for NetBIOS
  DWORD dwEntriesRead;
  DWORD dwTotalEntries;
  BYTE *pbBuffer;
    
  // Get MAC address via NetBIOS's enumerate function
  NET_API_STATUS dwStatus = NetWkstaTransportEnum(
   NULL,                 // [in]  server name
   0,                    // [in]  data structure to return
   &pbBuffer,            // [out] pointer to buffer
   MAX_PREFERRED_LENGTH, // [in]  maximum length
   &dwEntriesRead,       // [out] counter of elements 
                         //       actually enumerated
   &dwTotalEntries,      // [out] total number of elements 
                         //       that could be enumerated
   NULL);                // [in/out] resume handle
  assert(dwStatus == NERR_Success);
 
  pwkti = (WKSTA_TRANSPORT_INFO_0 *)pbBuffer; // type cast the buffer
 
  for(DWORD i=1; i< style="">  // first address is
                                            // 00000000, skip it
  {                                         // enumerate MACs & print
    swscanf((wchar_t *)pwkti[i].wkti0_transport_address,
            L"%2hx%2hx%2hx%2hx%2hx%2hx",
            &MACData[0],
            &MACData[1],
            &MACData[2], 
            &MACData[3],
            &MACData[4],
            &MACData[5]);
    PrintMACaddress(MACData);
  }
  // Release pbBuffer allocated by above function
  dwStatus = NetApiBufferFree(pbBuffer);
  assert(dwStatus == NERR_Success);
}

11.7.3. Metode 3: Menggunakan GetAdaptersInfo

Cara yang paling banyak dilakukan untuk mendapatkan informasi alamat MAC adalah dengan metode GetAdaptersInfo. Metode tersebut dapat menyediakan banyak informasi sebagai IPCONFIG /ALL termasuk server DHCP, Gateway, daftar alamat IP, subnet mask, dan WINS server.

// Fetches the MAC address and prints it
static void GetMACaddress(void)
{
  IP_ADAPTER_INFO AdapterInfo[16];       // Allocate information 
                                         // for up to 16 NICs
  DWORD dwBufLen = sizeof(AdapterInfo);  // Save memory size of buffer
 
  DWORD dwStatus = GetAdaptersInfo(      // Call GetAdapterInfo
    AdapterInfo,                 // [out] buffer to receive data
    &dwBufLen);                  // [in] size of receive data buffer
  assert(dwStatus == ERROR_SUCCESS);  // Verify return value is 
                                      // valid, no buffer overflow
 
  PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo; // Contains pointer to
                                               // current adapter info
  do {
    PrintMACaddress(pAdapterInfo->Address); // Print MAC address
    pAdapterInfo = pAdapterInfo->Next;    // Progress through 
                                          // linked list
  }
  while(pAdapterInfo);                    // Terminate if last adapter
}




Selengkapnya...

apa yang kurang di blog ini?