This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

sexta-feira, 31 de dezembro de 2021

Script - exportando do powershell para excel

 

Exportando do powershell direto para o excel ou pdf

Objetivo

Aqui faremos um POST rápido sobre como usar o powershell para salvar criar um arquivo excel, como o foco é apenas demonstrar essa funcionalidade faremos uma consulta simples de exmplo.

O princípio é o mesmo parar criar outros arquivos do office (Word, powerpoint), adaptando-se pouco o script. Porém, para qualquer um desses é necessário ter o office instalado no computador que irá executar o powershell.

Passos/Condutas

Abaixo, um exemplo para listar todos os usuários do AD e salvar em uma planilhar excel ou pdf (dependendo da extensão que colocar na variável arquivo)

#ALTERE ESSAS DUAS VARIAVEIS CONFORME SUA NECESSIDADE
$path = "C:\Temp"
$arquivo = "Report.pdf"
Clear-host
$data = (Get-Date -Format "yyyMMdd")
$linha = 1
$File = "$path\$arquivo"
$excel = New-Object -ComObject excel.application
#Pre visualizar o arquivo?
$excel.visible = $False
#Permitir alertas (ex: o arquivo não foi salvo)?
$excel.DisplayAlerts = $false
#Criando o documento
$workbook = $excel.Workbooks.Add()
$uregwksht = $workbook.Worksheets.Item(1)
$uregwksht.Name = "Users"
#Mudar layout da Pagina
$uregwksht.PageSetup.Orientation = 2
#Fazendo o cabeçalho
$uregwksht.Cells.Item($linha,1) = "Primeiro Nome"
$uregwksht.Cells.Item($linha,2) = "Sobrenome"
$uregwksht.Cells.Item($linha,3) = "Login"
$uregwksht.Cells.Item($linha,4) = "Status"
$uregwksht.Cells.Item($linha,5) = "SID"
#Padrao do cabeçalho
$uregwksht.Cells.EntireRow($linha).Font.Size = 18
$uregwksht.Cells.EntireRow($linha).Font.Bold = $True
$uregwksht.Cells.EntireRow($linha).Font.Name = "Cambria"
$uregwksht.Cells.EntireRow($linha).Font.ThemeFont = 1
$uregwksht.Cells.EntireRow($linha).Font.ThemeColor = 4
$uregwksht.Cells.EntireRow($linha).Font.ColorIndex = 55
$uregwksht.Cells.EntireRow($linha).Font.Color = 8210719
#Criando nossa consulta
get-aduser -Filter * | ForEach-Object {
#Para cada resposta, vamos alimentar a planilha
$linha++
$uregwksht.Cells.Item($linha,1) = $_.GivenName.toString()
$uregwksht.Cells.Item($linha,2) = $_.Surname.toString()
$uregwksht.Cells.Item($linha,3) = $_.SamAccountName.toString()
$uregwksht.Cells.Item($linha,4) = $_.Enabled.toString()
$uregwksht.Cells.Item($linha,5) = $_.SID.toString()
}
#Auto ajustar tudo para uma melhor visualização
$usedRange = $uregwksht.UsedRange
$usedRange.EntireColumn.AutoFit() | Out-Null

#Configurações de Página
$uregwksht.PageSetup.Zoom = $false
$uregwksht.PageSetup.FitToPagesTall = 9999
$uregwksht.PageSetup.FitToPagesWide = 1
$uregwksht.PageSetup.LeftMargin = $excel.InchesToPoints(0.25)
$uregwksht.PageSetup.RightMargin = $excel.InchesToPoints(0.25)
$uregwksht.PageSetup.TopMargin = $excel.InchesToPoints(0.5)
$uregwksht.PageSetup.BottomMargin = $excel.InchesToPoints(0.5)
$uregwksht.PageSetup.HeaderMargin = $excel.InchesToPoints(0.25)
$uregwksht.PageSetup.FooterMargin = $excel.InchesToPoints(0.25)

#Salvando (em pdf ou xlsx)
if ($file -like ".pdf")
{
$workbook.ExportAsFixedFormat([Microsoft.Office.Interop.Excel.XlFixedFormatType]::xlTypePDF, "$File")
$workbook.Close() } if ($file -like ".xlsx")
{
$workbook.SaveAs("$File")
}
$excel.Quit()
Write-Host "Relatório salvo em $File"

Fontes/Referências

https://blog.softartisans.com/2011/06/04/kb-fittopagestall-and-fittopageswide-settings-do-not-take-effect/
https://docs.microsoft.com/en-us/office/vba/api/excel.pagesetup.fittopageswide
https://docs.microsoft.com/en-us/office/vba/api/overview/excel
https://forums.overclockers.co.uk/threads/powershell-code-to-export-excel-to-pdf-in-lanscape-or-fit2page-mode.18790819/
https://learn-powershell.net/2012/12/20/powershell-and-excel-adding-some-formatting-to-your-report/
https://stackoverflow.com/questions/38512800/using-powershell-to-create-a-pdf
https://theolddogscriptingblog.wordpress.com/2010/06/02/how-do-i-print-all-the-excel-files-from-a-directory/

Mais Informações

Esperamos ter ajudado da melhor forma possível e estaremos sempre a disposição para mais informações.


fonte: https://nvlan.com.br/comunidade/exportando-do-powershell-direto-para-o-excel-ou-pdf/

sexta-feira, 17 de dezembro de 2021

Cisco - ASDM: 'DM_INLINE_NETWORK' is default name of object-group

 

Cisco Bug: CSCuu29995 - DOC: ASDM: 'DM_INLINE_NETWORK' is default name of object-group

Last Modified

Jan 22, 2021

Products (1)

  • Cisco Adaptive Security Device Manager

Known Affected Releases

7.4(1)

Description (partial)

Symptom:
In ASDM,  if more than one IP address/subnet  are used in access-list as source or destination for the same source/destination, ASDM creates object-groups grouping the IP addresses/networks with default name 'DM_INLINE_NETWORK'. Likewise, multiple service specifications are grouped.

This is expected and is the default ASDM behaviour and the user cannot modify the grouping, because the ASA CLI supports a single address per ACE. By default, ASDM displays the contents of these automatically-generated objects rather than the object name. You can display the object name instead by unchecking the option 'Auto-expand network and service object groups with specified prefix'  under ASDM Tools Menu-Preferences- 'Rule Tables' tab.

However there is no Cisco Documentation stating this and so customers have a concern that this cannot be explained during security audits. Hence filing this Documentation defect to document this.

Conditions:
Access-rules configured from ASDM.


fonte: 

https://quickview.cloudapps.cisco.com/quickview/bug/CSCuu29995
https://www.cisco.com/c/en/us/td/docs/security/asa/asa92/asdm72/general/asa-general-asdm/intro-asdm-gui.html

sexta-feira, 3 de dezembro de 2021

Segurança - Firewall UTM e NGFW: afinal, você sabe quais são as suas principais diferenças?

 


A segurança da rede não é mais uma opção, é obrigatória para todas as organizações, desde a menor pequenas e médias empresa (PME) até a maior multinacional. Nesse sentido, à medida que o cenário de ameaças aumenta, também evoluem as soluções segurança para mitigá-lo.

Quando alguém se refere a um firewall, geralmente, está falando sobre uma de duas coisas: um NGFW (Next Generation Firewall, ou firewall de próxima geração) ou um UTM (Unified Threat Management Appliance ou gerenciamento de ameaças unificado).

Mas quais são as diferenças entre os dois? Para ajudar nessa questão, abaixo explicamos as diferenças entre Firewall UTM e NGFW e quais os problemas cada uma das soluções resolve para sua empresa. Acompanhe:

Entendendo a segurança de rede: o cenário crescente de ameaças

Os sistemas de segurança de rede se baseiam em camadas de proteção e consistem em uma junção de múltiplos componentes. Ou seja, incluindo monitoramento de rede, software de segurança de gateway security, segurança de endpoint, além de hardwares e outras aplicações.

Assim, uma estratégia de segurança de rede efetiva deve combinar várias camadas de defesa na borda (Edge) para proteger a usabilidade e integridade da rede, dados e recursos da empresa. Consequentemente, quando bem implementada, ela poderá contribuir para evitar ameaças como:

  • Phishingataque que utiliza engenharia social para enviar mensagens por e-mail direcionadas e enganar as pessoas a clicar em um link malicioso, que pode instalar Malwares ou expor dados confidenciais. Há também o Spear Phishing, uma forma mais sofisticada de phishing, na qual o invasor aprende sobre a vítima e personifica alguém que conhece ou confia;
  • Ataques baseados em IoT: o número de dispositivos “inteligentes” conectados à internet em residências e empresas está começando a aumentar. O problema é que nem todos esses dispositivos inteligentes têm uma segurança forte instalada. Assim, criam aberturas para que os invasores sequestrem esses dispositivos para se infiltrarem nas redes comerciais;
  • Ataque “Man in the Middle” (MitM): onde um invasor estabelece uma posição entre o remetente e o destinatário das mensagens eletrônicas e as intercepta, alterando-as em trânsito;
  • Ransomware: acredita-se que os ataques de Ransomware custem bilhões às vítimas todos os anos, à medida que os hackers implementam tecnologias que permitem sequestrar literalmente os bancos de dados de um indivíduo ou organização e ainda reter todas as informações para resgate. O aumento de criptomoedas como o Bitcoin, por exemplo, é creditado por ajudar a alimentar ataques de Ransomware. Consequentemente, permitindo que as demandas de resgate sejam pagas anonimamente;
  • Ataque de negação de serviço ou DDoS (Distributed Denial of Service Attack)onde um invasor domina muitos (talvez milhares) de dispositivos e os utilizam para invocar as funções de um sistema de destino, por exemplo, um site, causando a falha devido a uma sobrecarga de demanda.

Proteção de última geração: o que é NGFW e UTM?

Já compartilhamos o papel do NGFW nas empresas de hoje. Mas e os UTMs? Sim, os NGFWs não são UTMs, embora, muitas vezes, seja difícil discernir a diferença entre o gerenciamento unificado de ameaças (UTM) e os Firewalls de próxima geração (NGFW).

Os especialistas concordam que as linhas que separam as duas soluções podem ser tênues, mas as empresas que se concentram na definição de cada tipo de produto durante o processo de compra saem em vantagem. Vamos à definição:

NGFW (Firewall de Última Geração)

Os Firewalls de última geração (NGFWs) são firewalls de inspeção profunda de pacotes que vão além da inspeção e bloqueio de portas/protocolos para adicionar inspeção no nível do aplicativo, prevenção de intrusões e trazer inteligência de fora do firewall.

Eles podem ser baseados em software ou hardware e vão além de simplesmente avaliar e atuar em pacotes de dados. Ou seja, os NGFWs incluem muitas outras funções para ajudar a defender a rede, como:

  • Inspeção profunda;
  • Reconhecimento de aplicativos;
  • Identificação do Active Directory ou LDAP;
  • Sistema de proteção contra intrusões totalmente integrado;
  • Modos disponíveis em ponte ou roteados.

UTM (Gerenciamento de ameaças unificadas)

O gerenciamento unificado de ameaças (UTM) é uma plataforma convergente de produtos de segurança pontual, particularmente adequada às PMEs. Os conjuntos de recursos típicos se enquadram em três subconjuntos principais:

  1. Firewall/sistema de prevenção de intrusões (IPS);
  2. Rede privada virtual, segurança de gateway da Web (filtragem de URL, antivírus da Web);
  3. Segurança de mensagens (anti-spam, e-mail AV).

Mais recentemente, os UTMs adicionaram recursos, como VPN, balanceamento de carga e prevenção de perda de dados (DLP).

UTM vs. NGFW: qual a melhor opção para minha empresa?

As aplicações UTM fornecem ferramentas prontas para uso, projetadas para facilitar a implantação e o gerenciamento contínuo. Por isso, são preferidas por pequenas empresas. Já o NGFW atende às organizações que desejam personalizar suas políticas de segurança e preferem técnicas específicas de gerenciamento e relatórios customizados.

Diante desse cenário, nenhuma das abordagens está errada, no entanto, muitas organizações precisam das soluções pontuais dedicadas que só uma ferramenta NGFW pode oferecer. A decisão de contratar um UTM ou NGFW deve ser baseada no risco e no que sua empresa mais precisa. As seguintes perguntas podem ajudar:

  • Quais riscos você está tentando mitigar? Por isso, realize sua avaliação de risco (técnica e operacional) e determine o que está em risco e o que pode ser feito sobre isso;
  • Quais são seus números de taxa de transferência de rede, requisitos de contrato de nível de serviço e necessidades exclusivas de visibilidade e controle de rede? Dessa forma, os possíveis fornecedores devem poder ajudar a mapear seus requisitos para as ofertas deles;
  • Quanto tempo você tem para dedicar à implantação, gerenciamento e solução de problemas desses sistemas? 

Como somente sua organização conhece melhor sua rede; você sabe o que está em risco e o que é capaz de fazer sobre isso. Por isso, envolva o maior número possível de pessoas e reúna todas as informações corretas para decidir sobre a solução que melhor vai contribuir para atingir os objetivos da sua empresa!



fonte: https://www.ndc.com.br/firewall-utm-e-ngfw-afinal-voce-sabe-quais-sao-as-suas-principais-diferencas/

segunda-feira, 27 de setembro de 2021

sharepoint - scripts map drive

https://adamtheautomator.com/map-sharepoint-drive/#Mapping_a_SharePoint_Drive_using_the_NET_USE_command

terça-feira, 7 de setembro de 2021

https://raccoon.ninja/pt/dev-pt/extrair-apenas-certas-linhas-de-um-arquivo-texto-python-powershell/

 

Extrair apenas certas linhas de um arquivo texto. (Python/Powershell)

A ideia deste post é demonstrar uma das formas de se extrair de um arquivo texto, apenas linhas que possuam determinada palavra-chave. Este tipo de abordagem é especialmente útil quando precisamos procurar um texto em um log muito grande. Vou  mostrar como fazer isso em Python e o equivalente utilizando PowerShell.

Obvio que as soluções que vou apresentar não são soluções finais ou únicas, mas podem ajudar que estiver passando por este tipo de situação: Analisar toneladas de texto e tentar descobrir onde deu ruim.

Primeiro vamos definir alguns pontos em comum nas duas abordagens (Python e Powershell):

  1. Nome do arquivo que vai ser lido. (in_file = “big_logfile.txt”)
  2. O arquivo que vai receber as linhas extraídas. (out_file = “file_with_extractedlines.txt”)
  3. Qual texto queremos encontrar nas linhas do arquivo (search_for = “ERROR”)
  4. O número da linha que está sendo lida (line_num = 0)
  5. Quantidade de linhas encontradas (lines_found = 0)

Uma observação importante: Não vou adicionar rotinas de verificação se o texto está maiúsculo ou minusculo, mas você deve ter isso em mente.

 

 

Utilizando Python!

Primeiro, vamos declaras as variáveis que vamos precisar:

As três primeiras variáveis são as que estabelecemos no inicio deste post. As duas últimas (line_num e lines_found) são, respectivamente o número da linha que está sendo lida e a quantidade de linhas que possuem o texto procurado (search_for).

 

O próximo passo é abrir o arquivo de saída, o arquivo de log e fazer a interação pelas linhas.

Explicando (linha a linha) o que este script faz:

  1. Primeiro abrimos o arquivo de saída (referenciado na variável out_f), que vai armazenas as linhas que contém o texto que procuramos;
  2. Depois abrimos o arquivo de LOG (referenciado na variável in_f);
  3. A terceira linha é a declaração da iteração que faremos com o arquivo de log (in_f) para verificar linha a linha;
  4. Na quarta linha, incremento o valor de line_num, que guarda o número da linha que estamos lendo. Poderia utilizar o enumerate, mas imagino que isso poderia gerar perda de performance;
  5. Depois verificamos se o texto que queremos (search_for) existe na linha que estamos lendo (line). As linhas 6, 7 e 8 ocorrem apenas se o texto for encontrado na linha:
  6. Incremento o número de linhas que possuem o texto (lines_found);
  7. Mostro uma mensagem no console, falando que encontrei uma linha com o texto e qual o número dela (no arquivo original);
  8. Escrevo no arquivo de saída (out_f);
  9. No final de tudo, mostro uma mensagem falando a quantidade de linhas que encontrei.

 

 

Utilizando Powershell!

A abordagem que vamos utilizar no PowerShell é (basicamente) a mesma.

Primeiro, vamos declarar as variáveis que vamos utilizar:

As variáveis são as mesmas e com os mesmos propósitos:

  • $in_file: Arquivo contendo as linhas que serão examinadas;
  • $out_file: Arquivo que receberá as linhas extraídas;
  • $search_for: Texto que será procurado em cada linha;
  • $line_num: Número da linha que está sendo examinada;
  • $lines_found: Quantidade de linhas encontradas;

A ‘grande’ diferença entre a abordagem com Python e a com o Powershell é a seguinte:

O comando acima recupera o conteúdo do arquivo de log e o armazena na variável log_lines.

 

Agora, vamos para o processamento das linhas:

Explicando (linha a linha) o que este script faz:

  1. Uma vez que já possuímos o conteúdo do arquivo, a primeira linha inicia uma iteração por cada linha do arquivo;
  2. Na segunda linha incrementamos o número da linha que está sendo lida;
  3. Depois verificamos se o texto que queremos (search_for) existe na linha que estamos lendo (line). As linhas 6, 7 e 8 ocorrem apenas se o texto for encontrado na linha:
  4. Incremento o número de linhas que possuem o texto (lines_found);
  5. Mostro uma mensagem no console, falando que encontrei uma linha com o texto e qual o número dela (no arquivo original);
  6. Escrevo no arquivo de saída (out_file);
  7. No final de tudo, mostro uma mensagem falando a quantidade de linhas que encontrei.

 

 

Observações sobre ambas abordagens

  1. A parte de contar as linhas encontradas, os prints e mostrar qual linha estamos lendo (obviamente) são opcionais e você pode remove-las sem problemas.
  2. Exemplo em Python (Github): https://github.com/brenordv/python-snippets/blob/master/extract-lines/extract_lines.py
  3. Exemplo em PowerShell (Github): https://github.com/brenordv/powershell-snippets/blob/master/extract-line/extract_lines.ps1

 

Espero ter ajudado.