All about my life experience

CARA SHALAT KHUSYU’


QS. Al Baqarah (2) : 238.

“Peliharalah semua shalat(mu), dan (peliharalah) shalat wusthaa. Berdirilah untuk Allah (dalam shalatmu) dengan khusyu’.

QS. Al ‘Ankabuut (29) : 45.

“Bacalah apa yang telah diwahyukan kepadamu, yaitu Al Kitab (Al Quran) dan dirikanlah shalat. Sesungguhnya shalat itu mencegah dari (perbuatan- perbuatan) keji dan mungkar. Dan sesungguhnya mengingat Allah (shalat) adalah lebih besar (keutamaannya dari ibadat-ibadat yang lain). Dan Allah mengetahui apa yang kamu kerjakan.”

QS. Al Mu’minuun 23 : 1-2

Sesungguhnya beruntunglah orang-orang yang beriman, (yaitu) orang-orang yang khusyu’ dalam sembahyangnya.

Dikisahkan bahwa ada seorang ahli ibadah bernama Isam bin Yusuf, dia sangat warak dan terkenal sangat khusyuk shalatnya. Namun demikian dia selalu khawatir kalau-kalau ibadahnya kurang khusyuk dan selalu bertanya kepada orang yang dianggapnya lebih baik ibadahnya, demi untuk memperbaiki dirinya yang selalu dirasanya kurang khusyuk.

Pada suatu hari Isam menghadiri majelis seorang abid bernama Hatim Al-Asam dan bertanya: “Wahai Aba Abdurrahman (Nama gelaran Hatim), bagaimanakah caranya tuan shalat?”

Berkata Hatim: “Apabila masuk waktu shalat, aku berwudu’ zahir dan batin.” Bertanya Isam: “Bagaimana wuduk batin itu?”

Berkata Hatim: “Wuduk zahir sebagaimana biasa, yaitu membasuh semua anggota wudu’ dengan air. Sementara wuduk batin ialah membasuh anggota dengan 7 perkara:

1. Bertaubat.

2. Menyesali akan dosa yang telah dilakukan.

3. Tidak tergila-gila dengan dunia.

4. Tidak mencari atau mengharapkan pujian dari manusia

5. Meninggalkan sifat bermegah-megahan.

6. Meninggalkan sifat khianat dan menipu.

7. Meninggalkan sifat dengki.”

Seterusnya Hatim berkata: “Kemudian aku pergi ke Masjid, kusiapkan semua anggota tubuhku dan menghadap kiblat. Aku berdiri dengan penuh kewaspadaan dan aku bayangkan Allah ada di hadapanku, syurga di sebelah kananku, neraka di sebelah kiriku, malaikat maut berada di belakangku. Dan kubayangkan pula bahwa aku seolah-olah berdiri di atas titian Shiratul Mustaqim’ dan aku menganggap bahwa shalatku kali ini adalah shalat terakhir bagiku (karena aku merasa akan mati setelah shalat ini). Kemudian aku berniat dan bertakbir dengan baik. Setiap bacaan dan do’a dalam shalat aku fahami maknanya. Kemudian aku rukuk dan sujud dengan tawadu’ (merasa hina), aku bertasyahud (tahiyat) dengan penuh pengharapan dan aku memberi salam dengan ikhlas. Beginilah aku shalat selama 30 tahun.

Ketika Isam mendengar penjelasan  itu menangislah ia sekuat-kuatnya,   ternyata ibadahnya  kurang baik bila dibandingkan dengan Hatim.

https://ibramuko2.wordpress.com/cara-shalat-khusyu’/

 

Open VPN & Site to Site VPN


Site to site VPN
http://lh3.ggpht.com/_EoHpBdvKwL8/Sl5-Ra6rPyI/AAAAAAAAA1E/_X2psFdrJHw/s800/vpn%20site%20to%20site%20333.jpg

Virtual Private Network berarti bahwa traffic data VPN pada umumnya tidak terlihat, atau di enkapsulasi, lalu lintas jaringan yang mendasarinya. Demikian pula, lalu lintas dalam VPN muncul untuk jaringan yang mendasarinya hanya sebagai arus lalu lintas lain untuk digunakan. Dalam istilah yang lebih teknis, di link lapisan protokol jaringan virtual dikatakan terowongan melalui jaringan transportasi yang mendasarinya.
Istilah Virtual Private Network (VPN)dapat digunakan untuk menggambarkan berbagai macam konfigurasi jaringan dan protokol. Dengan demikian, hal itu dapat menjadi rumit ketika mencoba generalisasi tentang karakteristik VPN. Beberapa yang lebih umum penggunaan VPN dijelaskan di bawah ini, bersama dengan lebih rinci tentang berbagai skema klasifikasi dan VPN model.

Common yang digunakan VPN

Virtual Private Network (VPN) dapat digunakan untuk mengamankan komunikasi melalui Internet publik. VPN sering dipasang oleh organisasi untuk menyediakan akses remote kepada jaringan organisasi yang aman, atau untuk menghubungkan dua lokasi jaringan bersama dengan menggunakan jaringan yang tidak aman untuk membawa lalu lintas.
VPN dapat digunakan untuk menyembunyikan alamat IP dari komputer-komputer di Internet, misalnya, untuk menjelajahi World Wide Web secara anonim atau untuk mengakses Pembatasan lokasi layanan, seperti Internet TVataupun semacam IP Proxy.Sebuah VPN tidak perlu eksplisit fitur keamanan seperti otentikasi atau enkripsi lalu lintas. Sebagai contoh, penyedia layanan jaringan VPN dapat digunakan untuk memisahkan lalu lintas dari beberapa pelanggan melalui jaringan yang mendasarinya.
Klasifikasi VPN
Teknologi VPN tidak mudah dibandingkan, karena berbagai protokol, terminologi dan pengaruh pemasaran yang telah ditetapkan mereka. Sebagai contoh, teknologi VPN dapat berbeda :
  • Dalam protokol yang mereka gunakan untuk terowongan lalu lintas melalui jaringan yang mendasari;
  • Dengan lokasi terowongan penghentian, seperti pelanggan atau penyedia jaringan tepi tepi;
  • Apakah mereka menawarkan untuk situs-situs atau konektivitas akses sites yang jauh;
  • Dalam tingkat keamanan yang diberikan;
  • Oleh lapisan OSI yang mereka hadir untuk jaringan penghubung, seperti rangkaian Layer 2 atau Layer 3 konektivitas jaringan.
Beberapa skema klasifikasi dibahas dalam bagian berikut :

Secure VPN vs Trusted VPN

Kelompok industri ‘Virtual Private Networking Konsorsium’ telah menetapkan dua jenis klasifikasi VPN Aman (Secure VPN) dan VPN Terpercaya (Trusted VPN). Termasuk anggota konsorsium seperti Microsoft, Cisco, Juniper dan banyak lainnya.
Secure VPN secara eksplisit menyediakan mekanisme authentikasi terowongan terowongan endpoint selama setup, dan enkripsi lalu lintas dalam perjalanan. Aman VPN sering digunakan untuk melindungi lalu lintas ketika menggunakan Internet sebagai tulang punggung yang mendasar, tapi juga dapat digunakan dalam lingkungan ketika tingkat keamanan jaringan yang mendasarinya berbeda dari lalu lintas dalam VPN.
Secure VPN dapat diimplementasikan oleh organisasi yang ingin menyediakan fasilitas akses remote kepada karyawan atau dengan organisasi-organisasi yang ingin menghubungkan beberapa jaringan bersama-sama dengan aman menggunakan Internet untuk membawa lalu lintas. Yang umum digunakan untuk VPN aman dalam akses remote skenario, di mana perangkat lunak klien VPN pada sebuah sistem pengguna akhir digunakan untuk menyambung ke jaringan kantor remote dengan aman. Protokol Secure VPN mencakup IPSec, SSL atau PPTP (dengan MPPE / Microsoft Point to Point Encryption).
Trusted VPN biasanya dibuat oleh operator dan organisasi-organisasi besar dan digunakan untuk segmentasi lalu lintas pada jaringan inti yang besar. Mereka sering menyediakan layanan kualitas dan jaminan carrier-grade lainnya fitur. VPN dipercaya bisa diimplementasikan oleh operator jaringan yang ingin multipleks beberapa sambungan pelanggan secara transparan melalui jaringan inti yang sudah ada atau dengan organisasiorganisasi besar yang ingin memisahkan arus lalu lintas dari satu sama lain dalam jaringan. Trusted VPN protokol termasuk MPLS, ATM atau Frame Relay.
Secure VPN dan Trusted VPN berbeda dari dalam bahwa mereka tidak menyediakan fitur keamanan seperti
kerahasiaan data melalui enkripsi. VPN aman akan tetapi tidak menawarkan tingkat kontrol aliran data yang terpercaya VPN dapat memberikan jaminan seperti bandwidth atau routing. Dari perspektif pelanggan, terpercaya VPN dapat bertindak sebagai kawat logis menghubungkan dua jaringan.
Pembawa yang mendasari jaringan tidak dapat dilihat oleh pelanggan, dan tidak ada pelanggan menyadari kehadiran pelanggan lain melintasi tulang punggung yang sama. Gangguan antara pelanggan, atau gangguan pada tulang punggung itu sendiri, tidak mungkin dilakukan dari dalam VPN yang terpercaya.
Beberapa penyedia layanan Internet yang dikelola menawarkan layanan VPN untuk pelanggan bisnis yang menginginkan keamanan dan kenyamanan VPN tetapi memilih untuk tidak melakukan pemberian server VPN sendiri. Dikelola aman lagi VPN adalah campuran dari dua model VPN utama, dan merupakan solusi keamanan yang dikontrak dapat mencapai ke host. Selain menyediakan pekerja dengan secure remote akses ke jaringan internal perusahaan, keamanan lainnya dan jasa manajemen kadang-kadang dimasukkan sebagai bagian dari paket. Contoh-contoh termasuk membuat anti-virus dan anti-spyware program diperbaharui di setiap menghubungkan komputer atau perangkat lunak tertentu memastikan patch sambungan diinstal sebelum

diperbolehkan.

Kategorisasi berdasarkan hubungan administratif user

The Internet Engineering Task Force (IETF) telah dikategorikan berbagai VPN, beberapa di antaranya, seperti Virtual LAN (VLAN) adalah tanggung jawab standardisasi organisasi lain, seperti Institute of Electrical and Electronics Engineers (IEEE) Proyek 802, PI 802,1 (arsitektur).
Awalnya, Wide Area Network (WAN) link dari penyedia layanan telekomunikasi node jaringan yang saling berhubungan dalam satu perusahaan. Dengan munculnya LAN, perusahaan bisa interkoneksi node mereka dengan link yang mereka miliki. Sedangkan yang asli yang digunakan WAN jalur khusus dan lapisan 2 multiplexing layanan seperti Frame Relay, berbasis IP lapisan 3 jaringan, seperti ARPANET, internet, militer jaringan IP (NIPRNET, SIPRNET, JWICS, dll), menjadi media interkoneksi umum. VPN mulai didefinisikan melalui jaringan IP. Pihak militer sendiri jaringan mungkin dilaksanakan sebagai VPN pada peralatan transmisi

yang umum, tetapi dengan enkripsi terpisah dan mungkin router.

Ini menjadi pertama berguna untuk membedakan antara berbagai jenis IP VPN berdasarkan pada hubungan administratif (bukan teknologi) interkoneksi node. Begitu hubungan itu didefinisikan, teknologi yang berbeda dapat digunakan, tergantung pada persyaratan seperti keamanan dan kualitas layanan.
Ketika sebuah perusahaan interkoneksi satu set node, semua di bawah kontrol administratif, melalui sebuah LAN, yang disebut sebagai intranet. Ketika saling berhubungan beberapa node berada di bawah kewenangan administratif tetapi tersembunyi dari internet publik, hasil set node disebut extranet. Seorang pengguna baik organisasi dapat mengelola intranet dan extranet itu sendiri, atau menegosiasikan pelayanan sebagai kontraksi (dan biasanya disesuaikan) penawaran dari penyedia layanan IP. Dalam kasus terakhir, organisasi pengguna lapisan 3 kontrak untuk layanan – sebanyak mungkin lapisan 1 kontrak untuk layanan seperti garis khusus,  atau lapisan 2 multiplexing layanan seperti frame relay.
Dokumen IETF membedakan antara penyedia-ditetapkan dan diatur pelanggan VPN. Hanya sebagai saling berhubungan dan mengatur penyedia layanan dapat menyediakan layanan WAN konvensional, jadi satu operator selular dapat pasokan ditetapkan penyedia-VPN (PPVPNs), mempresentasikan satu titik yang sama – of-kontak ke organisasi pengguna.

Internet Protocol Tunnels

Tunnelling protocol

Beberapa pelanggan dikelola virtual jaringan mungkin tidak menggunakan enkripsi untuk melindungi isi data. Jenis jaringan overlay tidak rapi sesuai dalam kategorisasi aman atau terpercaya. Salah satu contoh jaringan lapisan bisa menjadi GRE terowongan, menetapkan di antara dua host. Tunnelling ini akan tetap menjadi suatu bentuk jaringan pribadi virtual namun bukan aman atau VPN yang terpercaya.
Contoh native teks-jelas termasuk protokol tunnelling GRE, L2TP dan PPTP (ketika MPPE tidak digunakan).

Security Mechanisms / Mekanisme Keamanan

Secure VPN menggunakan kriptografi protokol tunneling dimaksudkan untuk menyediakan kerahasiaan (pemblokiran mencegat dan dengan demikian paket sniffing), pengirim otentikasi (pemblokiran identitas spoofing), dan pesan integritas (pemblokiran pesan perubahan) untuk mencapai privasi. Secure VPN Protokol adalah sebagai berikut :
  • IP Security (Internet Protocol Security) – Sebuah standar protokol keamanan berbasis awalnya dikembangkan untuk IPv6, di mana dukungan adalah keharusan, tetapi juga digunakan secara luas dengan IPv4.
  • Transport Layer Security (SSL / TLS) digunakan baik untuk tunneling seluruh lalu lintas jaringan (SSL VPN), seperti dalam OpenVPN proyek, atau untuk mengamankan sambungan individu. SSL telah menjadi fondasi oleh sejumlah vendor untuk menyediakan kemampuan akses remote VPN. Keuntungan praktis dari suatu SSL VPN adalah bahwa hal itu dapat diakses dari lokasi yang membatasi akses eksternal untuk SSL-based e-commerce website tanpa IP Security implementasi. SSL VPN berbasis mungkin rentan terhadap serangan Denial of Service (DOS) terhadap koneksi TCP karena mereka secara inheren tidak terauthentikasi terakhir.
  • DTLS, digunakan oleh Cisco untuk generasi berikutnya disebut produk VPN AnyConnect Cisco VPN. DTLS memecahkan masalah-masalah yang ditemukan saat TCP melalui TCP tunneling seperti halnya dengan SSL / TLS.
  • Secure Socket Tunneling Protocol (SSTP) oleh Microsoft yang diperkenalkan pada Windows Server 2008 dan Windows Vista Service Pack 1. SSTP tunnels Point-to-Point Protocol (PPP) or L2TP traffic through an SSL 3.0 channel. Terowongan SSTP Point-to-Point Protocol (PPP) atau L2TP lalu lintas melalui saluran SSL 3,0 .
  • MPVPN (Multi Path Virtual Private Network). Pengembangan Sistem Ragula Perusahaan yang terdaftar memiliki merek dagang “MPVPN”. [5]
  • SSH VPN – OpenSSH menawarkan VPN tunneling untuk mengamankan koneksi remote ke jaringan (atau antar-network link). Fitur ini (opsi-w) tidak boleh dikacaukan dengan port forwarding (option-L). OpenSSH server menyediakan jumlah terbatas bersamaan terowongan dan fitur VPN itu sendiri tidak mendukung otentikasi pribadi.

Authentication / Otentikasi

Tunnel endpoints diharuskan untuk mengotentikasi diri sebelum terowongan aman VPN dapat dibangun. Terowongan diciptakan pengguna akhir, seperti akses remote VPN dapat menggunakan sandi, biometrik, duafaktor otentikasi atau kriptografi metode. Jaringan-untuk-jaringan terowongan, password atau sertifikat digital sering digunakan, sebagai kunci harus disimpan secara permanen dan tidak memerlukan campur tangan untuk terowongan yang akan didirikan secara otomatis.

 


On June 15, 2010, in How to, by Rizki Wicaksono

sumber : http://www.ilmuhacking.com/how-to/kupas-tuntas-ssh-tunneling

SSH Tunneling adalah teknik yang wajib dikuasai hacker. Teknik ini sangat cocok dipakai sebagai backdoor dari  dunia luar langsung menembus ke dalam “behind enemy lines” melewati semua firewall, IDS, IPS atau apapun itu di perbatasan. Dalam artikel ini saya juga menjelaskan bagaimana melakukan chaining tunnel, yaitu menyambung tunnel dengan tunnel lain.

Apa itu Tunneling?

Secara sederhana tunneling berarti mengirimkan data melalui koneksi lain yang sudah terbentuk. Kalau anda buka situs internet banking, pasti anda akan membukanya dengan URL berawalan “https”, yang sejatinya adalah data dalam protokol HTTP yang dikirimkan melalui koneksi dengan protokol SSL, atau “HTTP over SSL”, dalam bahasa gaulnya berarti HTTP digendong sama SSL.

SSH dan SSL adalah dua contoh tunneling protocol, keduanya bisa dipakai untuk menggendong data dalam protokol apa saja (tidak hanya http). Hanya bedanya adalah pada SSL dibutuhkan public key certificate dalam format X.509 yang perlu diverifikasi melalui Certificate Authority resmi. SSH tidak memerlukan public key certificate, sehingga lebih sederhana dan lebih mudah dipakai.

 

Protocol Encapsulation

Dalam kasus https, data dalam protokol HTTP di-enkapsulasi (dibungkus) dalam protokol SSL sebagai payload. Enkapsulasi juga terjadi dalam layer model TCP/IP, yaitu data pada layer yang lebih atas menjadi payload dan di-enkapsulasi dengan protokol pada layer di bawahnya.

Anda tentu tahu boneka lucu terbuat dari kayu dari Rusia bernama Matryoshka. Keunikan boneka ini adalah boneka yang berukuran kecil bisa dimasukkan ke dalam boneka yang lebih besar, dan boneka yang lebih besar juga bisa dimasukkan ke dalam boneka yang lebih besar lagi hingga pada akhirnya hanya ada satu boneka saja yang paling besar. Bila boneka yang paling besar itu dibuka, maka di dalamnya akan ada satu boneka yang lebih kecil, bila boneka tersebut dibuka, maka akan ditemukan boneka lagi yang lebih kecil, demikian seterusnya hingga boneka yang terkecil.

Gambar di bawah ini sangat tepat menggambarkan apa itu protocol encapsulation.

Gambar di atas menggambarkan bagaimana data ketika dikirim dienkapsulasi dan dikirimkan melalui protokol yang berada pada layer di bawahnya. Pada gambar di atas bisa dikatakan bahwa email message tersebut dikirimkan dalam bentuk paket SMTP over TCP over IP over Ethernet. Jadi pada akhirnya semua data tersebut akan terkirim dalam bentuk paket ethernet.

Dalam ilustrasi boneka matryoshka, pesan email adalah boneka matryoshka terkecil. Boneka ini dimasukkan dalam boneka matryoshka SMTP yang ukurannya lebih besar, kemudian boneka matryoshka SMTP ini dimasukkan dalam boneka matryoshka TCP, kemudian boneka matryoshka TCP ini dimasukkan dalam boneka matryoshka IP, dan akhirnya dimasukkan ke dalam boneka matryoshka ethernet yang berukuran paling besar.

Jadi boneka matryoshka yang diterima lawan biacara adalah boneka matryoshka yang terbesar. Bila boneka ini dibuka, di dalamnya ada boneka Matryoshka IP yang lebih kecil, dan bila boneka ini juga dibuka, di dalamnya ada boneka matryoshka TCP yang semakin kecil ukurannya. Bila boneka matryoshka TCP ini dibuka, di dalamnya ada boneka matryoshka SMTP yang didalamnya ada matryoshka email message. Email message adalah boneka matryoshka terkecil.

 

Port Forwarding

Port forwarding atau port mapping pengalihan (redirection) koneksi dari suatu IP:Port ke IP:Port yang lain.  Ini artinya adalah semua koneksi yang ditujukan ke IP:Port asal akan dialihkan ke IP:Port tujuan seolah-olah client sedang menghubungi IP:Port tujuan secara langsung.

Contoh: bila kita definisikan port forwarding 127.0.0.1:8080 dipetakan ke 192.168.10.10:80, artinya bila browser di arahkan ke url http://127.0.0.1:8080, maka request HTTP tersebut akan diteruskan ke 192.168.10.10:80. Jadi walaupun pada localhost (127.0.0.1) port 8080 tidak ada web server, namun web browser bisa membuka web pada url http://localhost:8080.

Gambar di bawah ini adalah contoh port forwarding dari web nakahara-informatics.com.

Pada port forwarding tersebut, didefinisikan sehingga klien dari dunia luar bisa mengakses service yang ada pada jaringan internal. Port forwarding yang didefinisikan adalah:

    • 64.130.31.59:10004 –> 192.168.1.103:22

Artinya untuk SSH ke host 192.168.1.103, maka client harus ssh ke IP 64.130.31.59 port 10004.

    • 64.130.31.59:10001 –> 192.168.1.100:22

Artinya untuk SSH ke host 192.168.1.100, maka client harus ssh ke IP 64.130.31.59 port 10001.

    • 64.130.31.59:8080 –> 192.168.1.102:80

Artinya untuk mengakses halaman web di host 192.168.1.102, maka url yang harus dibuka di browser adalah http://64.130.31.59:8080

 

Port forwarding pada ssh, mirip dengan port forwarding pada gambar di atas, namun ada sedikit perbedaan. Pada port forward gambar di atas, titik koneksi masuk dan keluar sama, artinya koneksi masuk ke IP dan port tertentu, dan koneksi tersebut akan diforward ke tempat lain dari titik yang sama juga. Sedangkan port forwarding pada ssh, titik keluarnya berbeda dengan titik masuknya. Agar lebih jelas, silakan lihat gambar di bawah ini.

Pada gambar di atas pada bagian atas, koneksi yang masuk di titik masuk, diforward ke tujuan dari titik itu juga. Ini adalah tipikal port forwarding di router/proxy. Sedangkan pada gambar di bawahnya, koneksi yang masuk di titik masuk, diforward ke tujuan dari titik lain di ujung sebelah kanan. Kotak panjang yang menghubungkan dua titik berwarna oranye tersebut menggambarkan koneksi ssh. Koneksi yang masuk akan diforward dari ujung koneksi ssh, bukan dari titik masuknya.

Konsep SSH Tunneling

SSH adalah protokol yang multiguna, selain untuk menggantikan telnet, SSH juga mendukung fitur tunneling, port forwarding, download/upload file (Secure FTP), SOCKS proxy dsb. Semua fitur tersebut dibungkus dengan enkripsi sehingga data yang lewat melalui protokol ini aman dari jangkauan hacker.

Dalam ssh tunneling, data yang dikirimkan melalui koneksi ssh akan di-enkapsulasi (dibungkus) dalam paket SSH seperti pada gambar di bawah ini.

Selain enkapsulasi paket, dalam ssh tunnel juga dibutuhkan port forwarding. Port forwarding dalam SSH tunnel ada 3 jenis:

  • Local Port Forwarding
  • Remote Port Forwarding
  • Dynamic Port Forwarding

Perhatikan gambar di bawah ini untuk memahami perbedaan antara local port forwarding dan remote port forwarding.

Dari gambar di atas jelas terlihat bahwa perbedaan antara local dan remote port forwarding.

  • Pada local port forwarding, komputer yang bertindak sebagai ssh client akan menjadi titik masuk koneksi yang akan diforward dan komputer yang bertindak sebagai ssh server menjadi titik keluar. Jadi koneksi yang masuk ke titik masuk di komputer ssh client akan diforward ke tujuan dari komputer ssh server. Gambar di bawah ini ilustrasi lain dari ssh local port forwarding.

  • Pada remote port forwarding, komputer yang bertindak sebagai ssh server akan menjadi titik masuk koneksi yang akan diforward dan komputer yang bertindak sebagai ssh client menjadi titik keluar. Jadi koneksi yang masuk ke titik masuk di komputer ssh server akan diforward ke tujuan dari komputer ssh client. Gambar di bawah ini ilustrasi lain dari ssh remote port forwarding.

Jadi yang perlu diingat dalam perbedaan antara local dan remote port forwarding adalah posisi titik masuk koneksi yang akan diforward. Bila titik masuknya ada di komputer yang berperan sebagai ssh client, maka itu adalah local port forwarding, namun bila titik masuknya di komputer ssh server, maka itu adalah remote port forwarding.

Dalam bahasa sederhananya, disebut local karena dari sudut pandang ssh client, titik masuknya ada di localhost, dan disebut remote karena titik masuknya bukan di localhost, tapi di komputer ujung sana.

Static vs Dynamic Port Forwarding

Sebenarnya dynamic port forwarding termasuk local port forwarding juga karena pada dynamic port forwarding, titik masuk koneksi yang akan diforward berada di komputer yang berperan sebagai ssh client. Namun pada local dan remote port forwarding biasa (static), IP address dan port asal dan tujuan harus disetting dulu sebelum bisa dipakai, jadi sifatnya statis.

(static) local port forwarding

 

Gambar di atas adalah (static) local port forwarding biasa. Pada local port forwarding biasa (static), setiap pemetaan port asal dan IP:port tujuannya harus disetting satu per satu. Jadi terlihat pada gambar di atas, bila ada 3 tujuan yang ingin dihubungi, maka 3 pemetaan port asal dan IP:port tujuan harus disetting semua sebelum bisa dipakai.

Pada gambar di atas terlihat di ssh client ada 3 port yang LISTEN (3 bulatan merah di sisi ssh client)  untuk 3 tujuan yang berbeda. Perlu dicatat juga bahwa ketiga pemetaan port forwarding tersebut dilakukan di atas satu koneksi ssh yang sama (multiple port forwarding on single ssh conection).

dynamic (local) port forwarding

Sedangkan pada dynamic (local) port  forwarding, kita tidak perlu menentukan pemetaan port asal dan IP:tujuan untuk setiap tujuan. Kita hanya perlu menentukan port berapa yang akan LISTEN di localhost (di komputer ssh client), dan semua aplikasi bisa memanfaatkan port tersebut sebagai proxy ke tujuan manapun dengan protokol SOCKS (SOCKS proxy). Berbeda dengan gambar sebelumnya, pada dynamic port forwarding di sisi ssh client hanya ada satu port yang LISTEN (hanya ada satu bulatan merah).

Multiple Port Forwarding on Single SSH Connection

Walaupun jarang dipakai, namun sebenarnya ssh mendukung banyak port forwarding dalam satu koneksi ssh. Kalau kita membutuhkan 3 local port forwarding dan 4 remote port forwarding, kita tidak perlu membuat 7 koneksi ssh, cukup satu koneksi ssh saja.

multi port forwarding on a single ssh connection

Gambar di atas memperlihatkan ilustrasi multi port forwarding pada satu koneksi ssh yang sama. Dalam satu koneksi ssh tersebut port forwarding yang dibuat adalah:

  • Panah berwarna hitam paling atas adalah local port forwarding.
  • Panah berwarna biru dan biru gelap di tengah adalah dynamic port forwarding.
  • Panah berwarna hijau paling bawah adalah remote port forwarding.

Daripada membuat 3 koneksi ssh untuk masing-masing port forwarding, jauh lebih sederhana dan praktis membuat multi port forwarding pada satu koneksi ssh.

Membuat Local Port Forwarding

Sekarang setelah memahami konseptualnya, kita langsung praktek bagaimana membuat ssh tunnel dengan putty di Windows dan command line ssh di Linux.Command untuk membuat local port forwarding secara umum adalah:

ssh -L localport:servertujuan:porttujuan user@ssh_server

Contohnya adalah:

ssh -L 8888:www.kompas.com:80 admin@serverku.com

Perintah di atas akan membuat semua koneksi ke port 8888 di localhost, dialihkan ke www.kompas.com port 80 melalui serverku.com. Titik masuknya adalah localhost:8888 dan titik keluarnya adalah serverku.com. Bila kita membuka browser ke URL http://localhost:8888, request HTTP tersebut akan sampai di www.kompas.com:80 melalui serverku.com, artinya dari sudut pandang www.kompas.com koneksi berasal dari serverku.com, bukan dari komputer yang menjalankan perintah tersebut. Dalam log web server www.kompas.com, IP address visitor adalah ip address serverku.com, bukan ip address komputer yang menjalankan perintah tersebut.

Kalau dalam windows, kita bisa gunakan putty.exe untuk membuat local port forwarding tunnel. Gambar di bawah ini adalah setting untuk forward koneksi localhost:8888 ke www.kompas.com:80. Caranya adalah dengan memasukkan 8888 ke dalam field “Source port”, dan memasukkan www.kompas.com:80 ke dalam field “Destination”. Setelah itu klik “Add”. Anda bisa menambahkan port forwarding yang lain sebanyak yang anda butuhkan dengan mengulang cara yang sama lalu klik “Add” lagi.

Membuat Remote Port Forwarding

Command untuk membuat remote port forwarding di Linux secara umum adalah:

ssh -R remoteport:servertujuan:porttujuan user@ssh_server

Contohnya adalah:

ssh -R 8080:192.168.1.1:80 admin@serverku.com

Perintah di atas akan membuat setiap koneksi ke serverku.com:8080 akan dialihkan ke 192.168.1.1 melalui komputer yang menjalankan perintah tersebut. Pada log server tujuan (192.168.1.1:80) yang terlihat dari koneksi yang masuk bukan ip address serverku.com. Server 192.168.1.1:80 akan melihat koneksi berasal dari komputer yang menjalankan perintah di tersebut (komputer ssh client).

Kalau dengan putty caranya masukkan 9999 ke dalam kolom “Source port”, kemudian masukkan 192.168.1.1:80 sebagai kolom “Destination”, lalu klik Add. Anda bisa menambahkan banyak port forwarding dalam satu koneksi ssh, dengan cara yang sama, lalu klik Add sebanyak yang anda butuhkan.

 

Remote port forwarding ini sangat cocok dipakai sebagai backdoor. Bila seorang hacker telah berhasil menyusup hingga “behind enemy lines”, dia bisa membuat remote port forwarding tunnel dari “behind enemy lines” ke server di luar milik hacker. Ini artinya hacker telah membuat terowongan, dengan pintu masuk di luar, dan pintu keluar di “behind enemy lines”. Ingat pada Remote port forwarding, titik/pintu masuk adalah di sisi ssh server, dan titik/pintu keluar di ssh sisi client. Dengan memakai terowongan ini, hacker bisa masuk melalui pintu di servernya sendiri yang berada di luar, dan secara otomatis hacker tersebut masuk ke “behind enemy lines” karena pintu keluar dari terowongan ini ada di “behind enemy lines”.

Chaining Tunnel

Terkadang ketika melakukan penetrasi, di dunia nyata keadaan tidaklah semulus dan seindah teori atau dalam lab. Firewall seringkali membuat kita tidak bisa bebas membuat koneksi ke server yang kita inginkan. Dalam situasi seperti ini kita harus berputar-putar melalu beberapa server, sampai kita bisa mencapai server target.

Perhatikan gambar di atas, target yang akan diserang hacker adalah server D.D.D.D port 3389, yaitu Remote Desktop connection, hacker ingin melakukan remote desktop komputer tersebut. Namun server D hanya bisa diakses oleh server C, dan server C hanya bisa diakses dari A. Hacker sudah menguasai penuh server A dan C, bagaimana caranya hacker tersebut bisa remote desktop ke D ?

Tujuan akhirnya adalah hacker ingin koneksi ke localhost:9999 di laptop backtracknya, akan diforward ke D.D.D.D:3389. Jadi nanti dia tinggal menjalankan RDP client dengan memasukkan localhost:9999, dan dia otomatis akan terkoneksi ke RDP di server D. Sebagai info tambahan, komputer A dan C adalah linux dengan ssh service diaktifkan.

Mari kita coba membuat semua tunnel ini purely hanya dengan ssh.

1. Buat port forwarding localhost:9999 –> C.C.C.C:8888 via A.A.A.A.

Hacker menjalankan ssh client di backtracknya untuk membuat koneksi ke ssh server A.A.A.A. Dalam koneksi ssh ini, dia membuat local port forwarding 9999:C.C.C.C:8888, yang artinya adalah koneksi ke port 9999 di backtrack si hacker akan diforward ke C.C.C.C:8888 via A.A.A.A.

2. Buat port forwarding C.C.C.C:8888 –> D.D.D.D:3389 via C.C.C.C

Di komputer C, hacker membuat koneksi ssh ke localhost (ke C itu sendiri). Dalam koneksi ssh ke diri sendiri ini dia membuat local port forwarding 8888:D.D.D.D:3389. Artinya adalah koneksi ke C.C.C.C:8888 akan diforward ke D.D.D.D:3389 (via C.C.C.C itu sendiri).

Kita membuat 2 tunnel, yang pertama adalah tunnel dengan pintu masuk di backtrack hacker dan pintu keluar di A.A.A.A. Tunnel kedua adalah denngan pintu masuk dan pintu keluar di C juga.

Pada tunnel pertama, koneksi ke pintu masuk di backtrack hacker (localhost:9999), akan diforward ke C.C.C.C:8888 via A.A.A.A Sedangkan pada server C.C.C.C sudah dibuat port forwarding sehingga semua koneksi yang masuk ke C.C.C.C:8888 akan diforward menuju D.D.D.D:3389.

Jadi akhirnya nanti alurnya adalah:

localhost:9999 –> C.C.C.C:8888 –> D.D.D.D:3389

Gambar di atas menunjukkan chain tunnel yang dibuat. Koneksi ke localhost:9999 akan diteruskan ke C.C.C.C:888 dan koneksi ke C.C.C.C:8888 akan diteruskan ke D.D.D.D:3389. Jadi sama artinya dengan koneksi ke localhost:9999 diteruskan ke D.D.D.D:3389.

 

Jika Aku Jatuh Hati..


Ya Allah, Jika aku Jatuh Cinta….
Cintakanlah aku Pada Seseorang Wanita..
Yang Melabuhkan Cintanya Hanya Pada-Mu…
Agar bertambah Kekuatan Untuk Mencintai-Mu….

Ya Muhaiminin, Jika aku Jatuh Hati…
Izinkan aku Menyentuh Hati Seseorang Wanita…
Yang Hatinya Terpaut Pada-Mu..
Agar Tidak Terjatuh aku pada Jurang Cinta Nafsu…

Ya Robbana, Jika Aku Jatuh Hati….
Jagalah Hatiku Padanya….
agar Tidak Berpaling Daripada Hati-Mu..

Ya Robbul Izzati, Jika Aku Rindu….
Rindukanlah Aku Pada Seseorang Wanita…
Yang Merindui Syahid DI jalan-Mu…

Ya Allah, jika aku Menikmati Cinta Kasih-Mu..
Janganlah Kenikmatan itu Melebihi…
Kenikmatan Indahnya Bermunajat..
Di Sepertiga Malam Terakhir-Mu…

Ya Allah, Jika Kau Halalkan Merindui KekasihMu..
Jangan Biarkan aku Melampui Batas..
Sehingga Melupakan aku pada Cinta Hakiki..
Dan Rindu Abadi Hanya Kepada-Mu…

Ya Allah, Hamba memohon cinta-Mu…
Cinta orang-orang yang mencintai-Mu…
Dan cinta kepada segala apapun,
Yang akan mendekatkan Hamba kepada cinta-Mu…
Amin…

**copas from inspired video in youtube

Tag Cloud

Follow

Get every new post delivered to your Inbox.