Skip to main content

Mengamankan SSH dengan Google Authenticator pada Ubuntu Server

Seringkali kita terpaksa harus membuka port ssh server ke public untuk memudahkan kita melakukan perawatan terhadap server kita tersebut. Mengubah port ssh mungkin yang paling pertama dilakukan untuk meningkatkan pengamanan.  Kemudian menggunakan VPN dengan self-signed SSL ditambahkan untuk meningkatkan pengamanannya.  Namun, menggunakan token authentication sebagai adaptasi dari Challenge Response authentication untuk menambah perimeter pengamanan mestinya bisa memperkuat pengamanan koneksi ssh.  Karena, ini menyangkut investasi.  Dan beberapa entity mungkin masih sangat sensitif dengan hantu "investasi baru".  Dan mungkin cenderung mengabaikannya.  Ini, tentunya menjadi tantangan sendiri bagi para admin.  Bagaimana bisa memudahkan sekaligus mengamankan tugasnya tanpa harus berhadapan dengan hantu investasi ini.
Perkembangan teknologi membuat proses pengamanan harus semakin kuat, namun disisi lain banyak tersedia alat pengamanan yang semakin terjangkau.  Terima kasih kepada Google yang telah menyediakan Google Authenticator secara free di Playstore (maaf, saya bukan pengguna blekberi ataupun ifon/ped jadi saya singgung marketnya). Dan pam lib nya secara free pula.  Dan di sini, saya akan menyajikan sedikit saja yang saya tahu tentang install google authenticator untuk mengamankan authentikasi ssh kita di Ubuntu Server (sekali lagi, saya memang lebih suka menggunakan Ubuntu, karena dia menyediakan servernya untuk yang free.  Dan bukan tes ped bagi versi komersil).

Pertama, kita install dulu google authenticator pam lib nya dengan cara yang cukup mudah sebagai berikut:



mastoyo@jagoan-neon:~$ sudo apt-get install libpam-google-authenticator
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
libpam-google-authenticator
0 upgraded, 1 newly installed, 0 to remove and 15 not upgraded.
Need to get 25.1 kB of archives.
After this operation, 104 kB of additional disk space will be used.
Get:1 http://ubuntu.pesat.net.id/archive/ precise/universe libpam-google-authenticator i386 20110413.68230188bdc7-1.1 [25.1 kB]
Fetched 25.1 kB in 0s (205 kB/s)
Selecting previously unselected package libpam-google-authenticator.
(Reading database ... 604771 files and directories currently installed.)
Unpacking libpam-google-authenticator (from .../libpam-google-authenticator_20110413.68230188bdc7-1.1_i386.deb) ...
Processing triggers for man-db ...
Setting up libpam-google-authenticator (20110413.68230188bdc7-1.1) ...


Nah, kalo sudah, kita bisa lanjutkan dengan merubah configurasi pam nya.
Make gambar aja ya!

mastoyo@jagoan-neon:~$ sudo nano /etc/pam.d/sshd[enter]



Setelah kita edit konfigurasi pam untuk ssh, kemudian kita edit konfigurasi ssh untuk bisa menjalankan Challenge Response authentication dengan menjalankan (make gambar juga nih):


mastoyo@jagoan-neon:~$ sudo nano /etc/ssh/sshd_config[enter]



Rubah "no" menjadi "yes"!
Setelah itu, kita generate "secrets" dari google authenticatornya dengan menjalankan binary dari google authenticator.

mastoyo@jagoan-neon:~$ google-authenticator[enter]
https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/mastoyo@jagoan-neon%3Fsecret%3DP4UYV.....YA.GC
<snip>

Your new secret key is: P4UYV.....YA.GC
Your verification code is 190141
Your emergency scratch codes are:
56...993
5043...5
6...5689
2027...1
4..22.12

Do you want me to update your "~/.google_authenticator" file (y/n) y [ jawab dengan y]
<snip>


Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y [ jawab dengan y]

By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) y [ jawab dengan y]

If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y [ jawab dengan y]


Setelah semua dijalankan kemudian tambahkah account google authenticator pada aplikasi google authenticator di gadget android  kita dengan cara melakukan scanning barcode yang digenerate saat meng-generate secrets dari google authenticator di server.


Atau dengan mengcopy url yang terbentuk pertama kali sesaat setelah menekan [enter] ketika menggenerate secrets dan paste ke browser untuk menampilkan ulang QR codenya.  Atau mungkin dengan memasukkan secret secara manual ke dalam aplikasi Google Authenticator pada gadget android kita.

Terakhir, kita restart ssh service kita dengan
mastoyo@jagoan-neon:~$ sudo service ssh restart[enter]
ssh stop/waiting
ssh start/running, process 17303
mastoyo@jagoan-neon:~$
Kemudian kita bisa test dengan jalanin ini:
mastoyo@jagoan-neon:~$ ssh localhost
Password:
Verification code:
Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-44-generic-pae i686)

* Documentation: https://help.ubuntu.com/

15 packages can be updated.
0 updates are security updates.

Last login: Fri Oct 18 07:33:35 2013 from localhost
mastoyo@jagoan-neon:~$

SUDAH!

Popular posts from this blog

Superfish Menginjeksi Laman-Laman Google

Beberapa bulan lalu pengguna lenovo sempat dibuat gerah dengan penggunaan software superfish yang sengaja disisipkan oleh Lenovo. Penggunaan adware yang sebenarnya dimaksudkan untuk memudahkan pengguna yang suka berbelanja ternyata justeru menjadi duri dalam daging bagi pengguna. Adware ini, mampu membongkar enkripsi web pengguna komputer dan akhirnya membuat komputer yang bersangkutan menjadi rentan terhadap serangan cyber. Dan yang paling ‘menggemaskan’ adalah adware ini bisa menyuntikkan iklan-iklan yang tidak diinginkan (bahkan sering menampilkan gambar perempuan dengan pakaian minim) ketika pengguna membuka web apapun. Meskipun Lenovo telah berjanji untuk menghentikan penggunaan Superfish, namun ternyata bahaya masih mengintai para pengguna internet. Google sebagai peramban paling populer saat ini berpotensi menyebarkan Ad Injection melalui ekstensyen nya. Berdasar riset dari Google, 4% laman google telah di-inject oleh superfish dengan iklan-iklan yang gak jelas. Dan 5....

Snort dan Suricata IDPS

Sugeng pagi, Mas! Pagi, gimana kabarnya? Baik, Mas. Gini, Mas! Saya lagi pusing ngurusin jaringan di kantor. Pusing kenapa? Itu lo, Mas, virus tau-tau nongol tanpa permisi.  Bikin jaringan jadi lemot. Yang lebih repotnnya lagi, kita gak tau dari sebelah mana penyebarannya. Lah, gitu aja kok pusing.  Kamu punya alat monitoring macem IDS gak? Apa itu IDS, Mas? IDS itu, singkatan coro londo Intrussion Detection System.  Maksudnya sistem buat mendeteksi aktifitas penyusupan. La, itu kan bukan antivirus, Mas! Lagian mana ada sih yang nyusup di kantor saya.  Apalagi kantor banyakan mainnya di jaringan private. La ini, yang salah! Jangan beranggapan bahwa setiap penyusupan itu datangnya dari luar. Ancaman kebocoran itu paling besar justeru datangnya dari dalam. Dan satu hal lagi penyusupan tidak harus terjadi dalam satu saat.  Seperti proses penyusupan yang dilakukan dengan menggunakan kuda trojan.  Para penyusup justeru anteng dulu di dalam kuda trojan....

Masih Pagi??

Ingat saat di sekolah S3 (SD,SMP,SMA) segala sesuatu yang menyangkut hasrat dan keinginan ada kalanya mentog kepada satu frasa: masih pagi. Berpikir tentang rezeki katanya masih terlalu pagi untuk memikirkan hal yang gak-gak gitu. Mengangankan tentang hari nanti (mungkin adalah saat ini), juga dibilang masih terlalu pagi apalagi jika sifatnya pesimistis. Terima kasih untuk semua yang mengatakan itu karena setidaknya aku bisa berfikir saat ini, bahwa memang masih terlalu pagi (saat itu), tetapi terlalu pagi itu bukan artinya untuk berhenti memulai. Tetapi terlalu pagi yang berarti bahwa memang sudah seharusnya dimulai saat itu. Kita tidak pernah tahu apa yang akan kita dapatkan nanti, dan karena itu kita harus tahu apa yang harus kita kerjakan saat ini. Merencanakan adalah kata yang sangat indah untuk diucapkan. Perencanaan adalah sesuatu yang sangat mudah untuk dituliskan manakala pelaksanaan tidak pernah terpikirkan. Semua bermuara pada satu kata : tangggung jawab . Tanggung jawab...