Instalando o NetData em seu servidor Debian

O NetData é um sistema distribuído para monitoramento de performance de servidores em realtime. Você consegue ter uma visão geral através de um dashboard com gráficos e métricas do sistema em questão tudo em tempo real.

O link do projeto é:
https://github.com/firehol/netdata

Instalação
A forma mais simples de instalação do Netdata é através do script de instalação. Abra o terminal da sua distribuição e execute os seguintes comandos abaixo:

bash <(curl -Ss https://my-netdata.io/kickstart.sh)


Screenshot do Netdata em funcionamento:

 

Trocando a porta de envio SMTP no Plesk

Olá pessoal, este post irei mostrar como alterar a porta padrão do servidor de envio do Plesk que vêm configurada para porta 25 que é bloqueada pela maioria dos servidores de e-mail para a porta 587.

A alteração é feita através da linha de comando de uma forma bem simples. Basta executar a linha abaixo

# /usr/local/psa/bin/mailserver –set-message-submission true

Com isto o smtp já estará setado para a porta 587

Fazendo o NGINX voar com NGX_PageSpeed

O NGINX ( Engine X ) é sem dúvida um dos web servers mais optimizados em termos de velocidade de entrega de conteúdo. O módulo NGX PageSpeed dá um gás ainda maior na entrega de conteúdo no web server. Neste artigo irei exemplificar como fazer a instalação do NGX PageSpeed no NGINX.

Principais funcionalidades
HTTPS support with URL control.
Image optimization: stripping meta-data, dynamic resizing, recompression.
CSS and JavaScript minification, concatenation, inlining, and outlining.
Small resource inlining.
Deferring image and JavaScript loading.
HTML rewriting.
Cache lifetime extension.
Allows configuring for multiple servers and many others.

Instalação
Estarei utilizando o Debian 9 para instalar o NGX PageSpeed rodando com um NGIX 1.10.1

Continue reading

CPUStat – Monitoranto utilização de CPU por processo no Linux

O CPUStat é uma ferramenta poderosa de monitoramento de processos de CPU no Linux que foi escrito em GO.

Instalação
A instalação dele é feito através do GO. Execute o seguinte comando abaixo:

# go get github.com/uber-common/cpustat

Utilização
O CPUStat precisa de permissão de super usuário para rodar. Sendo assim utilize o SUDO ouu o próprio root para executar.
Continue reading

Utilizando o INXI no sistema Linux ( monitorando um Linux System de forma inteligente )

O INXI é uma ferramenta poderosa que funciona via CLI baseado em scripts. Ele traz informações sobre hardware de uma forma muito prática basta que você entenda as flags de comando disponíveis no script.

Instalação
A instalação é muito simples estou colocando no exemplo abaixo as opções de acordo com a distro que esteja utilizando:

$ sudo apt-get install inxi   [On Debian/Ubuntu/Linux Mint]
$ sudo yum install inxi       [On CentOs/RHEL/Fedora]
$ sudo dnf install inxi       [On Fedora 22+]

Dependências
Como ele é um script há necessidade de instalação das bibliotecas e ferramentas auxíliares. Para descobrir quais são estas ferramentas você consegue descobrir com o comando:
Continue reading

Como usar o rTop no Linux

O rTop é uma ferramenta bem interessante para fazer monitoramento de instâncias ou máquinas que funcionam através de uma conexão SSH.
Neste post irei exemplificar como utilizar o rTop para monitorar um servidor dedicado remoto. A utilização dele é muito simples então não cabe uma post tão longo a respeito.

Se você está utilizando um servidor Debian assim como eu poderá encontrar o rtop nos repositórios do Debian e também no Ubuntu. A instalação é simples

apt-get install rtop

  • Importante
    Como o rTop utiliza um túnel pelo SSH é importante que você copie o conteúdo do seu id_rsa.pub para dentro do arquivo authorized_keys na máquina remota. Isto irá possibilitar a credencial por chave rsa sem a necessidade de login e senha.Utilizando o rTop

    O rTop não requer flags de comando para funcionar, sendo assim basta executar o comando abaixo e voialá.

    $GOBIN/rtop   jaccon@192.168.0.1

    A saída deste comando deverá ser algo como:

Baixando sites inteiros com Wget

Eu estou preparando um script em Python para facilitar o que já é fácil mas vamos lá. A ideia aqui é muito simples imagine que precisamos baixar o conteúdo inteiro de um site. Na internet há diversos softwares que fazem isto utilizando curl mas vamos ser práticos, o Wget dá conta do recado.

Abra o terminal e utilize o comando:
wget -r -p -U Mozilla http://www.stupidsite.com/restricedplace.html

As flags de comando é o que irá fazer a diferença a utilização do Wget. Simples não ?

Criador do Debian Ian Murdock morre aos 42 anos

Ian Murdock criador do Debian a distribuição mais customizada pelas comunidades em todos os tempos morreu nesta noite de segunda-feira aos 42 anos de idade. As causas da morte ainda não foram divulgadas pela polícia da Flórida mas há suspeitas de que ele teria se matado. A conta do Twitter dele foi deletada mas é possível pegar os cache do Google no qual ele sita que iria se matar.

Isto é uma perda gigante visto que Ian criou uma das distribuições mais importantes para usuários e administradores de sistemas.

Descanse em paz Ian muito obrigado por suas contribuições.

Como invadir o Grub2 no Linux apenas com o Backspace ?

Os engenheiros Hector Marco e Ismael Ripoll do grupo de cybersegurança da universidade de Valencia descobriram um exploit que pode ser aplicado nas versão 1.98 do Grub2 que quando adicionado uma senha da inicialização e pressionado o backspace 28 vezes sequêncialmente no prompt do username o shell de recuperação é liberado e o usuário pode instalar um rootkit ou malware no sistema. A Canonical, Red Hat e Debian já disponibilizaram em seus sites as correções para este bug.

Veja na integra:
http://hmarco.org/bugs/CVE-2015-8370-Grub2-authentication-bypass.html#exploit

Permissões de arquivos utilizando getfacl e setfacl

Nos exemplos abaixo irei mostrar como utilizar os comandos getfacl e setfacl para controlar acls de permissões no Linux / Samba:

admin@localhost ~]$ getfacl teste.txt
# file: teste.txt
# owner: admin
# group: admin
user::rw-
group::rw-
other::r–

Agora vamos atribuir poderes para o usuario sidon
[admin@localhost ~]$ setfacl -m user:Sidon:rw teste.txt

Vamos ver o que nos mostra getfacl:

[admin@localhost ~]$ getfacl teste.txt
# file: teste.txt
# owner: admin
# group: admin
user::rw-
user:Sidon:rw-
group::rw-
mask::rw-
other::r–

Tirando a leitura de “other”
[root@localhost admin]# setfacl -m o:— teste.txt

O lque mostra getfacl:
[root@localhost admin]# getfacl teste.txt
# file: teste.txt
# owner: admin
# group: admin
user::rw-
user:Sidon:rw-
group::rw-
mask::rw-
other::—

Importante:
Para funcionar samba, inclua no smb.conf:

#acls
map acl inherit = yes
inherit acl = yes
inherit permissions = yes

Como dar um bypass na autênticação do iTunes no Squid

Se você utiliza o Squid para fazer o controle de acesso e precisa atualizar aplicativos via iTunes liberar as seguintes urls em suas rules do Squid:

*.apple.com
*.verisign.com
itunes.apple.com
albert.apple.com
gs.apple.com
phobos.apple.com
a1.phobos.apple.com
deimos3.apple.com
ax.itunes.apple.com
metrics.apple.com
ax.phobos.apple.com.edgesuite.net
ax.init.itunes.apple.com
my.itunes.apple.com
*.woopra.com
c12850432.mgr.gcsp.cddbp.net
*.mzstatic.com

Redirecionando portas diferentes para ips diferentes usando NAT

Imagens que você têm um IP fixo e possui diversas aplicações na rede interna com portas e ips diferentes. A solução neste caso é criar uma porta para acessar cada ip:porta na rede local.

Um exemplo disto pode ser visto abaixo:

iptables -t nat -A PREROUTING -d 8.8.8.8 -p tcp --dport 555 -j DNAT --to-destination 10.0.0.1:554

Neste caso imagine que o ip 8.8.8.8 seja seu ip fixo e 10.0.0.1 seja o ip da rede local. Precisamos fazer os seguintes redirecionamentos:

10.0.0.1:554
10.0.0.2:554
10.0.0.3:554

com isto as regras que iremos utilizar são:

iptables -t nat -A PREROUTING -d 8.8.8.8 -p tcp --dport 555 -j DNAT --to-destination 10.0.0.1:554
iptables -t nat -A PREROUTING -d 8.8.8.8 -p tcp --dport 556 -j DNAT --to-destination 10.0.0.2:554
iptables -t nat -A PREROUTING -d 8.8.8.8 -p tcp --dport 557 -j DNAT --to-destination 10.0.0.3:554

Simples não!

Resolvendo problema de conexões perdidas no RSYNC

Uma forma de resolver o problema de broken connections com o Rsync sobre o SSH é utilizando um algoritmo para reconectar e verificar o conteúdo após a reconexão.

O algoritmo é simples e pode ser implementado diretamente no shell script. Um modelo de template está abaixo:

#!/bin/bash
# validate ssh connection
# @jaccon

while [ 1 ]
do
rsync -Cravz --progress --delete-excluded -e "ssh -p 2222" tambord@bluesystems.com.br:/home1/tambord/public_html/ /volumes/sdc/temp/hostgator/
if [ "$?" = "0" ] ; then
echo "rsync completed normally"
exit
else
echo "rsync failure. Retrying in a minute..."
sleep 60
fi
done

Configurando servidor Bind9 no Ubuntu Server

A ideia aqui é bem simples, configurar um servidor Bind9 para fazer cache se forward de conexões e ainda configurar algumas zonas internas para uma intranet.
Neste exemplo utilizaremos um uma máquina com Ubuntu 14 e Bind9 para fazer o trabalho de servidor de DNS. Criaremos as zonas firewall.bluesystems, fileserver.bluesystems e intranet.bluesystems como zonas de exemplo.

Hardware
Intel Core 2 Duo
2 GB RAM
SSD 120 GB

Softwares
Ubuntu 14.0.4
Bind9
Continue reading

Desabilitando SELinux no CentOS 6.6

Para desabilitar o SELinux no CentOS 6.6 é muito simples. Edite o arquivo /etc/selinux/config e procure pela linha:

SELINUX=permissive

altere para

SELINUX=disabled

Feito isto reiniciei o seu servidor e estará tudo pronto.

Script de inicialização do Oracle 11G para CentOS 6.6 /etc/init.d/oracle

Para quem precisar segue um exemplo de script de inicialização do Oracle 11G para CentOS 6.6 ( /etc/init.d/oracle )

 

 

#!/bin/sh
#
# /etc/rc.d/init.d/oracle
# Description: Starts and stops the Oracle database and listeners
# See how we were called.
case "$1" in
start)
echo -n "Starting Oracle Databases: "
echo "----------------------------------------------------" >> /var/log/oracle
date +"! %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
echo "----------------------------------------------------" >> /var/log/oracle
su - oracle -c dbstart >> /var/log/oracle
echo "Done."
echo -n "Starting Oracle Listeners: "
su - oracle -c "lsnrctl start" >> /var/log/oracle
echo "Done."
echo ""
echo "----------------------------------------------------" >> /var/log/oracle
date +"! %T %a %D : Finished." >> /var/log/oracle
echo "----------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
stop)
echo -n "Shutting Down Oracle Listeners: "
echo "----------------------------------------------------" >> /var/log/oracle
date +"! %T %a %D : Shutting Down Oracle Databases as part of system down." >> /var/log/oracle
echo "----------------------------------------------------" >> /var/log/oracle
su - oracle -c "lsnrctl stop" >> /var/log/oracle
echo "Done."
rm -f /var/lock/subsys/oracle
echo -n "Shutting Down Oracle Databases: "
su - oracle -c dbshut >> /var/log/oracle
echo "Done."
echo ""
echo "----------------------------------------------------" >> /var/log/oracle
date +"! %T %a %D : Finished." >> /var/log/oracle
echo "----------------------------------------------------" >> /var/log/oracle
;;
restart)
echo -n "Restarting Oracle Databases: "
echo "----------------------------------------------------" >> /var/log/oracle
date +"! %T %a %D : Restarting Oracle Databases as part of system up." >> /var/log/oracle
echo "----------------------------------------------------" >> /var/log/oracle
su - oracle -c dbstop >> /var/log/oracle
su - oracle -c dbstart >> /var/log/oracle
echo "Done."
echo -n "Restarting Oracle Listeners: "
su - oracle -c "lsnrctl stop" >> /var/log/oracle
su - oracle -c "lsnrctl start" >> /var/log/oracle
echo "Done."
echo ""
echo "----------------------------------------------------" >> /var/log/oracle
date +"! %T %a %D : Finished." >> /var/log/oracle
echo "----------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
*)
echo "Usage: oracle {start|stop|restart}"
exit 1
esac