Pesquisar este blog

quarta-feira, 23 de outubro de 2019

PFSense Firewall com Squid e SquidGuard

Metodologia (passo a passo)

Para a realização das configurações e testes do Firewall PFsense é necessário o Software Oracle Virtual Box versão 5.1.22 ou superior, já com as máquinas virtuais criadas, uma delas rodando o PFSense e a outra um sistema operacional cliente, a escolha do usuário. A primeira, rodando o Firewall configurada com duas placas de rede, a primeira conectada à internet e a segunda conectada à rede interna local.

A versão do PFSense instalada deve ser a 2.4 ou superior. Não serão abordadas configurações como alteração de nome de máquina e domínio, senha de acesso e configurações irrelevantes ao propósito desse documento. É necessário que o usuário possua esse conhecimento e já tenha feitos as configurações iniciais previamente.

Utilizando a máquina com o sistema operacional cliente, acesse a interface de configuração WEB do PFSense. Para que tudo transcorra corretamente, é necessário desabilitar o acesso SSL na interface WEB de configuração do PFSense, apesar de ser uma falha de segurança e não recomendado, é necessário, pelo menos inicialmente.

Essa configuração não se tornará um grande problema, desde que não exista acesso externo ao PFSense, ou que o mesmo seja feito através de uma conexão VPN. Para realizar esses procedimentos, o caminho a ser acessado é "System → Advanced".

A opção a ser alterada está na figura 2.

Figura 2: Opção a ser selecionada
Realizado esse procedimento, é necessário iniciar a instalação dos pacotes necessários para o funcionamento do Firewall. O primeiro a ser instalado é o Squid, para isso, o caminho acessado é "System → Package Manager". A guia deve ser selecionada conforme a figura 3. Nesse momento, o pacote SquidGuard também pode ser instalado para dar agilidade aos procedimentos de configuração.

Figura 3: No campo Search Term procure Squid e instale o pacote
Após a realização da instalação, é necessário configurar o cache local do Squid e iniciar o serviço, os passos necessários encontram-se nas figuras de 4 a 10. Primeiro, acesse "Services → Squid Proxy Server" e siga os passos contidos nas figuras.
Clique no botão "Save", que se encontra no final da página.
É necessário salvar as configurações com o botão "Save" localizado no final da página. O Proxy Squid, nesse momento, já está funcionando, é necessário configurar os arquivos de autoconfiguração do PAC para isso navegue até o menu "Diagnostics → Command Prompt" e execute o comando conforme a figura 11.
O botão "Execute" deve ser acionado para concluir a execução do comando. Feito isso, é necessário navegar até o arquivo, sempre utilizando a interface de configuração WEB, siga o caminho "Diagnostics → Edit File" e selecione o botão "Browse" e navegue até o caminho /usr/local/www/ e localize o arquivo "proxy.pac", edite-o e coloque as seguintes informações no mesmo, alterando somente o nome do domínio na última linha do arquivo, mantendo o wpad:

function FindProxyForURL(url, host){
   var hostIP = dnsResolve(host);
   return "PROXY wpad.seudominio:3128"
}

Retorne ao executor de comandos do PFSense e execute os seguintes comandos:

# ln -s /usr/local/www/proxy.pac /usr/local/www/wpad.dat
# ln -s /usr/local/www/proxy.pac /usr/local/www/wpad.da


Esses comandos irão criar links simbólicos aos outros dois arquivos, informando ao sistema que os três têm o mesmo conteúdo. Tendo realizados com sucesso os passos anteriores, é necessário que os seguintes arquivos "mime.types" e "mime.types-dist" sejam alterados. Eles estão contidos no seguinte caminho /usr/local/etc/nginx, utilize o procedimento anteriormente explicado para acessar os arquivos e incluir, em ambos, as seguintes linhas:

application/x-ns-proxy-autoconfig      pac;
application/x-ns-proxy-autoconfig      dat;
application/x-ns-proxy-autoconfig      da;

É extremamente importante que as configurações estejam exatamente conforme citadas, visto que qualquer erro pode interromper o funcionamento tanto do NGinx, que é o servidor WEB do PFSense, quanto do Firewall e Proxy. Tendo escolhidos já o nome da máquina e domínio em que a mesma se encontra, deve ser criado um apontamento no servidor DNS para "wpad.seudominio".

O procedimento está descrito nas imagens a seguir, navegue até "Services → DNS Resolver", navegue até o fim da página e selecione "Host Overrides → add", preencha as informações conforme a figura:
O próximo passo é definir como o DHCP vai distribuir as informações, navegue até "Services → DHCP Server", navegue até o fim da página e quando encontrar a opção "Additional BOOTP/DHCP Options", clique em "Display Advanced" e adicione as opções conforme a figura:
As opções ficarão conforme a tabela abaixo:
252 String http://wpad.seudominio/proxy.pac
252 String http://wpad.seudominio/wpad.dat
252 String http://wpad.seudominio/wpad.da

Já estará tudo funcionando, o necessário agora é somente criar regras no Firewall que impeça o acesso à internet sem passar pelo Proxy. Para isso, acesse "Firewall → Rules" e exclua todas as regras já existentes; e inclua, com o botão "ADD" duas novas, preenchendo-as da seguinte forma:

A primeira regra, permite acesso ao DNS, deve permitir passagem pela porta 53 do Firewall, segue abaixo as configurações já preenchidas:
Clique em "Save" no final da página, a próxima regra permite acesso ao servidor de Proxy, que fará a comunicação com a internet. O procedimento de criação da regra é exatamente o mesmo, o que muda são as informações preenchidas, segue as imagens com as informações que devem ser inclusas na regra:
As regras do Firewall devem ficar da seguinte forma:
Feitas essas configurações, é necessário acessar diretamente o PFSense e em sua interface de linha de comando escolher a opção 11, que reiniciará o servidor WEB para que as configurações feitas entrem em ação. Depois disso, deve-se reiniciar a máquina PFSense e também a máquina cliente.


Referência: https://www.vivaolinux.com.br/artigo/PFSense-Firewall-com-Squid-e-SquidGuard?pagina=3
Retirado em: 23/10/2019

sexta-feira, 18 de outubro de 2019

Esquema de cores para montar cabo de rede RJ45 (par trançado)

A crimpagem de um cabo de rede é muito simples, basta você saber a sequência correta de cores e ter as ferramentas necessárias para executar o serviço.


Para montar o cabo você precisará de:
> Alicate de crimpagem;
> Cripes RJ45
> Cabo RJ45
Veja a sequência de cores correta para montar o cabo de rede padrão UTP.
Esta sequência é a do cabo mais comum, aquele usado para ligar seu PC ao modem de banda larga ou ao roteador.
Lembrando que as duas extremidades do cabo devem está iguais:
BRANCO/VERDE
VERDE
BRANCO/LARANJA
AZUL
BRANCO/AZUL
LARANJA
BRANCO/MARROM
MARROM
Confira a sequência na imagem:
como montar cabo de rede
O próximo esquema de montagem a seguir é para montar o cabo “cruzado” ou “Crossover”.
Esse tipo de cabo serve, por exemplo, para fazer uma ligação direta entre dois computadores.
Para crimpar o cabo crossover é só crimpar uma das extremidades do cabo igual o esquema anterior e mudar algumas sequências de cores na outra extremidade. Confira na imagem:
Esquema de montagem de cabo de rede Crossover (cruzado)
montagem de cabo de rede Crossover
Lembrando que você deve obedecer o tamanho para o cabo de rede de no mínimo 30cm e no máximo 100 metros!


Fonte: http://mundozoom.net/esquema-de-cores-para-montar-cabo-de-rede-rj45-par-trancado.html
Retirado em: 18/10/2019

domingo, 13 de outubro de 2019

Samba - Instalando e configurando o SAMBA no CentOs Linux

Existe um programa chamado Samba que consegue realizar o compartilhamento de arquivos e impressoras entre redes Linux e Windows. Realiza isso por meio do protocolo SMB.

Enquanto redes Windows utilizam o NetBIOS (Network Basic Input/Output System) para compartilhar os arquivos na rede, sistemas Linux utilizam o NFS (Network File System). Esses dois protocolos, por padrão, não conseguem se comunicar. Sistemas Windows, por padrão, não conseguem se comunicar com sistemas Linux.
Esse protocolo permite a comunicação e compartilhamento de arquivos e impressoras na rede.



Instalando o Samba

Para instalar o Samba basta abrir o terminal e falar para seu gerenciador de pacotes instalá-lo. No meu caso, o sistema do servidor é um Linux CentOs que utiliza o YUM. Portanto:


yum install samba

Pronto! Samba instalado, temos que dizer para ele como fazer o compartilhamento. Lembra que o Samba utiliza o protocolo SMB para realizar os compartilhamentos? Então vamos configurar como o Samba realizará o compartilhamento por meio desse protocolo.
Para isso podemos usar o arquivo do próprio Samba chamado: smb.conf. Este arquivo fica no diretório /etc/samba.


Algumas vezes esse arquivo vem com um exemplo de configuração, porém como vamos fazer a nossa própria configuração, podemos apagá-la.
Vimos que mesmo conectando o computador na rede, ele não tem acesso ao compartilhamento. Isso porque nosso servidor não faz parte do mesmo grupo de trabalho (workgroup) do computador.
Podemos dizer isso para o Samba, especificando qual o grupo de trabalho do compartilhamento.
Mas temos que configurar esse grupo de trabalho em todas as pastas que forem compartilhadas?
Não, esses tipos de configurações globais podemos configurá-las uma única vez. Para isso abrimos uma seção global ([global]).
Neste caso, o nome do grupo de trabalho será o caminho do servidor no domínio:

[global]
    workgroup = servidor01.acme.corp
Como as máquinas Windows saberão quem é o servidor rede? Ele precisa de um nome certo?
O Windows utiliza uma API chamada NetBIOS para nomear as máquinas em sua rede. Como queremos dizer o nome do servidor, podemos usar o netbios name:

[global]
    workgroup = servidor01.acme.corp
    netbios name = servidor01
Acabamos nossas configurações globais. Hum… mas ainda não especificamos qual será o compartilhamento… Como podemos fazer isso?
Para especificar o compartilhamento, basta abrir outra seção, como abrimos em [global] , só que agora com o nome do compartilhamento.
No meu caso, eu quero compartilhar a pasta pública, logo, vou chamar meu compartilhamento assim.

[global]
    workgroup = servidor01.acme.corp
    netbios name = servidor01

[publica]
Mas não basta dizer qual o nome do compartilhamento, temos que dizer onde o diretório compartilhado se encontra no servidor. Ou seja, precisamos dizer o caminho (path) até a pasta.
Neste caso, a pasta se chama publica, e está dentro de outra pasta chamada compartilhamento:

[global]
    workgroup = servidor01.acme.corp
    netbios name = servidor01

[publica]
    path = /compartilhamento/publica
E como o computador Windows conseguirá achar essa pasta? Precisamos falar que esse diretório poderá ser encontrado (browseable):

#Configurações globais
[publica]
    path = /compartilhamento/publica
    browseable = yes
O sócio da empresa precisa salvar e alterar alguns arquivos que estão contidos nesta pasta. Logo ela precisa escrever (writable) essas mudanças, isto é, salvá-las de fato.
Ou seja, se ela consegue escrever essas informações, o diretório não é apenas para a leitura dos arquivos (read only).

#Configurações globais
[publica]
    path = /compartilhamento/publica
    browseable = yes
    writable = yes
    read only = no
Configurações terminadas! Mas como o Samba vai saber que esta é a configuração para ser utilizada?
Nós podemos reiniciar o serviços que fazem parte do Samba, dessa forma ele já passa a usar a nossa configuração. O Samba usa dois serviços para realizar o compartilhamento. Um já vimos, é o smb, o outro é chamado de nmb.
O nmb é o serviço que entende as requisições feitas pela API NetBIOS.
Então vamos falar para o sistema (systemctl) reiniciar (restart) esses dois serviços (smb.service e nmb.service):
systemctl restart smb.service
systemctl restart nmb.service

Também precisamos habilitar o compartilhamento no firewall. Do contrário os computadores não conseguirão acessá-lo.
Vamos então passar um comando para nosso firewall (firewall-cmd), que será permanente (--permanent) na zona pública (--zone=public) que adiciona o serviço do Samba (–add-service=samba):
firewall-cmd --permanent --zone=public --add-service=samba
Feito isso, temos que reiniciar nosso firewall:
firewall-cmd --reload

Tudo certo! Samba configurado, firewall também. Vamos tentar acessar nosso serviço de compartilhamento em um Windows.


Para isso, basta digitar no explorador de arquivos o endereço do servidor. No meu caso esse endereço é o: 192.168.0.10. Temos que usar duas barras invertidas antes do endereço (\\):
\\192.168.0.10




Hum… não apareceu nosso compartilhamento… Por quê?
No CentOs existe uma camada extra de segurança chamada SELinux. Nós temos que habilitar o serviço do Samba nessa camada também, além do firewall.
Para isso, basta dizer que queremos mudar o contexto do SELinux (chcon, change context) , do nosso serviço do tipo (-t) compartilhamento utilizando o Samba (samba_share_t) na nossa pasta pública (/compartilhamento/publica):
chcon -t samba_share_t /compartilhamento/publica




Vamos tentar acessar novamente o nosso compartilhamento:




Ainda não conseguimos acessar o compartilhamento… Por quê?
O Samba faz um mapeamento de usuários. Por padrão apenas usuários do domínio podem acessar o compartilhamento.
Podemos resolver esse problema de duas formas:
  • A primeira seria colocar esse computador Windows no domínio, porém esse é o notebook particular da esposa do dono da empresa. Se colocássemos esse computador no domínio todas as vezes que ela fosse usar fora da empresa, teria que tirá-lo do domínio, o que não seria viável.
  • Outra forma é mudar o modo como o Samba mapeia esses usuários. Dessa forma conseguimos fazer com que usuários que não estão no domínio acessem o compartilhamento.
Como essa configuração ocorre para todos os diretórios compartilhados ela é realizada na seção global.
Nela, podemos falar que o mapeamento do usuário (map to guest), poderá receber membros fora do domínio, desde que estejam autenticados.
Bem para isso podemos usar a opção Bad User:

[global]
    workgroup = servidor01.acme.corp
    netbios name = servidor01
    map to guest  = Bad User
A opção Bad User permite que um usuário acesse o compartilhamento depois de realizar uma autenticação.
Mas como o Samba realizará essa autenticação?
Nós podemos adicionar esse novo usuário no sistema e no Samba. Assim, quando o Samba exigir uma autenticação esse novo usuário poderá ser usado.
Vamos adicionar esse novo usuário no sistema (adduser). No meu caso, vou chamá-lo de user.
adduser user

Pronto! Adicionamos o usuário no sistema. Porém ainda precisamos adicionar ao Samba… como podemos fazer isso?

Adicionando usuários no samba

O Samba oferece um programa que podemos usar para alterar a senha e/ou adicionar usuários ao seu sistema.
Esse programa é chamado de smbpasswd. Por padrão ele altera a senha de usuários no Samba. Porém, utilizando o parâmetro -a (adicionar) ele adiciona um novo usuário já cadastrado no sistema.
Assim, podemos adicionar o usuário que acabamos de inserir.

smbpasswd -a user



Já que alteramos o arquivo de configuração, temos que reiniciar os serviços do Samba novamente.
Perfeito! Agora se tentarmos acessar o compartilhamento. Basta digitar o usuário e senha:




Sucesso! Conseguimos acessar o compartilhamento!



Vamos tentar adicionar um arquivo nesta pasta para testar essa funcionalidade:


Não conseguimos, mesmo com a permissão writable no arquivo do Samba… está buggado, ou nós fizemos alguma coisa errada?
No Linux, quando uma pasta é criada, são atribuídos automaticamente algumas permissões ao diretório.

Conseguimos ver as permissões de uma pasta utilizando o comando ls (list) com o parâmetro -l (lista longa).

ls -l /compartilhamento


A saída do comando ls nos retorna algumas informações sobre os arquivos ou diretórios. Essas informações são divididas em colunas, a primeira coluna nos mostra o tipo e as permissões do arquivo ou diretório.

A primeira letra nos indica que é um diretório (d), as demais nos mostram as permissões. Essas são divididas em três partes, as do usuário dono, as do grupo dono e as dos demais usuários.
Cada letra significa um tipo de permissão:
  • r → Leitura (read);
  • w → Escrita (write);
  • x → Execução (execute).
Caso não tenha essa permissão é apresentado como um traço (-) no lugar da letra.
Se analisarmos essas informações vamos perceber que nem o grupo dono do arquivo, ou os demais usuários conseguem escrever na pasta, isto é, criar diretórios ou arquivos. Para resolver esse problema, podemos utilizar um programa chamado chmod(change mode).


Com esse programa, podemos falar que o usuário dono tem todas as permissões, escrever, ler e executar (u=rwx), o mesmo para o grupo dono (g=rwx) e para os outros usuários. (o=rwx):



Agora se nós tentarmos adicionar um arquivo vamos conseguir salvá-lo:


Tudo certo! Conseguimos realizar a configuração do compartilhamento! Agora é só salvar os arquivos.

Para saber mais

Veja que no compartilhamento demos todas as permissões (rwx) para todos os usuários, até a usuários desconhecidos no sistema. Por isso, por questões de segurança esse tipo de configurações devem ser evitadas.
Neste caso, nós utilizamos o chmod com suas opções simbólicas (rwx), porém poderíamos ter utilizado o modo octal (0, 1, 2, 4).
Para evitar esse tipo de configuração, pode-se criar um grupo e colocá-lo como grupo dono da pasta compartilhada.
Esse exemplo é apenas um simples exemplo de compartilhamento. Podemos fazer muito mais como:
  • Restringir o acesso a um diretório ou arquivo a um usuário ou grupo de usuários específicos;
  • Criar pastas únicas para cada usuário no sistema;
  • Bloquear alguns tipos de arquivos de serem salvos no sistema.
Além de compartilhar arquivos e diretórios, o Samba consegue fazer o papel de Active Directory nas redes Windows.
Veja que realizamos essa configuração como superusuário (root), logo, cuidado!
Neste caso, nossa pasta está apenas no servidor, porém conseguimos sincronizá-la com algum serviço na nuvem. Dessa forma podemos sempre acessar seus arquivos, ou pela rede local, ou pela nuvem.

Compartilhando com todos os sistemas

Nosso problema era o compartilhamento de arquivos entre diferentes sistemas operacionais (Windows e Linux). Entendendo que o problema são os diferentes protocolos usados por esses sistemas, encontramos como solução o Samba.
Com ele conseguimos compartilhar arquivos e diretórios, além de impressoras. Isso porque o Samba utiliza o protocolo SMB para realizar o compartilhamento. Dessa forma, as máquinas Windows conseguem acessar os diretórios compartilhados no Linux.


Referência: https://www.alura.com.br/artigos/compartilhando-arquivos-com-o-samba
Retirado em  13/10/2019

sábado, 12 de outubro de 2019

Como desativar/ativar o modo gráfico no Linux com o systemd

Use o systemctl para determinar a interface padrão no seu sistema

Você pode usar o comando systemctl para gerenciar a interface padrão — fazendo a troca entre GUI (modo gráfico) e CLI (modo texto).
Para ver qual é o padrão, neste momento, use o comando assim:


systemctl get-default 

graphical.target 
 
O resultado “graphical.target” indica que a GUI é a interface padrão (no meu sistema). Se fosse a CLI, o get-default iria resultar em “multi-user.target”


fedora systemd systemctl
 


Para mudar a interface padrão para o modo texto, na próxima inicialização do sistema, use o set-default:

 systemctl set-default multi-user.target

Created symlink /etc/systemd/system/default.target → /lib/systemd/system/multi-user.target.

Este comando pede autenticação de administrador do sistema e só terá efeito após o reboot.
Você reiniciar o sistema com o próprio systemctl:


systemctl reboot 
 
 
 
Para desfazer o procedimento – e voltar a usar 
a interface gráfica como padrão 
– use o seguinte comando: 


systemctl set-default graphical.target

Removed /etc/systemd/system/default.target.
Created symlink /etc/systemd/system/default.target → /lib/systemd/system/graphical.target.
 
 
 
 
 
 
Referencia: https://elias.praciano.com/2017/05/como-desativarativar-o-modo-grafico-no-linux-com-o-systemd/
 
 

 

sexta-feira, 11 de outubro de 2019

Ferramentas de monitoramento Linux - Via Terminal



Ferramentas de monitoramento Linux  - Via Terminal

Fontes:

https://blog.corujadeti.com.br/atop-ferramenta-linux-para-analise-de-performance/ 

http://www.bosontreinamentos.com.br/linux/nmon-analisando-e-monitorando-um-sistema-linux/

https://www.treinaweb.com.br/blog/monitorando-processos-com-o-htop/

 

Glances – Monitoramento de Sistemas Linux

 

“An Eye on your system  / (Um olho em seu sistema)”

Este é o lema principal do Glances.
Glances é um software de monitoramento CLI feito em Python. Com ele, não espere gráficos, imagens, animações e alertas. É um software de monitoramento presencial, mantido pelo programador Nicolas Hennion. Em uma só tela podemos monitorar CPU, Carga, Memória, RedeE/S do Disco, Processos, Sistema de Arquivos além de outros parâmetros que são essenciais para um SysAdmin manter o monitoramento dos seus servidores.

Características

Características da interface que traz dados imediatos sobre:
  • Uso do processador (por Core, por processador);
  • Uso da memoria RAM (Swap e Livre);
  • Carga do sistema em 1min, 5mins e 15 mins;
  • Uso da rede (taxa download/upload);
  • Quantidade de processos (ordenado por uso de CPU, memória, usuários …);
  • Uso dos HDs e partições (Inputs e Outputs);
  • Uso de espaço das partições e dispositivos de armazenamento;

Instalação

Para instalar o pacote basta executar os comandos abaixo:
RHEL/CentOS/Fedora
Debian/Ubuntu/Linux Mint

Monitoramento com Glances

Para iniciar o Glances bastar executar o comando: glances
Glance Terminal
Você pode alterar o intervalo de atualização com o parâmetro -t :

Limites e Código de Cores

Uma das principais características do Glances é que podemos definir limites (cuidado, aviso e crítico) no arquivo de configuração, assim as informações serão mostradas em cores que indicam o gargalo no sistema. Por padrão os limites estão definidos em:
  • Cuidado = 50;
  • Aviso = 70;
  • Crítica = 90;
O código de cores está definido da seguinte forma:
  • VERDE: Ok
  • AZUL: Cuidado
  • VIOLETA: Aviso
  • VERMELHO: Crítico
Para personalizar esses limites, basta editar o arquivo de configuração em /etc/glances/glances.conf .

Uso remoto

Com o Glances você também pode monitorar sistemas remotamente. Para usar em sistemas remotos, execute com o parâmetro -s para habilitar modo cliente/servidor e definir a senha de acesso: glances -s

Para conectar use os parâmetros -c  e -P seguido do ip do servidor.

Outras opções

Existe várias outras opções no terminal através de teclas de atalho, abaixo tem uma lista de várias teclas de atalho.
  • a – Ordenar processos automaticamente;
  • c – Ordenar processos por CPU%;
  • m – Ordenar processos por MEM%
  • p – Ordenar processos por nome;
  • i – Ordenar processo por taxa de I/O;
  • d – Mostra/Oculta estatísticas de I/O do disco;
  • n – Mostra/Oculta estatísticas de rede;
Para mais opções veja o manual da ferramenta:
man glances

==========================================================================

atop – ferramenta linux para análise de performance

Há alguns meses venho trabalhando com uma ferramenta em particular chamada atop, a qual está disponível nos repositórios do CentOS e do ubuntu.
A instalação no ubuntu é simples, basta executar sudo apt-get install atop
Simples de instalar e utilizar como qualquer outra ferramenta, mas com um diferencial bem importante, a quantidade de informações em uma única tela que ela apresenta.
Vejam na imagem abaixo:
Screen Shot 2014-01-10 at 2.29.57 PM
Rodando a ferramenta e pressionando as teclas p, c ou m, vc terá acesso à uma série de interessantes informações sobre o seu servidor Linux.
Vejam algumas das suas opções de comandos:
-a show or log all processes (i.s.o. active processes only)
-P generate parseable output for specified label(s)
-L alternate line length (default 80) in case of non-screen output
-f show fixed number of lines with system-statistics
-l show limited number of lines for certain resources
-1 show average-per-second i.s.o. total values
-x no colors in case of high occupation
-g show general process-info (default)
-m show memory-related process-info
-d show disk-related process-info
-n show network-related process-info
-s show scheduling-related process-info
-v show various process-info (ppid, user/group, date/time)
-c show command-line per process
-o show own defined process-info
-u show cumulated process-info per user
-p show cumulated process-info per program (i.e. same name)
-C sort processes in order of cpu-consumption (default)
-M sort processes in order of memory-consumption
-D sort processes in order of disk-activity
-N sort processes in order of network-activity
-A sort processes in order of most active resource (auto mode)
specific flags for raw logfiles:
-w write raw data to file (compressed)
-r read raw data from file (compressed)
special file: y[y…] for yesterday (repeated)
-S finish atop automatically before midnight (i.s.o. #samples)
-b begin showing data from specified time
-e finish showing data after specified time

========================================================================== 
==========================================================================

Nmon

Neste artigo vamos instalar e aprender a utilizar um utilitário de linha de comandos para monitoramento e análise de uma sistema Linux chamada nmon.
O nmon pode ser utilizado para realizar a análise de diversos parâmetros em seu sistema, permitindo efetuar benchmarks, verificar a performance de itens de hardware e até mesmo auxiliar a resolver problemas em um servidor, por exemplo.
Entre os parâmetros que podem ser observados com o uso do nmon estão os seguintes:
  • CPU
  • Memória RAM
  • Sistemas de arquivos
  • Discos
  • Processos em execução
  • NFS
  • Recursos
  • Kernel
E alguns outros. O nmon é um utilitário interativo, de fácil utilização, com uma interface bastante intuitiva contendo os comandos que podem ser utilizados para realizar suas tarefas. Os dados são atualizados na tela a cada dois segundos, por padrão.
Vamos proceder então à sua instalação

Instalando o nmon

Utilizarei como exemplo um sistema Linux Ubuntu, mais precisamente um Xubuntu para a instalação e testes do utilitário. Para efetuar sua instalação nestes sistemas (ou em qualquer sistema baseado em Debian), use o comando a seguir:
$ sudo apt-get install nmon
Trivial não?

Usando o nmon

Para realizarmos o monitoramento de performance do sistema Linux, digite o comando a seguir no terminal para executar o nmon:
$ nmon
Você verá a tela a seguir no terminal:
Tela inicial do nmon - Linux
Como podemos ver na própria tela, para acessarmos a ajuda do nmon basta digitar a tecla H (no próprio nmon) ou um dos comandos a seguir (a partir do terminal):
$ nmon -?
$ nmon -h
Para acessar os módulos de monitoramento basta pressionar a tecla indicada na listagem apresentada. Se quiser desligar o monitoramento do item basta pressiona a mesma tecla novamente. Vejamos alguns exemplos:

Coletar estatísticas de CPU

Basta pressionar a tecla “c” quando no nmon:
Coletando estatísticas de CPU com nmon no Linux
Pressionando novamente a tecla “c” a coleta e exibição de informações sobre a CPU será encerrada.

Coletar informações sobre memória

Para coletar dados sobre a memória basta usar a tecla “m”:
nmon - estatísticas de memória no Linux
Como eu não encerrei a coleta de dados da CPU, ambas são exibidas no terminal agora.
Outras estatísticas importantes podem ser acessadas com o uso das seguintes teclas:
  • j = sistemas de arquivos
  • n = Rede
  • r = Recursos do sistema
  • d = Discos
  • t = Processos principais
  • N = NFS
  • k = kernel
  • V = memória virtual
  • h = informações da ajuda
  • q = sair do utilitário
É possível também capturar os dados monitorados e gravá-los em um arquivo, em vez de exibi-los na tela. Para isso usamos os parâmetros a seguir:
-f  Indica que queremos gravar os resultados em uma arquivo (o nome é gerado automaticamente)
-s X  X é o intervalo, em segundos, entre cada captura de dados
-c Y  Y é o número de  vezes (refreshes) que o nmon capturará dados.
Por exemplo, queremos realizar a captura de dados para um arquivo, com leituras a cada 5 segundos, 10 vezes em sequência:
$ nmon -f -s 5 -c 10
Na da será exibido no terminal, mas a captura está ocorrendo. Cerca de 50 segundos depois (10 x 5 segundos), ela terminará, e poderemos acessar o arquivo criado:
$ ls
Captura de dados com nmon no Linux
Foi criado o arquivo fabio-xubuntu_160110_2050.nmon (o nome do arquivo traz a data e hora da captura, além do nome do computador, e a extensão .nmon).
O arquivo gerado está no formato CSV (comma-separated values), ou seja, valores separados por vírgulas. Desta forma, pode ser carregado em um editor de planilhas qualquer para facilitar a análise, bastando para isso classificar os dados do arquivo antes com o comando sort (e possivelmente usando a extensão .csv no arquivo). Geralmente esse procedimento não é necessário se você for utilizar o Excel para analisar os dados. Neste caso, é recomendável usar o recurso nmon analyzer para preparar os dados que serão exibidos no Excel. Mais informações sobre o nmon analyzer podem ser obtidas no site da IBM: http://www.ibm.com/developerworks/aix/library/au-nmon_analyser/


========================================================================== 
==========================================================================

 HTOP

O Htop é uma ferramenta visual e interativa (ela recebe interação até pelo mouse) para visualizar os processos e os recursos consumidos por eles. Na versão 2.0 o Htop se tornou multiplataforma, sendo suportado por Linux, FreeBSD, OpenBSD e MacOS.

Instalando o htop

Se o seu servidor é o Ubuntu, tudo o que você precisa fazer é:
sudo apt-get install htop
E para iniciar a ferramenta:
htop
Se você é usuário de macOS e quer testar, recomendo que instale o Homebrew, depois, para instalar o htop, é só executar:
brew install htop

Visão geral

Ao abri-lo pela primeira vez, executando htop no terminal, essa é a primeira visão que temos:
Para entender um pouquinho mais sobre cada parte, dividimos pelos extremos superior e inferior.
1) Informações do processador, consumo de memória etc;

2) Informações detalhadas sobre os processos;

Na parte inferior ainda é possível usar as funções de filtrar processos, ordená-los e até mesmo finalizá-los:

Se você quer conhecer o que mais pode ser feito / obtido com o htop, acesse a documentação oficial. E, para maiores explicações sobre cada uma das informações exibidas, você pode consultar a documentação do top.

sexta-feira, 4 de outubro de 2019

Tutorial - Instalando e Configurando o Samba 4 no CentOS 7

Referência : https://under-linux.org/entry.php?b=4764
Retirado em: 04/10/2019

Este tutorial é baseado em vários outros tutoriais na internet.
E desde já fico muito grato aqueles que possam corrigir ou adicionar mais informações para melhoria do mesmo.
-------------------------------------------------------------------------------------------------------------------------------------------------------


--Baixar versão minimal:


http://isoredirect.centos.org/centos/7/isos/x86_64/
-------------------------------------------------------------------------------------------------------------------------------------------------------




--Configurando informações de IP fixo:
--192.168.xxx.xxx é o ip do centos
--192.168.yyy.yyy é o gateway da rede





# vi /etc/sysconfig/network-scripts/ifcfg-eth0
ou em vm
# vi /etc/sysconfig/network-scripts/ifcfg-ens33 (O tutorial foi feito em VMware)


-------- editando arquivo ---------
TYPE=Ethernet
USE_DHCP=no
BOOTPROTO=static
IPADDR=192.168.xxx.xxx
NETMASK=255.255.255.0
DEFROUTE=yes
PEERDNS=yes
PEERROUTERS=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_PEERDNS=no
IPV6_PEERROUTERS=no
IPV6_FAILURE_FATAL=no
NAME=ens33
UUID=xxxxxxxxxxxx verifica existente xxxxxxxxxxxxxxxxxxx
DEVICE=ens33
ONBOOT=yes
NM_CONTROLLED=no
USERCTL=no
-------------------------------------------------------------------------------------------------------------------------------------------------------




--Configurando o Hostname:


# hostnamectl set-hostname samba


# vi /etc/sysconfig/network


-------- editando arquivo ---------
NETWORKING="yes"
HOSTNAME=rede.local
HOSTNAME=samba.rede.local
GATEWAY="192.168.yyy.yyy"
-------------------------------------------------------------------------------------------------------------------------------------------------------






# vi /etc/hosts


-------- editando arquivo ---------
127.0.0.1 samba.rede.local samba
192.168.xxx.xxx samba.rede.local samba
-------------------------------------------------------------------------------------------------------------------------------------------------------






--Configurando DNS:


# vi /etc/resolv.conf


-------- editando arquivo ---------
domain rede.local
search rede.local
nameserver 192.168.xxx.xxx
nameserver 8.8.8.8
nameserver 208.67.222.222
-------------------------------------------------------------------------------------------------------------------------------------------------------


--Reinicie o servidor para certificar que todas as configurações subirão conforme configuradas.


#reboot


--A partir daqui use o putty para facilitar copiar e colar os comandos.


--Atualizando o sistema e Instalando pacotes necessários:


# yum update


# yum install ntp nano vi wget curl net-tools lsof epel-release -y


--Desabilitar o Selinux:


# vi /etc/sysconfig/selinux


SELINUX=disabled


# setenforce 0


--Reinicie e confira se desabilitou o selinux.


# reboot


# sestatus


SELinux status: disabled


--Disabilitando servi.cos desnecessarios:


# service firewalld stop
# systemctl disable firewalld


# service iptables stop
# systemctl disable iptables


# service ipv6tables stop
# systemctl disable ipv6tables
-------------------------------------------------------------------------------------------------------------------------------------------------------






--Configurando NTP Server:


# vi /etc/ntp.conf


-------- editando arquivo ---------
#server 0.centos.pool.ntp.org iburst [comente esta linha]
#server 1.centos.pool.ntp.org iburst [comente esta linha]
#server 2.centos.pool.ntp.org iburst [comente esta linha]
#server 3.centos.pool.ntp.org iburst [comente esta linha]
server a.ntp.br iburst
server b.ntp.br iburst
server c.ntp.br iburst
# Relogio Local
server 127.127.1.0
fudge 127.127.1.0 stratum 10
# Configurações adicionais para o Samba 4
ntpsigndsocket /var/lib/samba/ntp_signd/
restrict default mssntp
-------------------------------------------------------------------------------------------------------------------------------------------------------






--Iniciar e abilitar ntp:


# systemctl start ntpd


# systemctl enable ntpd


--Verificar se está ok o ntp:


# ntpq -p


--Configurando horário:


# ntpdate a.ntp.br
-------------------------------------------------------------------------------------------------------------------------------------------------------






--Instalar todos os pacotes de dependências que o Samba 4 precisa para ser instalado:


# yum install attr bind-utils docbook-style-xsl gcc gdb krb5-workstation libsemanage-python libxslt perl perl-ExtUtils-MakeMaker perl-Parse-Yapp perl-Test-Base pkgconfig policycoreutils-python python-crypto gnutls-devel libattr-devel keyutils-libs-devel libacl-devel libaio-devel libblkid-devel libxml2-devel openldap openldap-devel pam-devel popt-devel python-devel readline-devel zlib-devel systemd-devel setroubleshoot-server setroubleshoot-server setroubleshoot-plugins cups-devel ntp autoconf -y
-------------------------------------------------------------------------------------------------------------------------------------------------------






--https://wiki.samba.org/index.php/Pac...to_Build_Samba


--Instalando o SAMBA:


# cd /usr/src/


# wget https://download.samba.org/pub/samba...a-4.7.4.tar.gz --no-check-certificate


# tar xfvz samba-4.7.4.tar.gz


# cd samba-4.7.4


# ./configure --enable-debug --enable-selftest --with-ads --with-systemd --with-winbind


# make && make install [Aqui pode tirar uns 15 minutos para tomar um cafézinho]
-------------------------------------------------------------------------------------------------------------------------------------------------------






--Atualizar o cache de bibliotecas dinâmicas:


# ldconfig


--Configurar kerberos:


# vi /etc/krb5.conf


-------- editando arquivo ---------
# Configuration snippets may be placed in this directory as well
# includedir /etc/krb5.conf.d/


[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log


[libdefaults]
dns_lookup_realm = false
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
default_realm = REDE.LOCAL
default_tgs_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5
default_tkt_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5
default_ccache_name = KEYRINGersistent:%{uid}


[realms]
REDE.LOCAL = {
kdc = samba.rede.local
admin_server = samba.rede.local
default_domain = rede.local
}


[domain_realm]
.rede.local = REDE.LOCAL
rede.local = REDE.LOCAL
-------------------------------------------------------------------------------------------------------------------------------------------------------






--Criar o link simbólico do comando samba-tool, para evitar o seguinte problema quando o comando abaixo for executado:


# samba-tool domain provision --use-rfc2307 --interactive
-bash: samba-tool: comando não encontrado


# ln -sv /usr/local/samba/bin/samba-tool /bin/


--Configurando o samba como DC:


# samba-tool domain provision --use-rfc2307 --interactive


-------- editando arquivo ---------
Realm [REDE.LOCAL]:REDE.LOCAL
Domain [REDE]:REDE
Server Role (dc, member, standalone) [dc]:dc
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:SAMBA_INTERNAL
DNS forwarder IP address (write 'none' to disable forwarding) [192.168.171.100]: 8.8.8.8
Administrator password:SENHA@23nessepadrao
Retype password:SENHA@23nessepadrao
-------------------------------------------------------------------------------------------------------------------------------------------------------






--Criando serviço do samba:


# vi /etc/systemd/system/samba-dc.service


-------- editando arquivo ---------
[Unit]
Description= Samba 4 Active Directory
After=syslog.target
After=network.target


[Service]
Type=forking
PIDFile=/usr/local/samba/var/run/samba.pid
ExecStart=/usr/local/samba/sbin/samba


[Install]
WantedBy=multi-user.target
-------------------------------------------------------------------------------------------------------------------------------------------------------






--Reiniciar o daemon do SystemD:


# systemctl daemon-reload


--Ativando na inicialização do Sistema e Iniciando o Serviço:


# systemctl enable samba-dc
Created symlink from /etc/systemd/system/multi-user.target.wants/samba-dc.service to /etc/systemd/system/samba-dc.service.


# systemctl start samba-dc


--Verificando status do serviço:


# systemctl status samba-dc


-------- resultado do comando ---------
● samba-dc.service
Loaded: loaded (/etc/systemd/system/samba-dc.service; enabled; vendor preset: disabled)
Active: active (running) since Ter 2018-03-13 22:02:54 -03; 27s ago
Process: 4145 ExecStart=/usr/local/samba/sbin/samba (code=exited, status=0/SUCCESS)
Main PID: 4146 (samba)
CGroup: /system.slice/samba-dc.service
├─4146 /usr/local/samba/sbin/samba
├─4147 /usr/local/samba/sbin/samba
├─4148 /usr/local/samba/sbin/samba
├─4149 /usr/local/samba/sbin/samba
├─4150 /usr/local/samba/sbin/samba
...
-------------------------------------------------------------------------------------------------------------------------------------------------------








--Testando DNS




# host -t SRV _ldap._tcp.rede.local


-------- resultado do comando ---------
_ldap._tcp.rede.local has SRV record 0 100 389 samba.rede.local.
-------------------------------------------------------------------------------------------------------------------------------------------------------




# host -t SRV _kerberos._udp.rede.local


-------- resultado do comando ---------
_kerberos._udp.REDE.LOCAL has SRV record 0 100 88 samba.rede.local.
-------------------------------------------------------------------------------------------------------------------------------------------------------


# host -t A samba.rede.local


-------- resultado do comando ---------
samba.rede.local has address 192.168.xxx.xxx
-------------------------------------------------------------------------------------------------------------------------------------------------------


# nslookup samba.rede.local


-------- resultado do comando ---------
Server: 192.168.xxx.xxx
Address: 192.168.xxx.xxx#53


Name: samba.rede.local
Address: 192.168.xxx.xxx
-------------------------------------------------------------------------------------------------------------------------------------------------------






--Ajustar a permissão para o servidor NTP acessar o socket do Samba:


# chown root:ntp /usr/local/samba/var/lib/ntp_signd/


# systemctl restart ntpd


--Veficando compartilhamento (sysvol e netlogon):


--Para evitar o seguinte problema:


# smbclient -L samba -U%
-bash: smbclient: comando não encontrado


--Criar o link simbólico do comando smbclient:


# ln -sv /usr/local/samba/bin/smbclient /bin/


# smbclient -L container -U%


-------- resultado do comando ---------
Sharename Type Comment
--------- ---- -------
netlogon Disk
sysvol Disk
IPC$ IPC IPC Service (Samba 4.7.4)
Reconnecting with SMB1 for workgroup listing.


Server Comment
--------- -------


Workgroup Master
--------- -------
-------------------------------------------------------------------------------------------------------------------------------------------------------






--Verificando configurações do Samba:


# mkdir /etc/samba


# ln -sv /usr/local/samba/etc/smb.conf /etc/samba/


-------- resultado do comando ---------
“/etc/samba/smb.conf” -> “/usr/local/samba/etc/smb.conf”
-------------------------------------------------------------------------------------------------------------------------------------------------------






--Adicionar novos compartilhamentos:


--Se optar por Perfil móvel, criar a pasta em /usr/local/samba/var/profiles, aponte no arquivo /etc/samba/smb.conf:


# mkdir /usr/local/samba/var/profiles


# chmod -R775 /usr/local/samba/var/profiles


# chown -R root:users /usr/local/samba/var/profiles


--E sete no perfil de usuário do AD através das ferramentas do RSAT, lá no Windows, seguindo o caminho:


Usuário > Propriedades de usuário > Perfil > Caminho do perfil


\\ad\profiles\%USERNAME%






--Criando e setando permissões da Lixeira:


# mkdir /home/lixeira


# chown root:users /home/lixeira


# chmod 775 /home/lixeira -R




--Criando o diretório de compartilhamento:
--(Lembre-se de criar os seus próprios diretórios, como ex: DIRETORIA, RH, TECNICOS, etc)


# mkdir /home/nomepasta


# chmod 775 /home/nomepasta/ -R


# chown root:users /home/nomedapasta/ -R
-------------------------------------------------------------------------------------------------------------------------------------------------------






--Apontar o caminho no smb.conf:


# vi /etc/samba/smb.conf


-------- editando arquivo ---------
# Global parameters
[global]
dns forwarder = 8.8.8.8
netbios name = SAMBA
realm = REDE.LOCAL
server role = active directory domain controller
workgroup = REDE
idmap_ldb:use rfc2307 = yes


[netlogon]
path = /usr/local/samba/var/locks/sysvol/REDE.LOCAL/scripts
read only = No


[sysvol]
path = /usr/local/samba/var/locks/sysvol
read only = No


[profiles]
path = /usr/local/samba/var/profiles
comment = Perfil Movel
read only = No


# AUDITORIA
vfs objects = full_audit
full_audit:sucess = open, opendir, write, rename, mkdir, rmdir, chmod, chown
full_auditrefix = %U|%I|%S
full_audit:failure = none
full_audit:facility = local5
full_auditriority = notice


# LIXEIRA
vfs objects = recycle
recycle:keeptree = yes
recycle:versions = yes
recycle:repository = /home/lixeira/%U
recycle:exclude = *.tmp, *.log, *.obj, ~*.*, *.bak, *.iso
recycle:exclude_dir = tmp, cache


# COMPARTILHAMENTOS
[home]
path = /home
comment = home
read only = No
-------------------------------------------------------------------------------------------------------------------------------------------------------






--Restart samba:


# systemctl restart samba-dc


--Testando autenticação com kerberos:


# kinit administrator@REDE.LOCAL


-------- resultado do comando ---------
Password for administrator@REDE.LOCAL:
Warning: Your password will expire in 41 days on Ter 24 Abr 2018 19:00:04 -03
-------------------------------------------------------------------------------------------------------------------------------------------------------






# klist
-------- resultado do comando ---------
Ticket cache: KEYRINGersistent:0:0
Default principal: administrator@REDE.LOCAL


Valid starting Expires Service principal
13-03-2018 22:26:07 14-03-2018 08:26:07 krbtgt/REDE.LOCAL@REDE.LOCAL
renew until 20-03-2018 22:26:00
-------------------------------------------------------------------------------------------------------------------------------------------------------






-- Se todos os passos foram seguidos corretamente, o servidor deve está funcionando a contento, a partir de agora basta ingressar clientes no domínio.
O Samba 4 possui os protocolos SMB versões 1, 2 e 3, sendo assim, permite qualquer cliente Windows. O SMB v1 é usado no Windows 2000, XP e 2003 Server; v2 pelo Vista e 2008 Server; v2.1 - Windows 7 e 2008 Server R2; v3 pelo Windows 8 e 2012 Server.

Referência : https://under-linux.org/entry.php?b=4764
Retirado em: 04/10/2019