Servidores syslog externos no StorageGRID
Um servidor syslog externo é um servidor fora do StorageGRID que você pode usar para coletar informações de auditoria do sistema em um único local. Usar um servidor syslog externo permite que você reduza o tráfego de rede nos seus Nós de Administração e gerencie as informações com mais eficiência. Para StorageGRID, o formato do pacote de mensagem syslog de saída está em conformidade com a RFC 3164.
Os tipos de informações de auditoria que você pode enviar para o servidor syslog externo incluem:
-
Registros de auditoria contendo as mensagens de auditoria geradas durante a operação normal do sistema
-
Eventos relacionados à segurança, como logins e escalonamentos para root
-
Registros de aplicativos que podem ser solicitados caso seja necessário abrir um chamado de suporte para solucionar um problema que você encontrou
Quando usar um servidor syslog externo
Um servidor syslog externo é especialmente útil se você tiver uma grande grid, usar vários tipos de aplicativos S3 ou quiser reter todos os dados de auditoria. Enviar informações de auditoria para um servidor syslog externo permite que você:
-
Colete e gerencie informações de auditoria, como mensagens de auditoria, logs de aplicativos e eventos de segurança de forma mais eficiente.
-
Reduza o tráfego de rede em seus Nós de Administração, pois as informações de auditoria são transferidas diretamente dos diversos Nós de Armazenamento para o servidor syslog externo, sem precisar passar por um Nó de Administração.
Quando os logs são enviados para um servidor syslog externo, logs individuais com mais de 8.192 bytes são truncados no final da mensagem para se adequarem às limitações comuns nas implementações de servidores syslog externos. Para maximizar as opções de recuperação de dados completas em caso de falha do servidor syslog externo, até 20 GB de logs locais de registros de auditoria ( localaudit.log) são mantidos em cada nó.
Como configurar um servidor syslog externo
Para saber como configurar um servidor syslog externo, consulte "Configurar o gerenciamento de logs e o servidor syslog externo".
Se você planeja configurar o uso do protocolo TLS ou RELP/TLS, você deve ter os seguintes certificados:
-
Certificados CA do servidor: Um ou mais certificados CA confiáveis para verificar o servidor syslog externo em codificação PEM. Se omitido, o certificado CA padrão do Grid será usado.
-
Certificado do cliente: O certificado do cliente para autenticação no servidor syslog externo, em codificação PEM.
-
Chave privada do cliente: Chave privada para o certificado do cliente em codificação PEM.
Se você usar um certificado de cliente, também deverá usar uma chave privada de cliente. Se você fornecer uma chave privada criptografada, também deverá fornecer a senha. Não há benefício significativo em termos de segurança ao usar uma chave privada criptografada, pois a chave e a senha precisam ser armazenadas; por simplicidade, recomenda-se o uso de uma chave privada não criptografada, se disponível.
Como estimar o tamanho do servidor syslog externo
Normalmente, sua grid é dimensionada para atingir a taxa de transferência necessária, definida em termos de operações S3 por segundo ou bytes por segundo. Por exemplo, você pode ter o requisito de que sua grid processe 1.000 operações S3 por segundo, ou 2.000 MB por segundo, de ingestão e recuperação de objetos. Você deve dimensionar seu servidor syslog externo de acordo com os requisitos de dados da sua grid.
Esta seção fornece algumas fórmulas heurísticas que ajudam você a estimar a taxa e o tamanho médio das mensagens de log de vários tipos que seu servidor syslog externo precisa ser capaz de processar, expressas em termos das características de desempenho conhecidas ou desejadas do grid (operações S3 por segundo).
Use operações S3 por segundo em fórmulas de estimativa
Se o seu grid foi dimensionado para uma taxa de transferência expressa em bytes por segundo, você deve converter esse dimensionamento em operações S3 por segundo para usar as fórmulas de estimativa. Para converter a taxa de transferência do grid, você deve primeiro determinar o tamanho médio do objeto, o que pode ser feito usando as informações em logs de auditoria e métricas (se houver), ou usando seu conhecimento dos aplicativos que usarão StorageGRID. Por exemplo, se o seu grid foi dimensionado para atingir uma taxa de transferência de 2.000 MB/s e o tamanho médio do objeto é de 2 MB, então o seu grid foi dimensionado para lidar com 1.000 operações S3 por segundo (2.000 MB / 2 MB).
|
|
As fórmulas para dimensionamento de servidores syslog externos nas seções a seguir fornecem estimativas para casos comuns (e não para o pior cenário). Dependendo da sua configuração e carga de trabalho, você pode observar uma taxa de mensagens syslog ou um volume de dados syslog maior ou menor do que o previsto pelas fórmulas. As fórmulas devem ser usadas apenas como diretrizes. |
Fórmulas de estimativa para logs de auditoria
Se você não tiver informações sobre sua carga de trabalho S3 além do número de operações S3 por segundo que sua grid deve suportar, você pode estimar o volume de logs de auditoria que seu servidor syslog externo precisará processar usando as seguintes fórmulas, considerando que você mantenha os Níveis de Auditoria definidos com os valores padrão (todas as categorias definidas como Normal, exceto Storage, que está definida como Error):
Audit Log Rate = 2 x S3 Operations Rate Audit Log Average Size = 800 bytes
Por exemplo, se sua grid for dimensionada para 1.000 operações S3 por segundo, seu servidor syslog externo deverá ser dimensionado para suportar 2.000 mensagens syslog por segundo e deverá ser capaz de receber (e normalmente armazenar) dados de log de auditoria a uma taxa de 1,6 MB por segundo.
Se você souber mais sobre sua carga de trabalho, estimativas mais precisas serão possíveis. Para os logs de auditoria, as variáveis adicionais mais importantes são a porcentagem de operações S3 que são PUTs (em vez de GETS) e o tamanho médio, em bytes, dos seguintes campos do S3 (as abreviações de 4 caracteres usadas na tabela são nomes dos campos do log de auditoria):
| Código | Campo | Descrição |
|---|---|---|
SACC |
Nome da conta do tenant S3 (remetente da solicitação) |
Nome da conta de locatário do usuário que enviou a solicitação. Vazio para solicitações anônimas. |
SBAC |
Nome da conta do tenant S3 (proprietário do bucket) |
Nome da conta do locatário para o proprietário do bucket. Usado para identificar acesso entre contas ou acesso anônimo. |
S3BK |
Bucket S3 |
O nome do bucket S3. |
S3KY |
Chave S3 |
O nome da chave S3, sem incluir o nome do bucket. As operações em buckets não incluem este campo. |
Vamos usar P para representar a porcentagem de operações S3 que são PUTs, onde 0 ≤ P ≤ 1 (então, para uma carga de trabalho 100% PUT, P = 1, e para uma carga de trabalho 100% GET, P = 0).
Vamos usar K para representar o tamanho médio da soma dos nomes de contas S3, buckets S3 e chaves S3. Suponha que o nome da conta S3 seja sempre my-s3-account (13 bytes), os buckets tenham nomes de comprimento fixo como /my/application/bucket-12345 (28 bytes) e os objetos tenham chaves de comprimento fixo como 5733a5d7-f069-41ef-8fbd-13247494c69c (36 bytes). Então, o valor de K é 90 (13+13+28+36).
Se você conseguir determinar os valores de P e K, poderá estimar o volume de logs de auditoria que seu servidor syslog externo precisará processar usando as seguintes fórmulas, considerando que você mantenha os Níveis de Auditoria definidos como padrão (todas as categorias definidas como Normal, exceto Storage, que está definida como Error):
Audit Log Rate = ((2 x P) + (1 - P)) x S3 Operations Rate Audit Log Average Size = (570 + K) bytes
Por exemplo, se sua grid for dimensionada para 1.000 operações S3 por segundo, sua carga de trabalho for composta por 50% de PUTs e os nomes das suas contas S3, buckets e objetos tiverem em média 90 bytes, seu servidor syslog externo deverá ser dimensionado para suportar 1.500 mensagens syslog por segundo e deverá ser capaz de receber (e normalmente armazenar) dados de log de auditoria a uma taxa de aproximadamente 1 MB por segundo.
Fórmulas de estimativa para níveis de auditoria não padrão
As fórmulas fornecidas para os logs de auditoria pressupõem o uso das configurações padrão de nível de auditoria (todas as categorias definidas como Normal, exceto Storage, que está definida como Error). Fórmulas detalhadas para estimar a taxa e o tamanho médio das mensagens de auditoria para configurações de nível de auditoria diferentes das padrão não estão disponíveis. No entanto, a tabela a seguir pode ser usada para fazer uma estimativa aproximada da taxa; você pode usar a fórmula de tamanho médio fornecida para os logs de auditoria, mas esteja ciente de que é provável que resulte em uma superestimação, pois as mensagens de auditoria "extras" são, em média, menores do que as mensagens de auditoria padrão.
| Condição | Fórmula |
|---|---|
Replicação: todos os níveis de auditoria definidos como Depuração ou Normal |
Taxa de log de auditoria = 8 x Taxa de operações S3 |
Codificação de apagamento: todos os níveis de log de auditoria definidos como Depuração ou Normal |
Use a mesma fórmula que para as configurações padrão |
Fórmulas de estimativa para eventos de segurança
Os eventos de segurança não estão correlacionados com as operações do S3 e normalmente produzem um volume insignificante de logs e dados. Por esses motivos, não são fornecidas fórmulas de estimativa.
Fórmulas de estimativa para logs de aplicativos
Se você não tiver informações sobre sua carga de trabalho S3 além do número de operações S3 por segundo que sua grid deve suportar, você pode estimar o volume de logs de aplicativos que seu servidor syslog externo precisará processar usando as seguintes fórmulas:
Application Log Rate = 3.3 x S3 Operations Rate Application Log Average Size = 350 bytes
Assim, por exemplo, se sua grid for dimensionada para 1.000 operações S3 por segundo, seu servidor syslog externo deverá ser dimensionado para suportar 3.300 logs de aplicativos por segundo e ser capaz de receber (e armazenar) dados de log de aplicativos a uma taxa de cerca de 1,2 MB por segundo.
Se você souber mais sobre sua carga de trabalho, estimativas mais precisas serão possíveis. Para logs de aplicativos, as variáveis adicionais mais importantes são a estratégia de proteção de dados (replicação vs. codificação de apagamento), a porcentagem de operações S3 que são PUTs (vs. GETs/outras) e o tamanho médio, em bytes, dos seguintes campos do S3 (as abreviações de 4 caracteres usadas na tabela são nomes dos campos do log de auditoria):
| Código | Campo | Descrição |
|---|---|---|
SACC |
Nome da conta do tenant S3 (remetente da solicitação) |
Nome da conta de locatário do usuário que enviou a solicitação. Vazio para solicitações anônimas. |
SBAC |
Nome da conta do tenant S3 (proprietário do bucket) |
Nome da conta do locatário para o proprietário do bucket. Usado para identificar acesso entre contas ou acesso anônimo. |
S3BK |
Bucket S3 |
O nome do bucket S3. |
S3KY |
Chave S3 |
O nome da chave S3, sem incluir o nome do bucket. As operações em buckets não incluem este campo. |
Exemplos de estimativas de dimensionamento
Esta seção explica casos de exemplo de como usar as fórmulas de estimativa para grids com os seguintes métodos de proteção de dados:
-
Replicação
-
Codificação de apagamento
Se você usa replicação para proteção de dados
Seja P a porcentagem de operações S3 que são PUTs, onde 0 ≤ P ≤ 1 (portanto, para uma carga de trabalho 100% PUT, P = 1 e para uma carga de trabalho 100% GET, P = 0).
Seja K o tamanho médio da soma dos nomes de contas S3, buckets S3 e chaves S3. Suponha que o nome da conta S3 seja sempre my-s3-account (13 bytes), os buckets tenham nomes de comprimento fixo como /my/application/bucket-12345 (28 bytes) e os objetos tenham chaves de comprimento fixo como 5733a5d7-f069-41ef-8fbd-13247494c69c (36 bytes). Então K tem o valor de 90 (13+13+28+36).
Se você conseguir determinar os valores de P e K, poderá estimar o volume de logs de aplicativos que seu servidor syslog externo precisará ser capaz de processar usando as seguintes fórmulas.
Application Log Rate = ((1.1 x P) + (2.5 x (1 - P))) x S3 Operations Rate Application Log Average Size = (P x (220 + K)) + ((1 - P) x (240 + (0.2 x K))) Bytes
Assim, por exemplo, se sua grid for dimensionada para 1.000 operações S3 por segundo, sua carga de trabalho for composta por 50% de PUTs e seus nomes de conta S3, nomes de bucket e nomes de objeto tiverem em média 90 bytes, seu servidor syslog externo deverá ser dimensionado para suportar 1.800 logs de aplicativos por segundo e receberá (e normalmente armazenará) dados de aplicativos a uma taxa de 0,5 MB por segundo.
Se você utiliza codificação de apagamento para proteção de dados
Seja P a porcentagem de operações S3 que são PUTs, onde 0 ≤ P ≤ 1 (portanto, para uma carga de trabalho 100% PUT, P = 1 e para uma carga de trabalho 100% GET, P = 0).
Seja K o tamanho médio da soma dos nomes de contas S3, buckets S3 e chaves S3. Suponha que o nome da conta S3 seja sempre my-s3-account (13 bytes), os buckets tenham nomes de comprimento fixo como /my/application/bucket-12345 (28 bytes) e os objetos tenham chaves de comprimento fixo como 5733a5d7-f069-41ef-8fbd-13247494c69c (36 bytes). Então K tem o valor de 90 (13+13+28+36).
Se você conseguir determinar os valores de P e K, poderá estimar o volume de logs de aplicativos que seu servidor syslog externo precisará ser capaz de processar usando as seguintes fórmulas.
Application Log Rate = ((3.2 x P) + (1.3 x (1 - P))) x S3 Operations Rate Application Log Average Size = (P x (240 + (0.4 x K))) + ((1 - P) x (185 + (0.9 x K))) Bytes
Assim, por exemplo, se sua grid for dimensionada para 1.000 operações S3 por segundo, sua carga de trabalho for composta por 50% de PUTs e seus nomes de conta S3, nomes de bucket e nomes de objeto tiverem em média 90 bytes, seu servidor syslog externo deverá ser dimensionado para suportar 2.250 logs de aplicativos por segundo e deverá ser capaz de receber (e normalmente armazenar) dados de aplicativos a uma taxa de 0,6 MB por segundo.