Skip to content

emka.web.id

Menu
  • Home
  • Indeks Artikel
  • Tutorial
  • Tentang Kami
Menu

Cara Mengamankan Koneksi Telnet dengan Stunnel

Posted on May 24, 2019 by Syauqi Wiryahasana
Koneksi Telnet adalah protokol koneksi client-server yang menggunakan port 23 TCP. Telnet sendiri sedari awal memang tidak didesain dengan proses enkripsi data, jadi wajar kalau ada banyak orang yang masih tidak mau memakai telnet karena 'tidak aman'. Nah, pada tutorial kali ini kita akan mengamankan koneksi telnet itu dengan enkripsi seadanya, menggunakan software stunnel. Stunnel adalah sebuah software opensource yang didesain untuk menambahkan enkripsi SSL ke program yang memiliki protokol koneksi yang masih belum aman.

Instalasi di Sisi Server

Untuk instalasi dari Stunnel sendiri silakan gunakan aplikasi installer masing-masing. Misalkan untuk fedora/openmandriva: [sourcecode]dnf -y install stunnel [/sourcecode] atau untuk keluarga Debian/Ubuntu/Linux Mint bisa pakai: [sourcecode]apt install stunnel[/sourcecode]

Tambah Rule Firewall

bagi yang menggunakan Firewall di Fedora, silakan tambahkan permission telnet ini di firewall: [sourcecode] firewall-cmd --add-service=telnet --perm firewall-cmd --reload [/sourcecode] kemudian bikin SSL certificate untuk Stunnel: [sourcecode] openssl genrsa 2048 > stunnel.key openssl req -new -key stunnel.key -x509 -days 90 -out stunnel.crt [/sourcecode] kemudian gabung file RSA Key dan SSL Certificate CRT jadi satu file PEM dengan cara: [sourcecode] cat stunnel.crt stunnel.key > stunnel.pem sudo cp stunnel.pem /etc/pki/tls/certs/ [/sourcecode]

Contoh Pemakaian

Untuk contoh pemakaian Telnet dengan Stunnel, silakan bikin dulu konfigurasi stunnel untuk Telnet, misalnya di file /etc/stunnel/telnet.conf. [sourcecode] cert = /etc/pki/tls/certs/stunnel.pem sslVersion = TLSv1 chroot = /var/run/stunnel setuid = nobody setgid = nobody pid = /stunnel.pid socket = l:TCP_NODELAY=1 socket = r:TCP_NODELAY=1 [telnet] accept = 450 connect = 23 [/sourcecode] kemudian bikin init systemd baru untuk stunnel:
sudo cp /usr/lib/systemd/system/stunnel.service /etc/systemd/system
[sourcode] [Unit] Description=TLS tunnel for network daemons After=syslog.target network.target [Service] ExecStart=/usr/bin/stunnel Type=forking PrivateTmp=true ExecStartPre=-/usr/bin/mkdir /var/run/stunnel ExecStartPre=/usr/bin/chown -R nobody:nobody /var/run/stunnel [Install] WantedBy=multi-user.target [/sourcecode] kemudian jangan lupa atur SELinux biar tidak rewel dengan lalu lintas di port 450 (contoh):
sudo semanage port -a -t telnetd_port_t -p tcp 450
dan tambah rule firewall lagi: [sourcecode] firewall-cmd --add-port=450/tcp --perm firewall-cmd --reload [/sourcecode] kemudian enable service diatas dengan systemctl:
systemctl enable telnet.socket stunnel@telnet.service --now
untuk menjalankan stunnel ketika boot silakan lakukan:
systemctl enable stunnel@telnet.service

Instalasi Stunnel di Sisi Client

Silakan pasang saja dengan perintah sama dengan di server. Untuk menggunakan koneksi telnet dengan stunnel, silakan download file Stunnel.pem yang kita bikin di server dan taruh di /etc/pki/tls/certs.. Lalu jalankan scp seperti berikut (contoh saja):
sudo scp emka@192.168.56.40:/etc/pki/tls/certs/stunnel.pem /etc/pki/tls/certs/
buat file telnet.conf di folder /etc/stunnel: [sourcecode] cert = /etc/pki/tls/certs/stunnel.pem client=yes [telnet] accept=450 connect=192.168.1.143:450 [/sourcecode] enable service diatas:
systemctl enable stunnel@telnet.service --now
dan coba dong hasilnya: [sourcecode] [user@client ~]$ telnet localhost 450 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Kernel 5.0.9-301.fc30.x86_64 on an x86_64 (0) server login: myuser Password: XXXXXXX Last login: Sun May 5 14:28:22 from localhost [myuser@server ~]$ [/sourcecode] Panjang amat! haha
Seedbacklink

Recent Posts

TENTANG EMKA.WEB>ID

EMKA.WEB.ID adalah blog seputar teknologi informasi, edukasi dan ke-NU-an yang hadir sejak tahun 2011. Kontak: kontak@emka.web.id.

©2024 emka.web.id Proudly powered by wpStatically