Halaman

Minggu, 23 Oktober 2011

Pengertian SSH, SFTP & SCP

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:
  • scp ~/.ssh/id_rsa.pub user@remotebox:.ssh/authorized_keys

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.


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


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.

0 komentar:

Posting Komentar