AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1846364
Accepted
M_D
M_D
Asked: 2024-06-19 16:36:50 +0800 CST2024-06-19 16:36:50 +0800 CST 2024-06-19 16:36:50 +0800 CST

Esta configuração do OpenSSH fornecerá a melhor segurança

  • 772

Configurando meu servidor OpenSSH em um servidor Windows 10 para ser exposto à WAN. (Até agora só foi usado na LAN).

O que estou tentando alcançar:

Quando a conexão for pela internet, apenas 1 usuário específico deverá ser permitido ( remoteuser). Os usuários que se conectam pela Internet devem ter permissão para fazer muito pouco: apenas encaminhar portas TCP para alguns hosts específicos (veja minha PermitOpendiretiva), sem acesso ao shell, sem SFTP, sem nenhum dos outros recursos dos quais provavelmente nunca ouvi falar .

Então, usei um Matchbloco para combinar conexões provenientes de minhas LANs seguras. Para estes, a segurança deveria ser mais relaxada. Permitir autenticação por senha, permitir mais usuários (embora sftpuser1deva ser limitado apenas a SFTP), etc.

Perguntas: Meus blocos de Partida funcionarão conforme planejado? São uma forma válida de atingir meus objetivos? Além disso, há algum outro recurso que não conheço e que devo desabilitar para clientes da Internet (além do shell, SFTP, encaminhamento X11)?

Configuração até agora:


Port 22
AddressFamily inet #IPv4 only 
ListenAddress 10.10.10.15 #Listen on servers LAN IP

Protocol 2
TCPKeepAlive yes

HostKey __PROGRAMDATA__/ssh/ssh_host_rsa_key
HostKey __PROGRAMDATA__/ssh/ssh_host_dsa_key
HostKey __PROGRAMDATA__/ssh/ssh_host_ecdsa_key
HostKey __PROGRAMDATA__/ssh/ssh_host_ed25519_key

RekeyLimit 1G

#SyslogFacility AUTH # LOCAL0 - Logs to %programdata%\ssh\logs, AUTH - Logs to event viewer
LogLevel DEBUG

LoginGraceTime 1m
StrictModes yes
MaxAuthTries 3
MaxStartups 3:50:10

# SET TO 0 ON WAN TO DISABLE ALL BUT TUNNELS. INCREASED FOR LAN CONNECTIONS

MaxSessions 0

PubkeyAuthentication yes
PasswordAuthentication no
PermitEmptyPasswords no

AuthorizedKeysFile  __PROGRAMDATA__/ssh/keys/%u/authorized_keys #Where to look for keys for each user.

AllowUsers remoteuser (Allow only one port forwarding user for access from WAN)

X11Forwarding no
AllowTcpForwarding yes
PermitOpen ws1.internal:80 ws2.internal:80 #Only allow forwards to certain hosts & ports.

Match Address 10.10.10.0/24, 10.10.20.0/24
    LoginGraceTime 1m
    MaxAuthTries 5
    MaxStartups 10
    MaxSessions 5
    PubkeyAuthentication yes
    PasswordAuthentication yes
    AllowUsers john sftpuser1

Match User sftpuser1
    ChrootDirectory E:\
    X11Forwarding no
    AllowTcpForwarding no
    AllowAgentForwarding no
    ForceCommand internal-sftp -d /%u

Esclarecimento: My Aim - servidor SSH aberto para WAN e LAN. Quando a conexão é da WAN (o IP de origem do IE NÃO é uma das minhas LANs), só remoteuseré permitido conectar ( AllowUsers remoteuser), podendo SOMENTE USAR O ENCAMINHAMENTO TCP. Quando a conexão é feita pela LAN, os usuários johntêm sftpuser1permissão para se conectar e podem usar recursos como acesso shell, SFTP, etc.

Então, basicamente, tentar executar uma configuração de WAN reforçada com recursos mínimos habilitados e uma configuração apenas local mais relaxada, sem executar duas instâncias separadas do sshd.

Editar: acabei de encontrar este recurso que ajuda até certo ponto com as instruções Match...

windows-10
  • 1 1 respostas
  • 48 Views

1 respostas

  • Voted
  1. Best Answer
    M_D
    2024-06-22T15:03:17+08:002024-06-22T15:03:17+08:00

    Alguns progressos:

    Depois de alguns testes, tive que:

    • Remover diretivas LoginGraceTime& MaxStartupsde dentro dos blocos Match, pois sshd.exereclama que elas não são permitidas dentro de um bloco Match.
    • Adicione a linha Subsystem sftp sftp-server.exena configuração global para permitir o funcionamento do SFTP.

    Além desses pontos, os blocos Match parecem funcionar, e eu tenho um servidor que é protegido para conexões NÃO da LAN local (IE Internet), permitindo apenas o encaminhamento de TCP, sendo mais permissivo para clientes na LAN. (Permitir autenticação de senha, permitir shell e SFTP, etc.).

    Observarei que descobri que se as permissões estiverem erradas nos arquivos de chave de cada usuário, suas chaves serão rejeitadas sem nenhuma indicação óbvia do problema nos logs, etc. Como eu especifiquei um caminho diferente para as chaves (não na página inicial dos usuários diretórios), para cada pasta de usuários, defino o proprietário como SYSTEMe somente SYSTEMo próprio usuário tem permissão para sua pasta. Isso pareceu funcionar.

    • 0

relate perguntas

  • O serviço de arbitragem USB da estação de trabalho VMware não inicia automaticamente

  • Como ativar o sensor de impressão digital no domínio e no diretório ativo do Linux

  • atalho do shell da área de trabalho no painel lateral do explorer

  • Por que não consigo enviar arquivos do Android para o Windows 10?

  • Abrir com em vários arquivos?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve