quarta-feira, 19 de dezembro de 2018

Como suspender/hibernar o computador via linha de comando

Como suspender/hibernar o computador via linha de comando


* Dica testada em Debian 9.

Se assim como eu, você detesta ter que aguardar alguns segundos para ligar e desligar o seu computador, saiba que existe um recurso chamado "suspender para a memória RAM". E como funciona?

Seu PC basicamente assume dois estados, ligado e desligado. Quando está ligado, obviamente gasta bastante energia para manter o processador, memória RAM, discos, monitores e periféricos funcionando. Quando está desligado, ele obviamente não gasta energia.

Porém é possível emular mais dois estados, que são o modo suspensão e hibernação.

Modo suspensão

O modo suspensão consiste em gravar o estado atual do PC na memória RAM. Todos os recursos da máquina serão desligados e o PC gastará energia apenas para manter a memória RAM em funcionamento.

Esse modo é a forma mais rápida de desligar/ligar seu PC, mas não é tão econômica quando a hibernação. O processo de desligar/ligar o PC em modo suspensão dura cerca de 3 segundos, é muito rápido.

Para suspender o teu PC/notebook via linha de comando, digite (pode ser como usuário comum):

systemctl suspend

Para ligar o computador basta mexer no mouse ou pressionar qualquer tecla do teclado.

Modo hibernação

O modo hibernação consiste em gravar o estado atual do PC no disco rígido. Todos os recursos da máquina serão desligados, hibernação total.

Não é tão rápido como suspender, porém é mais econômico e seguro. Se você mantiver seu computador suspenso por muito tempo, corre o risco de perder dados na memória RAM, fato que não ocorre no modo hibernação.

Para hibernar teu PC/notebook via linha de comando, digite (pode ser como usuário comum):

systemctl hibernate

Ligue o computador normalmente pelo botão power, ele fará um boot normal de máquina, a diferença é que ao carregar o sistema operacional você voltará ao estado atual de sessão de usuário.

Minha dica é, para períodos mais curtos, como sair para almoçar ou até mesmo dar aquela cochiladinha, use o modo suspensão. Para períodos mais longos, como uma pernoite, use a hibernação.

Bônus

Ao invés de usar o systemctl, é possível instalar o pacote pm-utils para fazer a suspensão/hibernação. O pacote possui uns comandinhos adicionais que não serão abordados nessa dica. Lá vai:

sudo apt install pm-utils

Suspender:

pm-suspend

Hibernar:

pm-hibernate

Comandos adicionais:

man pm-powersave
$ man pm-suspend-hibrid

sábado, 13 de outubro de 2018

APLICANDO KNOCK SOBRE IPTABLES


Knock é um aplicativo mágico que dispara através de uma sequencia enviada por um comando remoto que pode executar tanto um comando como um script pré-configurado para fazer algo no seu sistema (usem a imaginação). 

Neste caso vou guiá-los para ativar ou desativar uma porta 22 no iptables e pra quê??? 

Imagine que você não use o SSH 24 horas por dia, então porque não desativá-lo até mesmo para evitar ataques ou portscaners? 

Debian como exemplo: 

# apt-get install knockd 

Depois de instalado configuraremos 2 arquivos, um para definir qual a interface, infelizmente só da pra fazer com uma. E o segundo para habilitar o que ele faz com qual sequência que você define. 

# vim /etc/default/knockd 

Os dois parâmetros a serem mudados, onde o primeiro deve ficar como 1 pois define Knock ativo, qualquer coisa diferente disso o serviço não sobe e o segundo está eth0, coloque sua placa de rede, caso seja diferente como no Debian 9, que é enp2s0 ou enp1s0. 

START_KNOCKD=1
KNOCKD_OPTS="-i eth0"

Segundo arquivo define o que o knock faz quando você manda uma sequência X para ele: 

# vim /etc/knockd.conf 

[options]
        logfile = /var/log/knockd.log # ARQUIVO DE LOG

[openSSH]
        sequence    = numeros das portas que serão chamadas 
        seq_timeout = 5
        command     = comando para fazer X ou local de um Script
        tcpflags    = syn

[closeSSH]
        sequence    = numeros das portas que serão chamadas
        seq_timeout = 5
        command     = comando para fazer Y ou local de um Script
        tcpflags    = syn

Exemplo 1 - usando comando: 

[options]
        logfile = /var/log/knockd.log

[openSSH]
        sequence    = 1 2 3
        seq_timeout = 5
        command     = iptables -t filter -I INPUT -p tcp --dport 22 -j ACCEPT 
        tcpflags    = syn

[closeSSH]
        sequence    = 3 2 1
        seq_timeout = 5
        command     = iptables -D INPUT 1 # Remove a 1a linha do iptables 
        tcpflags    = syn 

Exemplo 2 - apontando para um script: 

[options]
        logfile = /var/log/knockd.log

[openSSH]
        sequence    = 1 2 3
        seq_timeout = 5
        command     = /sbin/script_habilite_a_porta.sh   
 # Não esquecer de dar permissão no script se for usar um.
        tcpflags    = syn

[closeSSH]
        sequence    = 3 2 1
        seq_timeout = 5
        command     = /sbin/script_desabilite_a_bendita_porta.sh
 # Não esquecer de dar permissão no script se for usar um.
        tcpflags    = syn 

Feito isso reinicie o knockd com o comando: 

# systemctl restart knockd 

ou 

# /etc/init.d/knockd restart 

Após isso, de uma estação com Knock instalado use o comando: 

# knock ip porta porta porta 

Exemplo: 

# knock 192.168.0.1 1 2 3 

Ele deve inserir uma linha no iptables ou fazer algo programado e para desativar a porta 22 use com a outra sequencia que você programou. Lembrando que as portas são selecionáveis e sim, faça MUUUUITOS testes, dá pra iniciar até um backup se tiver um script programado. Bom uso! 

Obs.: você pode escolher quais portas e se serão UDP ou TCP, consulte a documentação. 

segunda-feira, 25 de junho de 2018

Pendrive do Windows (bootável) no Ubuntu Linux

Alguns usuários Linux precisam utilizar o Windows (7, 8, 10), seja devido aos softwares com licença que rodam nessa plataforma, ou devido alguma outra necessidade. Existem algumas alternativas, como utilizar um dual boot, máquinas virtuais, ou utilizar um pendrive bootável.

Utilizaremos o WoeUSB para criar nosso pendrive bootável utilizando o Ubuntu Linux.

O WoeUSB vem do WinUSB, que era uma ferramenta gráfica para Linux que permitia criar pendrives bootáveis para sistemas operacionais Windows, utilizando imagens ISO ou CD/DVD desse sistema operacional.

O WinUSB não vinha recebendo atualizações, então um usuário do GitHub (slacka) criou um fork do programa e o renomeou para WoeUSB, consertando a maioria dos seus erros que existiam, além de atualizar o programa para suportar os wxWidgets 2 e 3.

Para instalar no Ubuntu, abra o terminal e digite os seguintes comandos:

sudo add-apt-repository ppa:nilarimogard/webupd8 -y
$ sudo apt-get update
$ sudo apt-get install woeusb


Agora iremos criar o pendrive bootável.

Primeiro, conecte o pendrive numa porta USB do seu computador.

Agora abra o terminar e digite o seguinte comando para abrir o WoeUSB:

woeusbgui

Já na tela do WoeUSB, informe onde está a imagem ISO do Windows, depois selecione a unidade do pendrive, e finalmente, clique no botão Install.
Linux: Pendrive do Windows (bootável) no Linux Ubuntu
GitHub - slacka/WoeUSB: https://github.com/slacka/WoeUSB

segunda-feira, 23 de abril de 2018

Configurando Zabbix 3.4 no CentOS 7


Iniciando os preparativos para a instalação

Vamos começar desabilitando o firewall que vem por padrão no CentOS 7, visando não termos nenhum contratempo.

Obs.: os comandos abaixo foram todos digitados como usuário root. Eu vou usar o vim como editor, fique a vontade para usar outro editor se achar conveniente.

Digite:

# systemctl stop firewalld

Esse comando irá parar o firewall.

Em seguida remova-o da inicialização:

# chkconfig firewalld off

Vamos desabilitar o SELinux. Edite o arquivo:

# vim /etc/selinux/config

E na linha:

SELINUX=enforcing

mudar para:
SELINUX=permissive

Salvando o arquivo, digite: :wq

Pronto! Agora vamos instalar o banco de dados mariadb:

# yum install mariadb mariadb-devel mariadb-server -y

Com o banco já instalado precisamos criar o banco para o Zabbix, dar permissão ao banco e inicializá-lo. Vamos lá! Primeiro vamos dar um start no banco de dados mariadb:

# systemctl start mariadb

Depois criar sua inicialização no sistema:

# chkconfig mariadb on

Vamos rodar o script de configuração do banco mariadb.

Vamos configurar? Então digite:

# mysql_secure_installation
Vai aparecer a seguinte pergunta:
Pressione enter e digite uma senha para usuário root acessar o banco mariadb.
Confirme a senha: yes
Digite "y" para remover o usuário anonymous do banco de dados mariadb.
Remover login remoto: y
Remove banco test: "y"
Carregar os privilégios: y
Finalizamos as configurações no banco mariadb.

Criando o banco para o Zabbix

Configurando o banco de dados:

# mysql -uroot -p
password: *****

mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
mysql> exit;

Onde:
  • database= zabbix
  • senha do banco: password



Instalando o front-end do zabbix-server

Agora vamos instalar o front-end do Zabbix.

Instalando o repositório da versão mais recente:

# rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

Instalando os pacotes necessários para rodar o front-end:

# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

Agora vamos configurar o banco para o zabbix-server, deixe como abaixo as configurações:

# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=password

Por fim, vamos reiniciar os serviços.

Reiniciando os serviço e habilitando para a sua inicialização:

# systemctl restart zabbix-server zabbix-agent httpd
# systemctl enable zabbix-server zabbix-agent httpd


Importando os schemas para o Zabbix:

Aqui vamos importar todas as tabelas para o banco Zabbix:

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p zabbix

Digite a senha do dono do banco.

Ajustando o Time Zone

Configurando o PHP no Zabbix front end.

Abra com o comando abaixo:

# vim /etc/httpd/conf.d/zabbix.conf
Remova o "#" da linha para ela aparecer.

Observe a linha onde está timezone America/Cuiaba, mude para sua localidade.

Saindo...

:wq

Pronto, configuramos o timezone.

Dê um reboot.

Finalizando as configurações

Digite em um navegador o caminho abaixo:

http://ip-do-servidor/zabbix
Irá aparecer a tela seguinte:
Clique em Next step.
Tudo ok, clique em Next step.
Em password informe a senha que foi criada para o banco Zabbix, lembra? Clique em Next step.
Next step, para continuar.
Configurações feitas.
Configurações concluídas com sucesso.
Entre com o login:

User: Admin
senha: zabbix
Fonte:
https://www.vivaolinux.com.br/artigo/Configurando-Zabbix-34-no-CentOS-7?pagina=3