domingo, 19 de junho de 2022

Issabel Alta Disponibilidade Simples

 

Issabel Alta Disponibilidade Simples

Alta disponibilidade simples - Issabel PBX IP

Descrevo este procedimento como simples pois manterá o serviço de telefonia em alta disponibilidade. Neste procedimento, nãão estão incluidas sincronização dos serviços de banco de dados e apache. Demonstração em: https://youtu.be/QdY_QpnTC0U

Nível de conhecimento necessário: Básico

Tecnologias aplicadas: Corosync, Pacemaker, PCS

Hostnames/IPs configurados:

Servidor Primário: issabelha1/eth0 192.168.1.77

Servidor Secundário: issabelha2/eth0 192.168.1.88

IP flutuante (floating) - 192.168.1.99

Passo a passo:

  • Atualizar ambos servidores através do comando:

[root@issabelha1]# yum update -y

[root@issabelha2]# yum update -y

  • Instalar pacotes necessários em ambos servidores

[root@issabelha1]# yum -y install uuid-c++ uuid-c++-devel libuuid-devel
jansson-devel gmime gmime-devel gsm gsm-devel ilbc ilbc-devel speex
speex-devel libogg libogg-devel libvorbis libsrtp libsrtp-devel
libvorbis-devel

[root@issabelha2]# yum -y install uuid-c++ uuid-c++-devel libuuid-devel
jansson-devel gmime gmime-devel gsm gsm-devel ilbc ilbc-devel speex
speex-devel libogg libogg-devel libvorbis libsrtp libsrtp-devel
libvorbis-devel

  • Editar o arquivo /etc/hosts em ambos servidores, adicionando as seguintes linhas (substituir nome/endereço IP de acordo com sua instalação):

192.168.1.77 issabelha1

192.168.1.88 issabelha2

  • Editar o arquivo /etc/hostname em ambos servidores com seu respectivo nome (issabelha1/issabelha2)

  • Instalar os pacotes corosync, pacemaker, pcs em ambos servidores

[root@issabelha1]# yum -y install corosync pacemaker pcs

[root@issabelha2]# yum -y install corosync pacemaker pcs

  • Iniciar o daemon pcs em ambos servidores

[root@issabelha1]# systemctl start pcsd

[root@issabelha2]# systemctl start pcsd

  • Configure (e guarde em local seguro) uma senha para o serviço em ambos servidores

[root@issabelha1]# passwd hacluster

[root@issabelha2]# passwd hacluster

  • No servidor Primário, crie o cluster

[root@issabelha1]# pcs cluster auth issabelha1 issabelha2

Neste passo, será necessário informar usuário e senha criados:

user: hacluster

pass: senha_criada_acima

  • Configuramos o cluster, ainda no servidor Primário

[root@issabelha1]# pcs cluster setup --name cluster-asterisk issabelha1 issabelha2

  • Iniciar os serviços pacemaker e corosync em ambos servidores

[root@issabelha1]# systemctl start pacemaker

[root@issabelha1]# systemctl start corosync

[root@issabelha2]# systemctl start pacemaker

[root@issabelha2]# systemctl start corosync

  • Iniciar o serviço no servidor Primário

[root@issabelha1]# pcs cluster start --all

  • Desabilitar STONITH ainda no servidor Primário*

[root@issabelha1]# pcs property set stonith-enabled=false

  • Configurar para ignorar politicas de no-quorum no servidor Primário

[root@issabelha1]# pcs property set no-quorum-policy=ignore

  • Criar IP flutuante no servidor Primário (substituir endereço 192.168.1.99 e nic de acordo com seu cenário)

[root@issabelha1]# pcs resource create virtual_ip ocf:heartbeat:IPaddr2
ip=192.168.1.99 cidr_netmask=32 nic=eth0 op monitor interval=30s on-fail=restart

  • Instalar recurso asterisk heartbeat em ambos servidores

[root@issabelha1]# cd /usr/lib/ocf/resource.d/heartbeat;
wget https://raw.githubusercontent.com/ClusterLabs/resource-agents\ /master/heartbeat/asterisk;

  • Modificar permissionamento do recurso no servidor Primário chmod 755 asterisk

[root@issabelha2]# cd /usr/lib/ocf/resource.d/heartbeat;
wget https://raw.githubusercontent.com/ClusterLabs/resource-agents/\ master/heartbeat/asterisk;

-Modificar permissionamento do recurso no servidor Secundário

chmod 755 asterisk

  • Criar recurso asterisk no servidor Primário

[root@issabelha1]# pcs resource create asterisk ocf:heartbeat:asterisk
user="root" group="asterisk" op monitor timeout="30"

  • Agregar o IP flutuante ao recurso asterisk no servidor Primário

[root@issabelha1]# pcs constraint colocation add asterisk with virtual_ip
score=INFINITY

  • Ordenar o IP flutuante para que seja carregado antes do recurso asterisk no servidor Primário

[root@issabelha1]# pcs constraint order virtual_ip then asterisk

  • Automatizar o carregamento dos recursos, no servidor Primário

[root@issabelha1]# pcs resource defaults resource-stickiness="0"

  • Habilitar o carregamento dos serviços na inicialização de ambos servidores

[root@issabelha1]# systemctl enable pcsd

[root@issabelha1]# systemctl enable corosync

[root@issabelha1]# systemctl enable pacemaker

[root@issabelha2]# systemctl enable pcsd

[root@issabelha2]# systemctl enable corosync

[root@issabelha2]# systemctl enable pacemaker


Fonte:

https://gitlab.com/smarkson/fcsl/-/wikis/Issabel---Alta-Disponibilidade-Simples

https://www.youtube.com/watch?v=QdY_QpnTC0U

sexta-feira, 3 de junho de 2022

Instalação GLPI 9

 https://relatosti.com.br/2020/08/a-extensao-ldap-imapapcu-xmlpcmysqlicurlgd-nao-esta-presente-faltando-do-glpi/

 https://linuxways.net/debian/how-to-install-lamp-server-on-debian-11/

 

 https://verdanadesk.com/como-instalar-glpi-9-5/

 

 https://glpi-project.org/glpi-9-1-4-available/

 https://github.com/glpi-project/glpi/releases/download/9.1.4/glpi-9.1.4.tgz

 

terça-feira, 31 de maio de 2022

vnc server linux mint

 This tutorial was adapted from here.


1. Remove the default Vino server:

sudo apt-get -y remove vino

2. Install x11vnc:

sudo apt-get -y install x11vnc

3. Create the directory for the password file:

sudo mkdir /etc/x11vnc

4. Create the encrypted password file:

sudo x11vnc --storepasswd /etc/x11vnc/vncpwd

You will be asked to enter and verify the password.  Then press Y to save the password file.

5. Create the systemd service file for the x11vnc service:

sudo xed /lib/systemd/system/x11vnc.service

Copy/Paste this code into the empty file:

[Unit]

Description=Start x11vnc at startup.

After=multi-user.target

[Service]

Type=simple

ExecStart=/usr/bin/x11vnc -auth guess -forever -noxdamage -repeat -rfbauth /etc/x11vnc/vncpwd -rfbport 5900 -shared

[Install]

WantedBy=multi-user.target

6: Reload the services:

sudo systemctl daemon-reload

7. Enable the x11vnc service at boot time:

sudo systemctl enable x11vnc.service

8. Start the service:

Either reboot or

sudo systemctl start x11vnc.service

quarta-feira, 25 de maio de 2022

Clone HD com DD e converter para vmdk

Clone

dd if=/dev/sdc of=/cygdrive/d/diskimage.img

 dd if=/dev/sda of=/dev/sdb bs=1024k status=progress

 

 qemu-img.exe convert -O vmdk h:\diskimage.img h:\locaweb.vmdk

 

 

 VBoxManage.exe convertfromraw h:\diskimage.img d:\debian11locaweb.vmdk --format VMDK

segunda-feira, 6 de abril de 2020

VSFTP no Ubuntu - Instalação e Configuração


Configurar um servidor FTP no Ubuntu e criar um usuário para acesso. Tomarei como base que você já conhece os comandos básicos do Ubuntu.

 sudo apt-get update
 sudo apt-get install vsftpd

Fazer backup do arquivo original de configuração:

 sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
 sudo ufw allow 20/tcp
 sudo ufw allow 21/tcp

Com isso, está instalado o servidor de FTP, você precisará liberar a porta 20, 21 e direcionar para o servidor (essas são as portas padrões, recomenda-se mudar).

CRIAR USUÁRIO DE ACESSO

Crie o usuário, após esse comando será solicitada a nova senha desse usuário:

 sudo adduser usuario_acesso

Crie a pasta "ftp" que será usada para esse usuário:

 sudo mkdir /home/usuario_acesso/ftp

Crie o diretório onde serão gravados os arquivos desse usuário:

 sudo mkdir /home/usuario_acesso/ftp/files
 sudo chown nobody:nogroup /home/usuario_acesso/ftp
 sudo chmod a-w /home/usuario_acesso/ftp
 sudo ls -la /home/usuario_acesso/ftp

Defina o usuário como dono do diretório:

 sudo chown usuario_acesso:usuario_acesso /home/usuario_acesso/ftp/files

Criar um arquivo de teste dentro do diretório:

 echo "vsftpd test file" | sudo tee /home/usuario_acesso/ftp/files/test.txt

Apague o arquivo de configuração padrão (lembrando que fizemos backup dele):

 sudo rm /etc/vsftpd.conf

Crie um novo arquivo de configuração usando seu editor de texto preferido, no meu caso é o Vi:

 sudo vi /etc/vsftpd.conf

Coloque este conteúdo dentro do arquivo:

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
force_dot_files=YES
allow_writeable_chroot=YES

Adicione o usuário na lista de usuários permitidos:

 echo "usuario_acesso" | sudo tee -a /etc/vsftpd.userlist

Restart no serviço do FTP:

 sudo systemctl restart vsftpd

Após isso, seu servidor está no ar, apenas testar a conexão.

sexta-feira, 29 de novembro de 2019

RapidScan - Multi-Tool WEB Vulnerability Scanner



Introdução

Para que serve?

Scanner Multi-tool para checagem de 80 testes, que incluem:
  • DNS/HTTP Load Balancers & Web Application Firewalls.
  • Checks for Joomla, WordPress and Drupal
  • SSL related Vulnerabilities (HEARTBLEED, FREAK, POODLE, CCS Injection, LOGJAM, OCSP Stapling).
  • Commonly Opened Ports.
  • DNS Zone Transfers using multiple tools (Fierce, DNSWalk, DNSRecon, DNSEnum).
  • Sub-Domains Brute Forcing.
  • Open Directory/File Brute Forcing.
  • Shallow XSS, SQLi and BSQLi Banners.
  • Slow-Loris DoS Attack, LFI (Local File Inclusion), RFI (Remote File Inclusion) & RCE (Remote Code Execution).

Pré-requisitos

  • Python 2.7.
  • Qualquer SO que suporte o Python

Faça download e instalação com o seguinte comando:

wget -O rapidscan.py https://raw.githubusercontent.com/skavngr/rapidscan/master/rapidscan.py && chmod +x rapidscan.py

Utilização e Lista de Comandos

Realiza um scan do destino:

./rapidscan.py exemplo.com

Atualiza para a última versão:

./rapidscan.py --update

Menu de ajuda:

./rapidscan.py --help

Exemplo de comando

Dentro da pasta do "rapidscan", execute:

./rapidscan.py google.com

...e aguarde o script concluir a tarefa.

Observações:
  • Ctrl+c: ele pula (skip) a task.
  • Ctrl+z: ele para o script.

Telas

Considerações Finais

Fonte: 
 

quarta-feira, 23 de outubro de 2019

Instalando Samba 4 com Domínio no CentOS 7

Introdução

Configuração

Instale o repositório EPEL mais atualizado possível:

# rpm -ivh http://mirror.globo.com/epel/7/x86_64/e/epel-release-7-10.noarch.rpm

Atualize o sistema:

# yum -y update

Instale os pacotes necessários do sistema:

# yum -y install wget vim net-tools open-vm-tools
# yum -y groupinstall 'Development Tools'

Configuração do nome da máquina:

# vim /etc/hostname

nomedamaquina

Configurando o sysconfig/network:

# vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=nomedamaquina

Desabilitando o SElinux e IPtables

Para não complicar muito as coisas nesse momento e como estamos fazendo em um ambiente de controle e de teste, vamos desabilitar o SELinux e o Firewall.

# vim /etc/selinux/config

SELINUX=disabled

# systemctl stop firewalld
# systemctl disable firewalld

Reinicie a máquina:

# init 6

Preparando para a instalação do Samba4

Nesta seção, iremos preparar o ambiente para que o Samba4 seja instalado como controle de configuração do CentOS 7. Instale o repositório EPEL, mais atualizado possível:

# rpm -ivh http://mirror.globo.com/epel/7/x86_64/e/epel-release-7-10.noarch.rpm

Atualize o sistema:

# yum -y update

Instale os pacotes necessários do sistema:

# yum -y install wget vim net-tools open-vm-tools
# yum -y groupinstall 'Development Tools'

Configuração do nome da máquina:

# vim /etc/hostname

nomedamaquina

Configurando o sysconfig/network:

# vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=nomedamaquina

Para não complicar muito as coisas nesse momento e como estamos fazendo em um ambiente controla e de teste, vamos desabilitar o SELinux e o Firewall.

# vim /etc/selinux/config

SELINUX=disabled

# systemctl stop firewalld
# systemctl disable firewalld

Reinicie a máquina:

# init 6

O CentOS 7 não possui todos os pacotes necessários para compilação do Samba4 com suporte a Active Directory, por isso devemos baixar os pacotes.

Instalando pacotes necessários para a instalação do Samba4:

# yum install -y openldap-devel pam-devel git gcc make wget libacl-devel libblkid-devel gnutls-devel readline-devel python-devel cups-devel libaio-devel quota-devel ctdb-devel krb5-devel krb5-workstation acl setroubleshoot-server setroubleshoot-plugins policycoreutils-python libsemanage-python setools-libs-python setools-libs popt-devel libpcap-devel libidn-devel libxml2-devel libacl-devel libsepol-devel libattr-devel keyutils-libs-devel cyrus-sasl-devel cups-devel bind-utils bind-sdb bind-devel bind-libs bind avahi-devel mingw32-iconv gamin libcap-devel rpc2-devel glusterfs-devel python-dns pkgconfig gdb e2fsprogs-devel zlib-devel sqlite-devel perl attr acl krb5-user ntp bind bind-sdb 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-devel pam-devel popt-devel python-devel readline-devel zlib-devel systemd-devel tdb-tools

Configurando o arquivo "hosts":

# vim /etc/hosts

192.168.40.70 inf.infstorage.local inf

Configurando "fstab":

# vim /etc/fstab

defaults,acl,user_xattr

# mount -o remount /

Configurando NTP

O NTP (Network Time Protocol) é um protocolo de rede baseado no TCP/IP. Ele é usado para sincronizar o relógio dos computadores conectados a uma rede de dados de maneira precisa. A real necessidade disso é superar aos problemas causados pela latência, os quais colocam quaisquer registros sob desconfiança.

# vim /etc/ntp.conf

server a.ntp.br
server b.ntp.br
server c.ntp.br
server a.st1.ntp.br
server b.st1.ntp.br
server c.st1.ntp.br

# systemctl enable ntpd
# systemctl restart ntpd

Baixando o pacote do Samba4:

wget https://download.samba.org/pub/samba/stable/samba-4.8.2.tar.gz

Configurando o "resolv.conf":

# vim /etc/resolv.conf

search infstorage.local
domain infstorage.local
nameserver 127.0.0.1

Configurando o krb5.conf

Kerberos é um protocolo desenvolvido para fornecer poderosa autenticação em aplicações usuário/servidor, onde ele funciona como a terceira parte neste processo, oferendo autenticação ao usuário.

# mv /etc/krb5.conf /etc/krb5.conf.old
# vim /etc/krb5.conf

[libdefaults]
        default_realm = INFSTORAGE.LOCAL
        dns_lookup_realm = false
        dns_lookup_kdc = true

Extraindo e copilando o pacote:

# tar zxvf samba-4.8.2.tar.gz
# cd samba-4.8.2
# ./configure
# make
# make install

Provisionando o Samba4

Provisionamento do domínio em que serão utilizadas ferramentas automatizadas do próprio Samba para preparar nosso servidor como controlador do domínio. A principal ferramenta é o comando "samba-tool", que serve como frontend responsável por manipular o OpenLDAP.

# /usr/local/samba/bin/samba-tool domain provision --use-rfc2307 -interactive
Realm [INFSTORAGE.LOCAL]
Domain [INFSTORGE]:
Server Role (dc, member, standalone) [dc]:
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: BIND9_DLZ
Administrator password:
Retype password:


Verificar se o Samba subiu normalmente:

# /usr/local/samba/sbin/samba
# ps uax | grep samba

Script de inicialização do Samba4

Para que o Unit baseado no Systemd seja integrado ao servidor, possibilitando assim, o controle dos processos relativos aos serviços, bem como na inicialização do sistema e o Samba possa subir automaticamente.

# vim /etc/systemd/system/samba.service

[Unit]
Description=Samba AD Daemon
After=syslog.target network.target
[Service]
Type=forking
NotifyAccess=all
PIDFile=/usr/local/samba/var/run/samba.pid
LimitNOFILE=16384
EnvironmentFile=-/etc/sysconfig/samba
ExecStart=/usr/local/samba/sbin/samba -D
ExecReload=/usr/bin/kill -HUP $MAINPID
ExecStop=/usr/bin/killall samba
Restart=on-failure
[Install]
WantedBy=multi-user.target

Configurando o DNS

Um Active Directory funcional baseia-se fortemente em um DNS funcional. Não é apenas para resolver endereços IP em nomes e vice-versa. Os clientes encontram seus controladores de domínio e outros serviços importantes do AD por meio de consultas DNS, isso significa que seus clientes devem usar seus controladores de domínio como seus servidores de nomes.

Acessando o "named.conf", altere ou insira:

# vim /etc/named.conf

options{
   tkey-gssapi-keytab "/usr/local/samba/private/dns.keytab";
      listen-on port 53 { 127.0.0.1; 192.168.40.70;};
      forwarders {
                200.175.182.139;
                8.8.8.8;
        };
}

include "/usr/local/samba/bind-dns/named.conf";
zone "70.168.192.in-addr.arpa" {
    type master;
    file "/var/named/192.168.70.rev";
    allow-update {
     none;
        };
                };

Verificar a versão do "named":

# named -v
# vim /usr/local/samba/bind-dns/named.conf

Retire a opção # da versão do named.

Reinicie o "named":

# systemctl restart named

Testando o Samba4:

# host -t SRV _ldap._tcp.infstorage.local.
# host -t SRV _kerberos._udp. infstorage.local.
# host -t A infstorage.local

Gerando chave do Kerberos:

# kinit administrator

Verificando a chave:

# klist -e

Atualizando o DNS:

# /usr/local/samba/sbin/samba_dnsupdate –verbose

Referências