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 / server / 问题

All perguntas(server)

Martin Hope
tomsk
Asked: 2024-11-10 04:26:00 +0800 CST

firewall não está bloqueando mesmo que devesse

  • 5

Eu uso o AlmaLinux 9 e entendo que há um novo serviço de backend nftables que pode ser gerenciado pelo comando iptables-nft, então eu defini algumas regras e meu conjunto de regras se parece com:

# Warning: table ip nat is managed by iptables-nft, do not touch!
table ip nat {
    chain DOCKER {
        iifname "docker0" counter packets 0 bytes 0 return
        iifname != "docker0" tcp dport 8080 counter packets 3 bytes 180 dnat to 172.17.0.2:80
        iifname != "docker0" tcp dport 9001 counter packets 4 bytes 240 dnat to 172.17.0.3:9001
    }

    chain POSTROUTING {
        type nat hook postrouting priority srcnat; policy accept;
        ip saddr 172.17.0.0/16 oifname != "docker0" counter packets 0 bytes 0 masquerade
        ip saddr 172.17.0.0/16 oifname != "docker0" counter packets 0 bytes 0 masquerade
        ip saddr 172.17.0.0/16 oifname != "docker0" counter packets 0 bytes 0 masquerade
        ip saddr 172.17.0.2 ip daddr 172.17.0.2 tcp dport 9001 counter packets 0 bytes 0 masquerade
        ip saddr 172.17.0.2 ip daddr 172.17.0.2 tcp dport 9001 counter packets 0 bytes 0 masquerade
        ip saddr 172.17.0.2 ip daddr 172.17.0.2 tcp dport 80 counter packets 0 bytes 0 masquerade
        ip saddr 172.17.0.3 ip daddr 172.17.0.3 tcp dport 9001 counter packets 0 bytes 0 masquerade
    }

    chain PREROUTING {
        type nat hook prerouting priority dstnat; policy accept;
        fib daddr type local counter packets 236 bytes 12653 jump DOCKER
        fib daddr type local counter packets 39 bytes 1732 jump DOCKER
        fib daddr type local counter packets 39 bytes 1732 jump DOCKER
        fib daddr type local counter packets 23 bytes 1056 jump DOCKER
        fib daddr type local counter packets 23 bytes 1056 jump DOCKER
    }

    chain OUTPUT {
        type nat hook output priority dstnat; policy accept;
        ip daddr != 127.0.0.0/8 fib daddr type local counter packets 0 bytes 0 jump DOCKER
        ip daddr != 127.0.0.0/8 fib daddr type local counter packets 0 bytes 0 jump DOCKER
        ip daddr != 127.0.0.0/8 fib daddr type local counter packets 0 bytes 0 jump DOCKER
    }
}
# Warning: table ip filter is managed by iptables-nft, do not touch!
table ip filter {
    chain FORWARD {
        type filter hook forward priority filter; policy drop;
        counter packets 178 bytes 55546 jump DOCKER-USER
        counter packets 178 bytes 55546 jump DOCKER-ISOLATION-STAGE-1
        oifname "docker0" ct state related,established counter packets 84 bytes 11338 accept
        oifname "docker0" counter packets 7 bytes 420 jump DOCKER
        iifname "docker0" oifname != "docker0" counter packets 87 bytes 43788 accept
        iifname "docker0" oifname "docker0" counter packets 0 bytes 0 accept
    }

    chain DOCKER-USER {
        counter packets 178 bytes 55546 return
    }

    chain INPUT {
        type filter hook input priority filter; policy drop;
        ct state established,related counter packets 195 bytes 18089 accept
        tcp dport 22 counter packets 2 bytes 120 accept
        tcp dport 443 counter packets 0 bytes 0 accept
    }

    chain DOCKER {
        ip daddr 172.17.0.2 iifname != "docker0" oifname "docker0" tcp dport 80 counter packets 3 bytes 180 accept
        ip daddr 172.17.0.3 iifname != "docker0" oifname "docker0" tcp dport 9001 counter packets 4 bytes 240 accept
    }

    chain DOCKER-ISOLATION-STAGE-1 {
        iifname "docker0" oifname != "docker0" counter packets 87 bytes 43788 jump DOCKER-ISOLATION-STAGE-2
        counter packets 178 bytes 55546 return
    }

    chain DOCKER-ISOLATION-STAGE-2 {
        oifname "docker0" counter packets 0 bytes 0 drop
        counter packets 87 bytes 43788 return
    }
}

esse conjunto de regras é salvo para /etc/sysconfig/nftables.confser carregado toda vez que o servidor é reiniciado, como você pode ver na cadeia INPUT, tudo deve ser descartado, exceto as portas 22 e 443, então tentei executar o teste do servidor nginx na porta 8080 e ainda consigo acessá-lo, meu firewall não está bloqueando nada... por quê? mesmo quando a política INPUT está definida para ser descartada.

EDITAR2:

então eu li que o docker usa a cadeia DOCKER-USER para regras definidas pelo usuário, então eu fiz:

table ip filter {
    chain FORWARD {
        type filter hook forward priority filter; policy drop;
        counter packets 0 bytes 0 jump DOCKER-USER
        counter packets 0 bytes 0 jump DOCKER-ISOLATION-STAGE-1
        oifname "docker0" ct state related,established counter packets 0 bytes 0 accept
        oifname "docker0" counter packets 0 bytes 0 jump DOCKER
        iifname "docker0" oifname != "docker0" counter packets 0 bytes 0 accept
        iifname "docker0" oifname "docker0" counter packets 0 bytes 0 accept
        oifname "docker0" ct state established,related counter packets 184 bytes 27570 accept
        oifname "docker0" ct state established,related counter packets 85 bytes 28483 accept
    }

    chain DOCKER-USER {
        counter packets 534 bytes 178277 return
        tcp dport 8080 drop
        tcp dport 9001 drop
    }

    chain INPUT {
        type filter hook input priority filter; policy drop;
        ct state established,related counter packets 584 bytes 54071 accept
        tcp dport 22 counter packets 8 bytes 460 accept
    }

    chain DOCKER {
        ip daddr 172.17.0.2 iifname != "docker0" oifname "docker0" tcp dport 80 counter packets 0 bytes 0 accept
        ip daddr 172.17.0.3 iifname != "docker0" oifname "docker0" tcp dport 9001 counter packets 0 bytes 0 accept
    }

    chain DOCKER-ISOLATION-STAGE-1 {
        iifname "docker0" oifname != "docker0" counter packets 0 bytes 0 jump DOCKER-ISOLATION-STAGE-2
        counter packets 0 bytes 0 return
    }

    chain DOCKER-ISOLATION-STAGE-2 {
        oifname "docker0" counter packets 0 bytes 0 drop
        counter packets 0 bytes 0 return
    }
}

e ainda não funciona, consigo acessar as portas 8080 e 9001, tentei até reiniciar o servidor.

EDIÇÃO 3:

mudei minha corrente para isso:

chain DOCKER-USER {
    tcp dport 8080 drop
    tcp dport 9001 drop
    return
}

servidor reiniciado e a porta 8080 ainda está acessível

iptables
  • 1 respostas
  • 72 Views
Martin Hope
Shahzad
Asked: 2024-11-09 20:02:30 +0800 CST

Arquitetura de sistema ideal para acesso a dados confidenciais por meio de DMZ

  • 6

Estou tentando descobrir a melhor abordagem para lidar com solicitações externas. Estou trabalhando em um sistema em que o aplicativo está atualmente do lado de fora (DMZ) e o BD está dentro. A porta específica necessária para acesso ao BD foi aberta da máquina DMZ para a máquina BD.

Após discutir com minha equipe, concordamos que a DMZ não deveria se conectar diretamente ao DB. Após mais discussões, selecionamos as duas abordagens a seguir como possíveis soluções.

Para mim, ambos parecem ser iguais no que diz respeito à segurança, já que temos os mesmos protocolos de comunicação sendo usados ​​e o mesmo número de camadas.

Meu entendimento está correto? Se sim, seria Ba opção mais lógica? Asignificaria que temos um serviço de acesso a dados personalizado que lida com solicitações do APPe lê/grava dados.

Por fim, se optarmos por B, seria recomendável que ainda usássemos o , Data Access Servicemas seria interno (ou seja APP -> Data Access Service -> DB)

Diagrama do sistema

reverse-proxy
  • 2 respostas
  • 70 Views
Martin Hope
Ravexina
Asked: 2024-11-09 09:17:53 +0800 CST

Postfix adicionando cabeçalho extra 'Recebido' no ouvinte da porta 10025 com Amavis - Como suprimi-lo?

  • 5

Estou executando um servidor de e-mail Postfix configurado com Amavis para escanear e-mails em busca de vírus. Depois que o Amavis processa o e-mail, ele o envia de volta para o Postfix em um ouvinte dedicado na porta 10025para entrega final. No entanto, essa configuração está fazendo com que o Postfix adicione um Receivedcabeçalho extra que não consigo suprimir. Esse Receivedcabeçalho adicional parece ser gerado pelo ouvinte do Postfix em 127.0.0.1:10025.

Aqui está minha configuração:

Sufixo main.cf:

content_filter = smtp-amavis:[127.0.0.1]:10024
smtpd_proxy_options = speed_adjust

Sufixo master.cf:

smtp-amavis   unix   -   -   n   -   2   smtp
  -o syslog_name=postfix/amavis
  -o smtp_data_done_timeout=1200
  -o smtp_send_xforward_command=yes
  -o disable_dns_lookups=yes
  -o max_use=20
  -o smtp_tls_security_level=none

127.0.0.1:10025   inet   n    -     n     -     -    smtpd
  -o syslog_name=postfix/10025
  -o content_filter=
  -o mynetworks_style=host
  -o mynetworks=127.0.0.0/8
  -o local_recipient_maps=
  -o relay_recipient_maps=
  -o strict_rfc821_envelopes=yes
  -o smtp_tls_security_level=none
  -o smtpd_tls_security_level=none
  -o smtpd_received_header=no
  -o smtpd_restriction_classes=
  -o smtpd_delay_reject=no
  -o smtpd_client_restrictions=permit_mynetworks,reject
  -o smtpd_helo_restrictions=
  -o smtpd_sender_restrictions=
  -o smtpd_recipient_restrictions=permit_mynetworks,reject
  -o smtpd_end_of_data_restrictions=
  -o smtpd_error_sleep_time=0
  -o smtpd_soft_error_limit=1001
  -o smtpd_hard_error_limit=1000
  -o smtpd_client_connection_count_limit=0
  -o smtpd_client_connection_rate_limit=0
  -o smtpd_milters=
  -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_address_mappings

Problema:

Após o processamento do e-mail, o Postfix adiciona este Receivedcabeçalho extra:

Received: from localhost (mx.domain.com [127.0.0.1])
    by mx.domain.com (Postfix) with ESMTP id R69B85E11;
    Fri,  8 Nov 2024 23:00:07 +0400 (+0400)

Consegui remover o Receivedcabeçalho gerado pelo Amavis usando esta configuração em /etc/amavis/conf.d/50-user:

$allowed_added_header_fields{lc('Received')} = 0;

Entretanto, o cabeçalho gerado pelo Postfix no 10025listener persiste e não encontrei uma maneira de impedir que ele seja adicionado.

  • Tentei adicionar header_checks e smtpd_header_checks; eles podem remover o cabeçalho Received original, mas não o último adicionado na porta 10025.
  • Também tentei adicionar um serviço de limpeza diretamente vinculado ao 10025 em master.cf, mas sem sucesso.

Como posso configurar o Postfix para evitar que esse Receivedcabeçalho extra seja adicionado no 127.0.0.1:10025listener? Há alguma configuração específica que eu tenha esquecido ou há outra maneira de suprimir esse cabeçalho do Postfix?

postfix
  • 1 respostas
  • 126 Views
Martin Hope
Ilya Shmadchenko
Asked: 2024-11-08 15:45:27 +0800 CST

Saída de log Ansible oneline

  • 7

Acabei de escrever a configuração do Ansible para manter ansible.loguma linha de log por ação.

[defaults]
log_path = /var/log/ansible.log
nocows=true
stdout_callback=ansible.builtin.oneline
host_key_checking = false
inventory = /test/ansible/hosts.txt

Funciona perfeitamente com o ansible-playbookcomando.

Mas se eu quiser executar esse comando

ansible all -m ping

Obterei o registro de várias linhas no arquivo de log.

2024-11-08 10:12:41,689 p=1164 u=root n=ansible | node1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3.10"
    },
    "changed": false,
    "ping": "pong"
}

Então eu tenho que sempre adicionar a -oopção para comandos que não sejam de playbooks

ansible all -m ping -o

para obter meu aconchegante registro on-line

2024-11-08 10:15:47,895 p=1181 u=root n=ansible | node1 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python3.10"},"changed": false,"ping": "pong","warnings": ["..."]}

Minha pergunta é "Como fazer com que o Ansible sempre use o -osinalizador em qualquer comando?" Isso é possível em geral?

logging
  • 1 respostas
  • 48 Views
Martin Hope
somenxavier
Asked: 2024-11-08 00:37:26 +0800 CST

Não é possível ingressar em um novo Samba Active Directory do Windows 11 e Linux

  • 4

Tenho uma rede com servidor Active Directory Windows Server 2003 e computadores Windows 11. Meu plano é substituir o Windows Server 2003 pelo Fedora Linux Server Edition - fedora 40. Eu poderia testá-lo com clientes Windows 11 e um cliente Fedora Linux 40.

O antigo reino é SONCANALS. O novo reino é SCNG.

Eu segui o guia da Revista Fedora .

Configurações

  • O IP do servidor é 10.216.1.16e o domínio éscng.educaib

  • O nome do host do servidor él1.scng.educaib

  • samba.conf:

    cat /etc/samba/smb.conf
    # Global parameters
    [global]
            dns forwarder = 1.1.1.1
            netbios name = L1
            realm = SCNG.EDUCAIB
            server role = active directory domain controller
            workgroup = SCNG
            idmap_ldb:use rfc2307 = yes
            ldap server require strong auth = no 
    
    [sysvol]
            path = /var/lib/samba/sysvol
            read only = No
    
    [netlogon]
            path = /var/lib/samba/sysvol/scng/scripts
            read only = No
    
  • Configuração do Kerberos:

    # cat /etc/krb5.conf.d/samba-dc 
    [libdefaults]
            default_realm = SCNG.EDUCAIB
            dns_lookup_realm = false
            dns_lookup_kdc = true
    
    [realms]
    SCNG.EDUCAIB = {
            default_domain = SCNG
    }
    
    [domain_realm]
            l1.scng.educaib = SCNG.EDUCAIB
    
  • /etc/systemd/resolved.conf.d/custom.conf:

    [Resolve]
    DNSStubListener=no
    Domains=scng.educaib
    DNS=10.216.1.16
    

Tenho uma máquina com Fedora 40 que uso para testar o samba. Quando testo, tudo fica bem (seção "Testing" no guia do tutorial). Quando executo realm discover, só obtenho o realm antigo, não o novo:

realm discover -v
 * Resolving: _ldap._tcp.soncanals
 * Performing LDAP DSE lookup on: 10.216.1.2
 * Performing LDAP DSE lookup on: 10.216.1.10
 * Performing LDAP DSE lookup on: 10.216.1.4
 * Successfully discovered: soncanals
soncanals
  type: kerberos
  realm-name: SONCANALS
  domain-name: soncanals
  configured: no
  server-software: active-directory
  client-software: sssd
  required-package: sssd-common
  required-package: oddjob
  required-package: oddjob-mkhomedir
  required-package: sssd-ad
  required-package: adcli
  required-package: samba-common-tools

No Windows, quando tento entrar SCNG, sou solicitado a fazer logon de administrador, mas quando coloco credenciais, demora muito e sai uma caixa de diálogo.

imagem

Como posso fazer a triagem do problema aqui? Por exemplo, quais logs posso ver (tenho muitos em /var/log/samba/). Minha versão do samba é 4.20.5.

Minha prioridade é ingressar em um novo domínio e fazer login no Windows como usuário regular neste domínio. Descarto, por enquanto, compartilhar diretórios.

Editar (2024-11-11): Os testes no guia da revista Fedora foram aprovados corretamente:

Testando

Teste de conectividade

$ smbclient -L localhost -N
Anonymous login successful

        Sharename       Type      Comment
        ---------       ----      -------
        sysvol          Disk      
        netlogon        Disk      
        IPC$            IPC       IPC Service (Samba 4.21.1)
SMB1 disabled -- no workgroup available

$ smbclient //localhost/netlogon -UAdministrator -c 'ls'
Password for [SCNG\Administrator]:
  .                                   D        0  Thu Oct 31 10:17:05 2024
  ..                                  D        0  Thu Oct 31 10:17:05 2024

                15663104 blocks of size 1024. 12979380 blocks available

Teste DNS

$ host -t SRV _ldap._tcp.scng.educaib.
_ldap._tcp.scng.educaib has SRV record 0 100 389 l1.scng.educaib.
$ host -t SRV _kerberos._udp.scng.educaib.
_kerberos._udp.scng.educaib has SRV record 0 100 88 l1.scng.educaib.
$ host -t A l1.scng.educaib.
l1.scng.educaib has address 10.216.1.16

Teste Kerberos

$  kinit administrator
Password for [email protected]: 
ladmin@l1:~$ klist
Ticket cache: KCM:1000
Default principal: [email protected]

Valid starting     Expires            Service principal
11/11/24 10:15:10  11/11/24 20:15:10  krbtgt/[email protected]
        renew until 18/11/24 10:15:06
active-directory
  • 2 respostas
  • 254 Views
Martin Hope
NicoAdrian
Asked: 2024-11-07 23:12:46 +0800 CST

Varnish número muito alto de arquivos abertos

  • 8

Aqui está minha configuração do Varnish:

/usr/sbin/varnishd \
      -a 127.0.0.1:6081 \
      -T 127.0.0.1:6082 \
      -f /varnish/default.vcl \
      -P %t/%N/varnishd.pid \
      -s malloc,4G \
      -p thread_pools=12 -p thread_pool_min=250 -p default_ttl=1 -p default_grace=0 -p timeout_idle=1800

Então 12 * 250 = 3000 threads. Com essa configuração, acabo com mais de 400k arquivos abertos.

Reduzir o número de threads ao mínimo realmente reduz muito o número de arquivos abertos.

A questão é: como isso é possível? É normal que cada thread do Varnish ocupe tantos arquivos abertos?

EDIT: Aqui está meu arquivo VCL:

vcl 4.1;

backend someBackend {
    .host = "someBackend.net";
    .connect_timeout = 2s;
    .first_byte_timeout = 5s;
    .between_bytes_timeout = 5s;
}

sub vcl_recv {
    # Remove Varnish from X-Forwarded-For (set by Nginx)
    set req.http.X-Forwarded-For = regsub(req.http.X-Forwarded-For, ",[^,]+$", "");
}

sub vcl_backend_fetch {
    # Hide Varnish token
    unset bereq.http.X-Varnish;
}

sub vcl_backend_response {
    unset beresp.http.Vary;
}

sub vcl_deliver {
    unset resp.http.Via;
    unset resp.http.X-Varnish;
}
varnish
  • 1 respostas
  • 112 Views
Martin Hope
Wayne Jondle
Asked: 2024-11-06 05:36:58 +0800 CST

Lista de servidores DNS do Windows, todos os registros, todas as zonas contendo CIDR

  • 5

No PowerShell, posso executar Get-DnsServerResourceRecord -zonename "test.com" para obter todos os registros na zona.

Posso carregar todas as zonas em uma variável e usar um loop for para obter todos os registros em todas as zonas.

O que eu quero é todos os registros de todas as zonas com um registro contendo um endereço IP dentro de um intervalo CIDR.

Exemplo: Quero todos os registros em todas as zonas que tenham um valor de 10.10.10.1/24. O retorno deve conter zona, tipo de registro, nome do registro e valor, por exemplo, temp.com, registro A, www, 10.10.10.10 test.org, cname, host1, 10.10.10.25 etc.

windows
  • 1 respostas
  • 49 Views
Martin Hope
Alejandro
Asked: 2024-11-06 04:55:54 +0800 CST

Nginx não está funcionando fora da rede local

  • 5

Tenho um servidor Node.js com Express que serve uma rede https. O servidor está executando o Windows 10. Configurei um servidor DNS sem IP com certificados SSL. A rede está na porta 3000 e quero iniciar um proxy reverso com o Nginx para acessá-la sem precisar especificar a porta, apenas o nome do domínio. O problema é que o Nginx está funcionando para máquinas da rede local, mas não para máquinas externas. Esta é a configuração para o Nginx:

worker_processes 1;
error_log  logs/error.log;
error_log  logs/error.log  notice;
error_log  logs/error.log  info;
events {
    worker_connections 1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen 80;
        server_name servidordelacruz.dynns.com;

        location / {
            return 301 https://$host$request_uri;
        }
    }

    server {
        listen 443 ssl;
        server_name xxxxxx.dynns.com;

        ssl_certificate      route_to\noip_fullchain_cert.pem; 
        ssl_certificate_key  route_to\cert.key;

        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers HIGH:!aNULL:!MD5;

        location / {
            proxy_pass https://localhost:3000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
}

Tenho as portas 80 e 443 abertas no roteador para o servidor e, apenas para teste, o firewall do Windows está completamente desabilitado. Também confirmei que o ddns está funcionando, pois também tenho um servidor de Minecraft acessível. No arquivo access.log, também posso ver que o telefone alcança o servidor:

X.X.X.X - - [05/Nov/2024:20:52:40 +0100] "GET / HTTP/1.1" 301 169 "-" "Mozilla/5.0 (Android 15; Mobile; rv:132.0) Gecko/132.0 Firefox/132.0"

Por fim, no arquivo de log errors. vejo esse erro constantemente:

2024/11/05 21:05:46 [info] 5276#10252: *943 SSL_do_handshake() failed (SSL: error:0A000412:SSL routines::sslv3 alert bad certificate:SSL alert number 42) while SSL handshaking, client: X.X.X.X, server: 0.0.0.0:443

O IP do cliente é meu IP público. Li que talvez não seja importante.

nginx
  • 1 respostas
  • 165 Views
Martin Hope
alexchroot
Asked: 2024-11-06 01:41:24 +0800 CST

Procmail. Encaminhe e-mails para vários destinatários com diferentes Message-ID

  • 5

Agora tenho uma regra em .procmailrc que realiza o encaminhamento para usuários do Gmail u1-u8

:0
* !^FROM_DAEMON
! u1[@]gmail.com,u2[@]gmail.com,u3[@]gmail.com,u4[@]gmail.com,u5[@]gmail.com,u6[@]gmail.com,u7[@]gmail.com,u8[@]gmail.com

mas houve um problema, o gmail se recusa a aceitar imediatamente e-mails para esses endereços com erro

O Gmail detectou que esta mensagem excedeu sua cota para enviar mensagens 421-4.7.28 com o mesmo Message-ID. Para melhor proteger nossos usuários, a mensagem 421-4.7.28 foi temporariamente rejeitada.

Agora a questão. Quais devem ser as regras para encaminhar com Message-ID diferente.

Alguém pode ajudar?

mail-forwarding
  • 1 respostas
  • 47 Views
Martin Hope
fccoelho
Asked: 2024-11-05 22:43:45 +0800 CST

Configuração YAML adequada para a função ansible ssh_security

  • 5

Estou criando um ansible rolke para configurar a segurança ssh em servidores, seguindo a documentação. Aqui está meu arquivo de configuração YAML:

---
- name: Enable SSH security
  hosts: webservers
  tasks:
      - name: Ensure SSH is installed
        apt:
          name: openssh-server
          state: present

      - name: Configure SSH to disable password authentication
        lineinfile:
          path: /etc/ssh/sshd_config
          regexp: '^#?PasswordAuthentication'
          line: 'PasswordAuthentication no'
        notify: Restart SSH

      - name: Ensure public key authentication is enabled
        lineinfile:
          path: /etc/ssh/sshd_config
          regexp: '^#?PubkeyAuthentication'
          line: 'PubkeyAuthentication yes'
        notify: Restart SSH

      - name: Disable root SSH access
        lineinfile:
          path: /etc/ssh/sshd_config
          regexp: '^#?PermitRootLogin'
          line: 'PermitRootLogin no'
        notify: Restart SSH

  handlers:
      - name: Restart SSH
        service:
          name: ssh
          state: restarted

Parece correto e bem formatado, porém quando executo o playbook, recebo este erro:

SSH password: 
BECOME password[defaults to SSH password]: 
ERROR! conflicting action statements: hosts, tasks

The error appears to be in '/<full path>/Hetzner/roles/ssh_security/tasks/main.yml': line 2, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

---
- name: Enable SSH security
  ^ here

O analisador yaml do Pycharm IDE não acusa esse erro. O que pode estar errado nessa configuração?

ansible
  • 1 respostas
  • 14 Views
Prev
Próximo

Sidebar

Stats

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

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

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