Как я могу создать SSH логин, который делегирует telnet безопасно

Да, можно использовать xxd чтобы сделать это, но Вам не может понравиться формат ввода. От Вашего примера 0x0a является шестнадцатеричным значением новой строки ASCII. Можно создать файл с единственной новой строкой в нем, затем использовать xxd создать список:

$ xxd one_line_file
0000000: 0a                                       .

Можно получить единственную новую строку из xxd от того вывода, если Вы даете ему надлежащие флаги:

$ echo "0000000: 0a" | xxd -r > another_one_line_file
$ xxd another_one_line_file
0000000: 0a 

xxd имеет довольно хороший выходной формат, я не думаю, что это было бы слишком обременительно, чтобы создать Ваши пакеты с помощью текстового редактора, затем использовать xxd -r перейти к двоичному файлу..

2
22.05.2015, 04:29
2 ответа

Возможно ли сделать telnet безопасным, используя эти решения

A)ssh туннель,абсурден(зачем использовать туннель, если можно использовать ssh?), но работает

ssh -L 23:localhost:23 -N -f your host

Конечно, закрыть порт 23 брандмауэром и позволить открыть 22 или ssh персональный порт, чтобы запретить прямой telnet доступ

B)tls или ssl(я предпочитаю TLS) stunnel,очень легко сделать,на сервере вы используете

; Sample stunnel configuration file for Unix by Michal Trojnara 2002-2012
; Some options used here may be inadequate for your particular configuration
; This sample file does *not* represent stunnel.conf defaults
; Please consult the manual for detailed description of available options
; **************************************************************************
; * Global options                                                         *
; **************************************************************************
; A copy of some devices and system files is needed within the chroot jail
; Chroot conflicts with configuration file reload and many other features
chroot = /var/lib/stunnel/
; Chroot jail can be escaped if setuid option is not used
setuid = nobody
setgid = nogroup
; PID is created inside the chroot jail
pid = /stunnel.pid
; Debugging stuff (may useful for troubleshooting)
;debug = 7
;output = stunnel.log
; **************************************************************************
; * Service defaults may also be specified in individual service sections  *
; **************************************************************************
; Certificate/key is needed in server mode and optional in client mode
cert = //etc/ssl/certs/yourserver.crt
key = //etc/ssl/private/yourserver.key
; Authentication stuff needs to be configured to prevent MITM attacks
; It is not enabled by default!
verify = 2
; Don't forget to c_rehash CApath
; CApath is located inside chroot jail
;CApath = /
; It's often easier to use CAfile
CAfile = /yourserver.ca
; Don't forget to c_rehash CRLpath
; CRLpath is located inside chroot jail
;CRLpath = /crls
; Alternatively CRLfile can be used
;CRLfile = /usr/etc/stunnel/crls.pem
; Disable support for insecure SSLv2 protocol
options = NO_SSLv2
; Workaround for Eudora bug
;options = DONT_INSERT_EMPTY_FRAGMENTS
; These options provide additional security at some performance degradation
;options = SINGLE_ECDH_USE
;options = SINGLE_DH_USE
; **************************************************************************
; * Service definitions (remove all services for inetd mode)               *
; **************************************************************************
; Example SSL server mode services
[telnet]
accept  = 0.0.0.0:5939
connect = 23

на клиенте

; Sample stunnel configuration file for Unix by Michal Trojnara 2002-2012
; Some options used here may be inadequate for your particular configuration
; This sample file does *not* represent stunnel.conf defaults
; Please consult the manual for detailed description of available options
client=yes

; **************************************************************************
; * Global options                                                         *
; **************************************************************************

; A copy of some devices and system files is needed within the chroot jail
; Chroot conflicts with configuration file reload and many other features
;chroot = /var/lib/stunnel/
; Chroot jail can be escaped if setuid option is not used
;setuid = nobody
;setgid = nogroup

; PID is created inside the chroot jail
;pid = /stunnel.pid

; Debugging stuff (may useful for troubleshooting)
;debug = 7
;output = stunnel.log

; **************************************************************************
; * Service defaults may also be specified in individual service sections  *
; **************************************************************************

; Certificate/key is needed in server mode and optional in client mode
cert = /yourclient.crt
key  = /yourclient.key

; Authentication stuff needs to be configured to prevent MITM attacks
; It is not enabled by default!
;verify = 2
; Don't forget to c_rehash CApath
; CApath is located inside chroot jail
;CApath = /certs
; It's often easier to use CAfile
CAfile = /yourca.crt
; Don't forget to c_rehash CRLpath
; CRLpath is located inside chroot jail
;CRLpath = /crls
; Alternatively CRLfile can be used
;CRLfile = /usr/etc/stunnel/crls.pem

; Disable support for insecure SSLv2 protocol
options = NO_SSLv2
; Workaround for Eudora bug
;options = DONT_INSERT_EMPTY_FRAGMENTS

; These options provide additional security at some performance degradation
;options = SINGLE_ECDH_USE
;options = SINGLE_DH_USE

; **************************************************************************
; * Service definitions (remove all services for inetd mode)               *
; **************************************************************************

; Example SSL server mode services

[telnet]
accept=localhost:23
connect=yourstunnelserver:5939

Конечно, используйте эти файлы только для примера и модифицируйте для вашей конфигурации Вы получите доступ к удаленному серверу

telnet localhost 23 

, используя безопасный tls туннель

Третий метод - использовать telnet с keberos, это хорошо, потому что не запрашивается passwd и не разрешается SSO, но требуются слабые шифры, поэтому не на 100% безопасно

на inetd.conf редактировать и добавлять или изменять

telnet  stream  tcp     nowait  root    /usr/kerberos/sbin/telnetd 

на клиенте do

telnet -x server

Если соединение без запрашиваемого пароля работает, то при получении запроса на пароль или сообщения об ошибке telnet понятен

.
0
27.01.2020, 22:00

Вы можете настроить OpenSSH так, чтобы конкретная учетная запись может запустить только одну команду (команда, отправленная клиентом, игнорируется). В / etc / ssh / sshd_config , добавьте строки, такие как:

Match User anonymous
  ForceCommand /usr/bin/telnet localhost 34843
  PasswordAuthentication yes
  PermitEmptyPasswords yes
  AllowAgentForwarding no
  AllowTcpForwarding no
  PermitTTY yes
  PermitTunnel no
  X11Forwarding no

, вы должны организовать для домашнего каталога Anonymous , который будет принадлежать корне и только модифицируемую по root, и ditto для ~ Anonymous / .ssh и файлы там.

Там, по крайней мере, еще одна вещь, которую вам нужно сделать, то есть для отключения Shell Escapes. По крайней мере, некоторые реализации TELNET позволяют пользователю выходить в оболочку, нажав Ctrl + ] ! . Я думаю, что с реализацией Netkit Linux, я думаю Telnet -e '' отключает командный режим и, таким образом, делает невозможным достижение оболочки из Telnet. Установка среды Shell в / Bin / false также будет полезной мерой предосторожности.

4
27.01.2020, 22:00

Теги

Похожие вопросы