Rabu, 02 November 2011

SSH, SFTP dan SCP

SSH, SCP, SFTP


  1. Pengertian SSH
·         SSH adalah aplikasi pengganti remote login seperti telnet, rsh, dan rlogin, yang jauh lebih aman. Dikembangkan pertamakali oleh OpenBSD project dan kemudian versi rilis p (port) di-manage oleh team porting ke sistem operasi lainnya, termasuk sistem operasi Linux. Fungsi utama aplikasi ini adalah untuk mengakses mesin secara remote. Bentuk akses remote yang bisa diperoleh adalah akses pada mode teks maupun mode grafis/X apabila konfigurasinya mengijinkan. scp yang merupakan anggota keluarga ssh adalah aplikasi pengganti rcp yang aman, keluarga lainnya adalah sftp yang dapat digunakan sebagai pengganti ftp. Dengan SSH, semua percakapan antara server dan klien di-enkripsi. Artinya, apabila percakapan tersebut disadap, penyadap tidak mungkin memahami isinya. Bayangkan seandainya Anda sedang melakukan maintenance server dari jauh, tentunya dengan account yang punya hak khusus, tanpa setahu Anda, account dan password tersebut disadap orang lain, kemudian server Anda diobrak-abrik setelahnya. Lebih jauh lagi, SSH memungkinkan kita mengamankan koneksi dari pembajakan (Anda sedang terhubung sebagai root ke server, tiba-tiba di tengah jalan ada sabotase, yang tanpa perlu tahu username maupun password Anda bisa langsung melanjutkan sesi Anda yang sedang aktif, dan tentu saja dengan hak sebagai root).

SSH

·         SSH singkatan dari secure shell dan merupakan cara untuk terhubung ke mesin remote. SSH *nix sangat populer di kalangan pengguna karena keduanya dapat diandalkan, aman, dan mudah beradaptasi. SSH juga mudah untuk menginstal dan cukup lurus ke depan.
Tidak seperti FTP dan SSH protokol lain yang aman, semua transaksi akan dienkripsi sehingga mereka tidak dapat disniffing. Tidak seperti SSH FTP username / password kombinasi tidak dikirim dalam bentuk teks. SSH telah dienkripsi dari awal. Hal ini penting karena banyak pengembang web akan sering menggunakan FTP untuk mentransfer file ke server mereka tidak tahu bahwa seseorang dapat dengan mudah meng-sniffing jaringan untuk password mereka. Dengan SSH dengan program seperti scp dan jauh lebih aman sshfs cara untuk mentransfer file ke remote mesin.

Cara mendapatkan / konfigurasi

Banyak distribusi akan datang dengan klien SSH terinstal secara default. Untuk mendapatkan server pada distro berbasis Debian yang dapat Anda lakukan:
sudo apt-get install openssh-server
Pengguna arch dapat menginstal server / klien dengan:
sudo pacman -S openssh

Konfigurasi SSH Server

Banyak kali distro untuk konfigurasi default SSH akan bekerja, tapi saya sarankan Anda membuat beberapa perubahan. Biasanya file config adalah dalam: ‘/etc/ssh/sshd_config’

Membuat ssh lebih aman

Seperti semua servis mendengarkan pada port terbuka. ada risiko. Berikut adalah beberapa perubahan konfigurasi yang dapat Anda buat untuk mengurangi beberapa risiko:

Nonaktifkan SSH protokol 1

Perubahan pertama saya akan membuat adalah untuk menonaktifkan SSH usang dari 1 protokol terhubung ke server. Protokol ini hampir tidak pernah digunakan dalam klien SSH modern lagi karena manusia rentan terhadap serangan di tengah. Untuk memastikan bahwa tidak ada klien SSH yang Anda gunakan jatuh kembali ke protokol ini yang terbaik adalah kita nonaktifkan.
Pastikan Anda memiliki baris ini di konfigurasi anda:
Protocol 2

Tambahkan AllowUsers Tag

Secara default server SSH sering ditetapkan untuk memungkinkan semua pengguna untuk mengakses dari jarak jauh. Hal ini lebih aman untuk menentukan pengguna mana yang kita akan memberikan akses ke sistem ini. Hal ini sangat berguna untuk kondisi multiuser mesin, namun bahkan satu mesin pengguna bisa mendapatkan keuntungan dari tag ini sebagai generik account pengguna dapat secara tidak sengaja diciptakan.
Hanya dengan tambahkan baris ini pada konfigurasi anda:
AllowUsers (namapengguna1) (namapengguna2)
Dimana (namapengguna1) dan (namapengguna2) adalah username yang diizinkan meremote akses ssh
Nonaktifkan (disable) Root Login
SSH brute force serangan sering mengandalkan username ‘root‘. Dengan tidak menonaktifkan root login Anda memberikan penyerang setengah informasi yang mereka butuhkan untuk mendapatkan akses. Mereka sudah tahu username semua yang mereka perlu lakukan adalah menebak password yang benar. Lebih baik untuk menjaga hal yag terduga.
Bagaimana jika saya perlu melakukan sesuatu sebagai root?
Menonaktifkan login root hanya mencegah login awal menjadi root.
Anda masih dapat beralih user untuk root atau menggunakan sudo pernah dikonfirmasi dengan user biasa.
Untuk menonaktifkan login root pastikan anda telah mengatur ini:
PermitRootLogin no

Kunci otentikasi berbasis (Key based authentication)

Langkah pertama adalah untuk membuat kunci (key) pada mesin lokal.
Untuk membuat key RSA lakukan (Anda juga dapat melakukan DSA):
ssh-keygen-t rsa
Maka anda perlu menyalin kunci publik ke server jauh dengan melakukan:
ssh-copy-id pengguna@remotebox
Atau Anda dapat melakukannya dengan cara lama:

Nonaktifkan password autentikasi (Disable password authentication)

Setelah Anda telah berhasil diuji otentikasi berbasis kunci Anda Anda dapat menonaktifkan otentikasi berbasis password.
Hal ini menjamin bahwa semua upaya akses SSH harus mengotentikasi dengan kunci bukan sandi.
Ini semua menghilangkan serangan skrip otomatis terhadap SSH.
PasswordAuthentication no
Mengubah port default
Baris pertama pertahanan untuk menggagalkan skrip otomatis adalah dengan hanya mengubah port default SSH server Anda. Ini keamanan melalui ketidakjelasan. Ada beberapa cara untuk mendeteksi SSH pada semua port tetapi memindahkan port ssh server Anda dapat secara drastis mengurangi spam ditolak login di log Anda.
Hanya mengubah port ke sesuatu yang lain seperti:
Port 223

Port knocking

Port knocking adalah cara yang bagus untuk membuka port secara remote dengan mengirim urutan tertentu atau “ketukan” ke server jauh.
Setelah ketukan yang benar dikirim, server akan membuka port ke alamat IP tertentu.

hosts.deny/allow

Berikut adalah beberapa aturan umum untuk menolak / mengizinkan akses SSH dengan menggunakan host file.
Biarkan semua orang terhubung dengan Anda.
sshd: ALL
ATAU Anda dapat membatasi untuk ip tertentu
sshd: 192.168.0.1
ATAU membatasi untuk rentang IP (IP range)
sshd: 10.0.0.0/255.255.255.0
ATAU membatasi dengan mencocokan IP (IP matching)
sshd: 192.168.1.
Personalisasi SSH
Saya ingin menambahkan sentuhan pribadi pada pesan SSH hari ini, (motd -  message of the day) .
Saya biasanya akan menambahkan nama server dan beberapa rincian lainnya.
Ini akan membantu membedakan yang menghubungkan server saya ketika saya menemukan diri saya sendiri melakukan koneksi ke semua jenis server sepanjang hari.
Biasanya saya menggunakan program yang disebut, ‘figlet‘ untuk menampilkan nama server saya.
Figlet adalah sebuah aplikasi yang akan mengkonversi teks ke ascii seni dalam berbagai font.
Mengakses SSH dari Dunia Luar
Sekarang bahwa Anda memiliki SSH Anda dan berjalan dan Anda dapat berhasil tersambung ke komputer lain di rumah Anda sudah waktunya untuk mendapatkannya terhubung ke internet untuk remote akses. Jika Anda tidak di belakang NAT Anda mungkin sudah ditetapkan dan bagian ini tidak berlaku untuk Anda, namun sekarang kebanyakan orang di belakang NAT semacam firewall yang membatasi panggilan masuk lalu lintas ke port tertentu kecuali Anda melakukan port forwarding.
Karena terdapat banyak jenis router saya tidak dapat memberikan rincian tentang bagaimana anda pergi tentang port forwarding, namun, ada situs Web yang memiliki hampir setiap router dibayangkan dengan petunjuk tentang cara men-setup port forwarding, portforward.com.
Banyak dari Anda juga akan memiliki alamat IP yang berubah (dinamis).
Hal ini membuat koneksi ke server jauh yang sangat sulit seperti yang Anda perlu tahu apa alamat IP.
Untungnya, ada layanan gratis seperti DynDNS yang akan memberi Anda statis nama domain yang akan diperbarui setiap kali IP berubah.
Bagaimana jika saya terjebak di belakang sebuah perusahaan / universitas firewall dan tidak bisa port forwarding?
Jangan takut, Anda dapat melewati dengan reverse SSH tunneling, tetapi untuk melakukan ini, Anda akan memerlukan komputer yang tengah menjalankan SSH kepada publik.
Ini juga bagaimana layanan seperti, “Go to my pc” bekerja di belakang firewall.


  1. Pengertian SFTP
·         FTP (File Transfer Protocol) adalah sebuah protokol yang lebih tua untuk memindahkan file melalui Internet dan jaringan lainnya. Semua web modern masih menggunakan FTP, yang kadang-kadang digunakan sebagai upload data untuk web atau bisa juga sering digunakan sebagai sarana men-download file besar. Banyak web host masih menawarkan FTP sebagai cara yang lebih disukai untuk meng-upload halaman web baru ke situs web. Namun, karena tidak ada enkripsi dari password Anda, FTP bukan pilihan terbaik untuk tujuan sebuah web yang aman. Dan karena tidak ada enkripsi dari file , FTP adalah sebuah pilihan yang buruk untuk informasi yang lebih private.SFTP (Secure FTP) adalah pengganti FTP yang populer. Dibangun pada SSL, SFTP sama  amannya seperti HTTPS. Dan FTP clients yang paling modern, seperti filezilla, mendukung FTP dan SFTP. SFTP menawarkan serangkaian fitur sangat mirip dengan FTP dan bisa digunakan dengan mudah seperti FTP, meskipun kerjanya cukup berbeda.
Setiap sistem Windows, MacOS X dan Linux sudah mempunyai standar dengan baris perintah program yang sederhana yaitu FTP Clients. Dan MacOS X dan Linux juga memiliki klien baris perintah SFTP sebagai perlengkapan standar. Selain itu, MacOS X mendukung koneksi ke server FTP dengan cara user-friendly,  (kamu dapat menemukan tutorial hebat di creativemac.com).

SFTP

·         SFTP (Secure File Transfer Protocol) adalah proses transfer file yang menggunakan protokol SSH. Disini saya akan membahas bagaimana caranya mengkonfigurasi SFTP pada Ubuntu. Konfigurasi SFTP dengan konfigurasi pada terminal.
  • Buatlah sebuah group untuk user. Misalnya sftponly
mikhael:~$ sudo groupadd sftponly
  • Setelah itu tambah user ke group tersebut
mikhael:~$ sudo adduser pras sftponly

  • Install open-ssh jika belum terinstall dengan mengetikkan
mikhael:~$ sudo apt-get install openssh-server

  • Setelah itu setting konfigurasi
mikhael:~$ sudo nano /etc/ssh/sshd_config

  • Edit default
Subsystem sftp /usr/lib/openssh/sftp-server
menjadi
Subsystem sftp internal-sftp

  • Kemudian di bagian bawah tambahkan
Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

  • Untuk dapat diakses ketikkan
mikhael:~$ sudo chown root.root /home/pras

  • Untuk login sebagai user ketikkan
mikhael:~$ sudo usermod -d / pras
·          


  1. Pengertian SCP
·         SCP (Secure Copy Protocol) adalah tools yang berfungsi untuk transfer file dengan menggunakan protokol ssh. Ssh adalah protokol utama yang digunakan untuk remote shell, sistem admnistrasi, pertukaran data, dan lain-lain (insyaallah, soal ssh ini mungkin perlu dibahas tersendiri nantinya). Karena menggunakan ssh, maka setiap PC (atau salah satunya) yang akan melakukan transfer file harus dilengkapi dengan aplikasi ssh server. Ubuntu secara default belum menyertakan openssh-server dalam CD instalasinya, beda dengan Opensuse dan distro-distro lainnya yang sudah menyediakan paket-nya dalam CD/DVD installernya.

·     Apa Sih SCP Itu?
·         Senin dan Selasa tanggal 25-26 April 2011, saya berkesempatan untuk hadir dalam sebuah forum negara-negara ASEAN yang membahas tentang Sustainable Consumption and Production (SCP). Forum ini dihadiri oleh delegasi dari seluruh negara ASEAN, kecuali Brunai Darussalam yang melakukan last minute cancelation dikarenakan kesulitan mereka memperoleh tiket ke Jakarta. Berdasarkan surat undangan, tujuan utama dari forum ini adalah untuk memberikan kesempatan dalam mengeksplorasi ide-ide serta pendekatan nasional dan kebijakan regional mengenai isu- isu yang terkait dengan SCP.
Sementara itu, saya sendiri –yang memperoleh last minute ‘invitation’– juga kebingungan dengan apa sebenarnya topik yang dibahas. Lagi-lagi saya mendengar istilah ‘sustainable’ ditempelkan dengan istilah lainnya, kali ini istilah itu adalah ‘consumption’ dan ‘production.’ Memprediksi arti dari istilah SCP tidak sulit, kegiatan konsumsi dan produksi yang berkelanjutan. Saat itu pikiran saya menangkap mungkin konsep ini sama dengan konsep ‘cradle to cradle’ lawan dari ‘cradle to grave,’ dimana pada konsep ‘cradle to cradle’ diyatakan bahwa dalam siklus konsumsi dan produksi diusahakan agar kita tidak menghasilkan sampah/ limbah sedikit pun (zero waste).
Istilah SCP juga mengingatkan saya pada sebuah kajian yang pernah saya lakukan, kajian Jejak Ekologis alias Ecological Footprint. Kajian ini mengukur seberapa besar konsumsi kita dibandingkan dengan kapasitas alam untuk menyediakan kebutuhan serta memperbaiki diri untuk menyediakan kebutuhan kita tadi. Konsumsi kita inilah yang kemudian disebut ecological footprint –jejak yang kita tinggalkan ketika mengambil sesuatu dari alam untuk memenuhi kebutuhan. Sedangkan kemampuan alam untuk menyediakan apa yang kita butuhkan dan ‘menyembuhkan’ dirinya untuk dapat menyediakan lagi apa yang kita butuhkan, namanya biocapacity. Pikir-pikir, jika dikatakan seperti tadi, ada semacam personifikasi dalam penggunaan istilah yang bisa mengingatkan kita betapa baiknya alam pada kita manusia.
Sayangnya, saking seringnya saya mendengar kata ‘sustainable,’ saya menjadi skeptis dan mulai berkata dalam hati ‘mahluk apa lagi sih ini?.’ Beruntung pengalaman terdahulu mengajari saya untuk tidak langsung menutup hati pada hal-hal yang ‘malesin’ menurut saya pribadi. Walhasil, saya jadi browsing-browsing untuk sekedar mencari tahu.
Pengenalan mengenai SCP yang paling saya pahami berasal dari publikasi berjudul “Sustainable Consumption and Production Policies: A Policy Toolbox for Practical Use.” Katanya: “Sustainable Consumption and Production (SCP ) is, by its very nature, a rather broad policy field and can potentially cover policies within many diverse fields such as environment, energy, climate, waste, transport, research and education, food and agriculture, urban and rural development, finance, economy, trade and social issues. Furthermore, SCP may be interpreted quite different in different regions of the world.” (Pada dasarnya SCP merupakan suatu tataran kebijakan yang bersifat umum dan dapat mencakup kebijakan-kebijakan dalam bidang yang berbeda seperti lingkungan, energi, iklim, limbah dan persampahan, transportasi, penelitian dan pendidikan, ketahanan pangan dan pertanian, pengembangan wilayah dan kota, keuangan dan pembiayaan, ekonomi, perdagangan, serta isu-isu sosial. SCP dapat diinterpretasikan berbeda-beda di setiap wilayah).
Bedasarkan pengertian tadi, pantas saja jika dari seluruh negara ASEAN yang mengirim delegasi pada forum –dalam presentasinya– menyatakan bahwa negara mereka tidak memiliki kebijakan ataupun regulasi khusus yang secara spesifik mengatur mengenai SCP, namun sudah mengadaptasi atau mengintegrasikan prinsip-prinsip dari konsep tersebut pada kebijakan maupun program yang sudah ada. Dengan begitu menurut saya, tidak salah jika dikatakan bahwa SCP bukan merupakan sebuah konsep yang baru muncul (new emerging concept). SCP merupakan bentuk respon terhadap perubahan pola konsumsi dan produksi yang  terus menerus terjadi di era globalisasi ini. SCP menurut pandangan saya adalah upaya untuk melindungi konsumen dari produk-produk yang penggunaannya tidak efisien sehingga dalam jangka panjang akan merugikan bagi ‘kantong’ mereka (misalnya produk dengan durabilitas rendah), dan menjaga produsen untuk menghasilkan produk yang ramah lingkungan (produk dengan durabilitas rendah cenderung mudah dibuang dan menjadi sampah lebih cepat), sederhananya seperti itu. Namun demikian, pengertian SCP bisa lebih luas lagi. Sementara pemahaman saya baru segitu, harap maklum.

SCP

·         Dalam komputasi, SSH File Transfer Protocol (juga File Transfer Protocol Rahasia, Secure FTP, atau SFTP) adalah sebuah protokol jaringan yang menyediakan akses file, transfer file, dan fungsionalitas file manajemen atas setiap aliran data yang dapat diandalkan. Ini dirancang oleh Internet Engineering Task Force (IETF) sebagai perpanjangan dari versi protokol Secure Shell (SSH) 2,0 untuk menyediakan kemampuan transfer file aman, tetapi juga dimaksudkan untuk dapat digunakan dengan protokol lain. IETF dari internet menyatakan bahwa meskipun Rancangan protokol ini dijelaskan dalam konteks protokol SSH-2, dapat digunakan dalam sejumlah aplikasi yang berbeda, seperti transfer file aman melalui Transport Layer Security (TLS) dan transfer manajemen informasi dalam aplikasi VPN.
Protokol ini mengasumsikan bahwa itu dijalankan melalui saluran yang aman, seperti SSH, bahwa server telah dikonfirmasi klien, dan bahwa identitas pengguna klien tersedia untuk protokol.

Tidak ada komentar:

Posting Komentar