Gambar : JanBaby, melalui Pixabay cc0
The telnet jaringan utilitas adalah kata kunci . Itu pada satu waktu sangat aktif digunakan oleh sebagian besar administrator sistem dan penggemar administrasi server jarak jauh lainnya. Utilitas memungkinkan Anda untuk mengakses porta remote host, melalui prosedur otorisasi dan menjalankan perintah di mesin ini.
Tetapi protokol telnet tidak menggunakan enkripsi. Dalam realitas saat ini, mengorbankan keamanan adalah kemewahan yang tak terjangkau. Namun, ada sejumlah tugas yang dapat dilakukan telnet dengan berbagai tingkat keberhasilan: pengujian jaringan, pemeriksaan port, dan berinteraksi dengan perangkat dan router IoT.
Tampaknya utilitas tersebut dapat dengan mudah digunakan sebagai versi ping lanjutan. Dengan sendirinya, perintah ping, paling banter, hanya memeriksa ketersediaan host (terkadang perintah ini tidak akan berfungsi sama sekali, misalnya, karena pembatasan kebijakan akses). Tetapi perintah telnet tidak hanya memeriksa apakah port terbuka, tetapi juga dapat berkomunikasi dengan layanan jaringan melalui port ini. Namun seiring waktu, kita akan semakin dihadapkan pada kebutuhan untuk menggunakan koneksi terenkripsi, di mana telnet akan kembali tidak berdaya.
OpenSSL dan perintah s_client
Jadi dalam banyak kasus saya menggunakan perintah s_client dari perpustakaan OpenSSL, bukan telnet . Perintah s_client menjalankan fungsi klien SSL / TLS untuk menghubungkan ke host jarak jauh dengan berbagai pengaturan - kunci enkripsi, jenis jabat tangan, protokol, dan sebagainya. Perintah ini juga memungkinkan Anda untuk memeriksa apakah sesi sedang dilanjutkan.
Menginstal OpenSSL
Jika pustaka OpenSSL belum diinstal di OS Anda, maka itu dapat diinstal menggunakan manajer paket:
$ sudo dnf install openssl Debian : $ sudo apt install openssl : $ openssl version OpenSSL x.y.z FIPS
Pemeriksaan akses port
Beginilah cara kerja perintah telnet untuk memeriksa akses ke port 25:
$ telnet mail.example.com 25
Trying 98.76.54.32...
Connected to example.com.
Escape character is '^]'.
Pada contoh di atas, kami membuka sesi interaktif dengan server email tertentu yang mendengarkan di porta 25. Jika kami mendapatkan akses ke sana, kami dapat bertukar pesan dengannya. Jika port 25 tidak tersedia, koneksi tidak akan dibuat.
Sekarang mari kita lihat bagaimana perintah serupa dari OpenSSL bekerja:
$ openssl s_client -connect example.com:80
CONNECTED(00000003)
140306897352512:error:1408F10B:SSL [...]
no peer certificate available
No client certificate CA names sent
SSL handshake has read 5 bytes and written 309 bytes
Verification: OK
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
Seperti yang Anda lihat, tidak ada pengiriman data tentang sertifikat SSL, sehingga koneksi terputus, sesi tidak dapat dibuka. Untuk membuat koneksi terenkripsi yang aman menggunakan protokol HTTPS, Anda perlu mengakses port khusus.
Membuka sesi interaktif dengan koneksi terenkripsi
Dalam kasus ini, browser dan server web berkomunikasi sedemikian rupa sehingga lalu lintas yang diarahkan ke port 80 sebenarnya dialihkan ke port 443, yang dicadangkan untuk lalu lintas HTTPS. Mengetahui hal ini, Anda dapat melakukannya dengan layanan web apa pun yang mendengarkan pada port 443.
Pertama, mari sambungkan ke port menggunakan SSL. Kami menggunakan opsi -showcerts dan sertifikat SSL akan dicetak ke terminal Anda:
$ openssl s_client -connect example.com:443 -showcerts
[...]
0080 — 52 cd bd 95 3d 8a 1e 2d-3f 84 a0 e3 7a c0 8d 87 R...=..-?...z...
0090 — 62 d0 ae d5 95 8d 82 11-01 bc 97 97 cd 8a 30 c1 b.............0.
00a0 — 54 78 5c ad 62 5b 77 b9-a6 35 97 67 65 f5 9b 22 Tx\.b[w..5.ge..»
00b0 — 18 8a 6a 94 a4 d9 7e 2f-f5 33 e8 8a b7 82 bd 94 ..j...~/.3......
Start Time: 1619661100
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: no
Max Early Data: 0
-
read R BLOCK
Kami bisa membuka sesi interaktif. Sampai ditutup, kita dapat mengirim pesan HTTP ke server:
[...] GET / HTTP/1.1 HOST: example.com
Tekan tombol Return (untuk MacOS) atau ENTER (untuk Windows) dua kali, dan kami akan menerima respon dari server dalam bentuk example.com/index.html:
[...]
<body>
<div>
<h1>Example Domain</h1>
<p>This domain is for use in illustrative examples in documents. You may use this
domain in literature without prior coordination or asking for permission.</p>
<p><a href="https://www.iana.org/domains/example">More information...</a></p>
</div>
</body>
</html>
Server email
Perintah s_client dapat digunakan untuk menguji koneksi terenkripsi ke server email. Agar ini berfungsi, kita memerlukan nama pengguna dan kata sandi (dalam kasus saya, untuk pengguna uji) yang dikodekan dalam Base64.
Anda dapat menyandikannya, misalnya, seperti ini:
$ perl -MMIME::Base64 -e 'print encode_base64(«username»);'
$ perl -MMIME::Base64 -e 'print encode_base64(«password»);'
Jika semuanya berjalan lancar, Anda dapat melanjutkan ke langkah berikutnya - menyambungkan ke server email melalui SSL. Port 587 biasanya digunakan:
$ openssl s_client -starttls smtp \
-connect email.example.com:587
> ehlo example.com
> auth login
##paste your user base64 string here##
##paste your password base64 string here##
> mail from: noreply@example.com
> rcpt to: admin@example.com
> data
> Subject: Test 001
This is a test email.
.
> quit
Saya memasukkan alamat email admin@example.com, yang saya harapkan akan menerima pesan percobaan dari server surat.
Resiko yang tidak bisa dibenarkan
Beberapa orang masih menggunakan telnet, tetapi telnet bukan lagi alat yang sangat diperlukan seperti dulu. Sekarang diklasifikasikan sebagai paket "warisan" pada banyak sistem. Beberapa administrator sistem bertanya-tanya mengapa itu dikecualikan dari penginstalan default. Telnet secara bertahap kehilangan relevansinya. Ini adalah proses yang obyektif.
Keamanan jaringan sangat penting untuk sebagian besar sistem, jadi penting untuk memahami alat yang sesuai. Penting agar mereka mampu bekerja dengan koneksi yang aman. Jadi saat menguji atau memecahkan masalah, Anda tidak perlu menonaktifkan perlindungan sistem dan risiko keamanan.
Server cloud dari Macleod cepat dan aman.
Daftar menggunakan tautan di atas atau dengan mengklik spanduk dan dapatkan diskon 10% untuk bulan pertama menyewa server dengan konfigurasi apa pun!