terça-feira, 23 de agosto de 2016

Linux Acessarndo a interface gráfica do VPS via VNC

http://fatorbinario.com/linux-acessando-a-interface-grafica-do-vps-via-vnc/

terça-feira, 21 de junho de 2016

Auditando o Hardening e Segurança do Linux com Lynis

Fonte: http://www.nanoshots.com.br/2015/12/auditando-o-hardening-e-seguranca-do.html

Auditando o Hardening e Segurança do Linux com Lynis

  


Uma das maiores preocupações dos administradores de sistemas é sem duvida a segurança das aplicações e serviços que ele é responsável por manter no ar. A segurança a nível de ambiente e servidor é quase tão importante do que a nível de aplicação e programação. Existem várias formas de fazer auditorias nos seus servidores em ambientes de stage e produção, porém muitos deles são executados a nível Gray/Black hat na visão do Hacker ou Pentester, porém existem alguns recursos que nos permitem fazer auditorias White Box em nossos ambientes, e um dos meus favoritos é o Lynis.
O Lynis é uma ferramenta Open Source de auditoria de servidores Linux que avalia desde permissões de arquivos e pastas do sistema, encriptação de dados, gestão de inicialização, processos correntes, sistemas de autenticação, usuários, grupos,  Kernel, CPU e memória até frameworks de segurança como SELINUX, e além de apontar brechas e possíveis melhorias, ele te da um relatório de sugestões de hardening para o sistema.

Baixando o Lynis

 # cd /opt/  
 # wget https://cisofy.com/files/lynis-2.1.1.tar.gz  
 # tar xvf lynis-2.1.1.tar.gz  
 # cd lynis/  


Menu de Ajuda

O Lynis é bem rico em módulos e opções de teste, podemos ver todos executando o mesmo sem nenhum parâmetro como argumento:

 # ./lynis  
 root@foxnotdti202:/opt/lynis# ./lynis   
   
 [ Lynis 2.1.1 ]  
   
 ################################################################################  
  Lynis comes with ABSOLUTELY NO WARRANTY. This is free software, and you are  
  welcome to redistribute it under the terms of the GNU General Public License.  
  See the LICENSE file for details about using this software.  
   
  Copyright 2007-2015 - CISOfy, https://cisofy.com  
  Enterprise support and plugins available via CISOfy  
 ################################################################################  
   
 [+] Initializing program  
 ------------------------------------  
   
  Usage: lynis [options] mode  
   
   
  Mode:  
   
   audit  
     audit system         : Perform security scan  
     audit dockerfile     : Analyze Dockerfile  
   
   update  
     update info          : Show update details  
     update release        : Update Lynis release  
   
   
  Scan options:  
   --auditor ""      : Auditor name  
   --dump-options        : See all available options  
   --no-log           : Don't create a log file  
   --pentest           : Non-privileged scan (useful for pentest)  
   --profile       : Scan the system with the given profile file  
   --quick (-Q)         : Quick mode, don't wait for user input  
   --tests ""       : Run only tests defined by   
   --tests-category "" : Run only tests defined by   
   
  Layout options:  
   --no-colors          : Don't use colors in output  
   --quiet (-q)         : No output, except warnings  
   --reverse-colors       : Optimize color display for light backgrounds  
   
  Misc options:  
   --debug            : Debug logging to screen  
   --view-manpage (--man)    : View man page  
   --version (-V)        : Display version number and quit  
   
  Enterprise options:  
   --plugin-dir ""     : Define path of available plugins  
   --upload           : Upload data to central node  
   
   
  Error: No scanning mode specified!  
  See man page and documentation for all available options.  
   
 Exiting..  
   


Fazendo uma varredura simples

 # ./lynis --check-all -Q  


Utilizando o módulo Pentest para verificar o hardening e escalação de privilégios do sistema


É o Lynis possui um template muito interessante que se chama Pentest. O mesmo avalia o mesmo que o check all mas sem privilégios de admin, buscando por informações expostas e formas de escalação de privilégios no sistema

 # ./lynis --pentest  




:)

domingo, 1 de maio de 2016

Netdata – Monitore o Servidor em Tempo Real

Netdata – Monitore o Servidor em Tempo Real

Com o Netdata você pode realizar o monitoramento de desempenho do servidor em tempo real, ele trás uma grande variedade de informações do servidor e de forma dinâmica atualiza os dados em sua tela, uma ótima solução para que você possa realizar o monitoramento de ambientes críticos.
Esta dica foi enviada por: Alex Paulo Laner
01 Passo
Instale os pacotes a seguir
root@100security:/# apt-get install zlib1g-dev gcc make git autoconf autogen automake pkg-config
netdata01
02 Passo
Realize o download no netdata, entre no diretório e execute o script de instalação.
root@100security:/# git clonehttps://github.com/firehol/netdata
root@100security:/# cd netdata/
root@100security:/netdata# ./netdata-installer.sh
netdata02
03 Passo
Pressione a tecla  para prosseguir com a instalação.
netdata03
netdata04
04 Passo
Realize o acesso do netdata através do endereço: http://:19999
netdata05

Ossec hids

HIDS – Protegendo e Monitorando

HIDS (Host Intrusion Detection System); um HIDS opera sobre informações coletadas em computadores individuais. Através disso o HIDS pode analisar as atividades das estações com confiança e precisão, determinando exatamente quais processos e usuários estão envolvidos em um tipo particular de ataque no sistema operacional. Ao contrário dos sistemas baseados em rede, os baseados em host (estação) podem ver as conseqüências de uma tentativa de ataque, já que podem acessar diretamente e monitorar os arquivos e processos do sistema. Alguns HIDSs suportam um gerenciamento centralizado, que podem permitir que um apenas um console possa gerenciar várias estações. Outros geram mensagens em formatos que são compatíveis com os sistemas de gerenciamento de redes.
Esse tipo de IDS tem a capacidade de monitorar eventos locais de um host, podendo detectar ataques que não poderiam ser detectados por um IDS de rede. Eles podem operar em um ambiente onde o tráfego de rede é criptografado, a informação é analisada antes de ser criptografada na origem, ou depois de ser decriptada no destino. Quando o IDS de host opera em nível de sistema operacional, ele pode ajudar a detectar ‘Trojan Horses’ ou outros tipos de ataques que envolvam problemas de integridade nos programas, mas atenção um IDS baseado em host consome recursos de processamento do host monitorado, influenciando na sua performance, sua utilização deve ser analisada de acordo com seu ambiente.
Bem gosto muito de utilizar o OSSEC, além de todas as funcionalidades normais de um HIDS, ele trabalha como active-response, ou seja para determinados tipos de ataques ele pode tomar algumas medidas, como bloquear o IP (gerando regras de DROP no IPtables) que está realizando o ataque, por um determinado tempo e mandar um e-mail alertando sobre o ocorrido; além de checar a integridade dos arquivos, checagem de rootiks e etc, tudo podendo ser acompanhado via “alerts” por e-mail.
Fim de papo e vamos a mão obra.
# cd /opt
# wgethttp://www.ossec.net/files/ossec-hids-2.7.1.tar.gz
# tar -xzvf ossec-hids-2.7.1.tar.gz
# cd ossec-hids-2.7.1/
# ./install.sh
No primeiro passo da instalação escolha o idioma a ser instalado:
Para instalação em português, escolha[br].
Agora escolha o modo como ele vai trabalhar, que pode ser local, clientee servidor.
– Que tipo de instalação você deseja (servidor, cliente, local ou ajuda)? local
Próximo passo é escolher onde o OSSEC será instalado. Aceite o diretório proposto:
– Escolha onde instalar o OSSEC HIDS [/var/ossec]:
Depois, aceitar para receber notificações por e-mail:
–  Deseja receber notificações por e-mail? (s/n) [s]:
– Qual é o seu endereço de e-mail?email@dominio.com.br
– Seu servidor SMTP foi encontrado como: smtp.dominio.com.br
– Deseja usá-lo? (s/n) [s]:
Em seguida, habilite alguns tipos de checagens:
– Deja habilitar o sistema de verificação de integridade? (s/n) [s]:
– Deseja habilitar o sistema de detecção de rootkis? (s/n) [s]:
– Deseja habilitar o sistema de respostas automáticas? (s/n) [s]:
– Deseja habilitar o firewall-drop? (s/n) [s]:
– Deseja adicionar mais algum endereço a essa lista? (s/n)? [n]:
*Lista de endereços que não serão bloqueados pela resposta automática:
Após isso o OSSEC será compilado e instalado.
Com OSSEC instalado, pode incia-lo:
# /etc/init.d/ossec start
Visualize onde o OSSEC está instalado e seu arquivo de configuração principal:
# cd /var/ossec
# ls
# cd etc
# pico ossec.conf
O .conf dele é bem simples, vou mencionar apenas as seguintes linhas:
oliveiralimajr@gmail.com
alt3.gmail-smtp-in.l.google.com.
As linhas acima, são responsáveis pela configuração do seu e-mail, para acompanhamento dos “alerts”.
Estas abaixo, são responsáveis por definir a partir de que níveis serão gerados os logs_alerts e a partir de que níveis serão enviados por e-mail.

1
7
Com esta simples instalação e configuração, o OSSEC já fará a verificação da integridade dos arquivos, bem como a checagem de rootiks e respostas ativas, como por exemplo, caso algum atacante inicie um brute force no seu SSH, o OSSEC irá detectar e após algumas tentativas irá  gerar um regra de DROP para o IP do possível atacante. Existe muito mais para ser falar sobre HIDS e OSSEC, mas fica aqui uma pequena introdução, futuramente iremos mais adiante neste aprendizado.
Fonte: RootHC

domingo, 21 de fevereiro de 2016

Configurar Squid3 no Ubuntu (fonte: digitalocean)

How To Install Squid Proxy on Ubuntu 12.10 x64

Apr 4, 2013 Scaling, DNS Ubuntu

Step 1 - Spin up a Ubuntu 12.10 x64 droplet

Step 2 - Install Squid

apt-get install -y squid
update-rc.d squid3 defaults

Step 3 - Setup Access Restrictions

Since this Squid proxy would allow anyone using it to make connections from your droplet's IP address, you would want to restrict access to it.
You can register a free dynamic IP from services like noip.com
If you would like to use this Squid proxy from your phone, you would have to install a dynamic DNS update client.
You can use applications like Dynamic DNS Client for Android, or FreeDynPro for iOS
. Once you have a dynamic IP hostname, you can update it from your router at home, mobile device, or an API call.
This hostname should be added to /etc/squid3/squid.conf. Edit the file and add your hostname (nyproxy1.no-ip.org in our case):
acl myhost srcdomain nyproxy1.no-ip.org
http_access allow myhost
Setup a crontab that reloads Squid every hour, in case your IP address changes:
echo 0 */1 * * * service squid3 reload >> /var/spool/cron/root

Step 4 - Configure Squid Proxy

By default, Squid listens on port 3128. If you would like to use a different port, modify /etc/squid3/squid.conf
http_port 3128
If you would like to browse through this Squid proxy and not have it detected as a proxy, setup anonymous settings by adding these lines to /etc/squid3/squid.conf:
via off
forwarded_for off

request_header_access Allow allow all 
request_header_access Authorization allow all 
request_header_access WWW-Authenticate allow all 
request_header_access Proxy-Authorization allow all 
request_header_access Proxy-Authenticate allow all 
request_header_access Cache-Control allow all 
request_header_access Content-Encoding allow all 
request_header_access Content-Length allow all 
request_header_access Content-Type allow all 
request_header_access Date allow all 
request_header_access Expires allow all 
request_header_access Host allow all 
request_header_access If-Modified-Since allow all 
request_header_access Last-Modified allow all 
request_header_access Location allow all 
request_header_access Pragma allow all 
request_header_access Accept allow all 
request_header_access Accept-Charset allow all 
request_header_access Accept-Encoding allow all 
request_header_access Accept-Language allow all 
request_header_access Content-Language allow all 
request_header_access Mime-Version allow all 
request_header_access Retry-After allow all 
request_header_access Title allow all 
request_header_access Connection allow all 
request_header_access Proxy-Connection allow all 
request_header_access User-Agent allow all 
request_header_access Cookie allow all 
request_header_access All deny all

Step 5 - Start Squid proxy service

service squid3 start

Step 6 - Modify your browser's proxy settings

Step 7 - Verify Squid proxy works

Navigate over to whatismyip.com
And you are all done!
By Bulat Khamitov

sábado, 12 de setembro de 2015

Configurando OpenVPN para Android

Boa noite,


Após realizar a instalação / configuração do servidor VPN no Debian e utilizar o mesmo a partir do Ubuntu, irei mostrar como configurar o app OpenVpn para Android.

Ao utilizar esse app, será possível conectar na VPN e acessar a internet a partir do servidor VPN. Desse modo, você estará navegando com mais segurança e poderá utilizar rede sem fio sem preocupação, pois, o tráfego estará criptografado.


1) É necessário criar os certificados no servidor VPN acessar a VPN.

1.4.4 - Criar certificados do cliente/filial

1.4.4.1 - Comando na pasta /etc/openvpn/easy-rsa: source build-key filial03
Preencher campos abaixo:
Common Name (filial03)
Name (filial03)
Na opção password, não precisa preencher. Aperta Enter.
Nas perguntas, usa Y.
Observe que os arquivos abaixo foram criados na pasta keys:
- filial03.crt
- filial03.csr
- filial03.key

Envia esses arquivos para a máquina cliente/filial
- tar -czvf filial03.tar.gz filial03.crt filial03.key filial03.csr ca.crt
- scp filial03.tar.gz nome@servidor.filial03:/tmp (ou usa FTP)
- Carrega os arquivos na pasta do openvpn


2) Após o procedimento acima, é necessário instalar o app Openvpn for Android no seu smartphone.

3) Após instalar o app, é necessário configurá-lo conforme as imagens abaixo.

3.1 - Abre o aplicativo
3.2 - Clica no sinal '+'



3.3 - Informa o nome do perfil
3.4 - Carrega o certificado CA (ca.crt), do cliente (filial03.crt) e chave (filial03.key).
3.5 - Na tela SERVER LIST, informa o ip do servidor VPN, porta e protocolo.



3.6 - Na tela IP e DNS, mantém a configuração conforme a figura.


3.7 - Na tela Encaminhamento, mantém a configuração conforme a figura.


3.8 - Na tela Autenticação/Encriptação, mantém a configuração conforme a figura.


3.9 - Na tela Avançado, mantém a configuração conforme a figura.





sexta-feira, 14 de agosto de 2015

Instalar Deluge Web (client torrent via web no ubuntu linux)

Criar usuario e grupo deluge

sudo adduser --disabled-password --system --home /var/lib/deluge --gecos "SamRo Deluge server" --group deluge 
Instalar deluge na maquina

sudo apt-get update
sudo apt-get install deluged deluge-webui
Criar arquivo /etc/init/deluge.conf
start on (filesystem and networking) or runlevel [2345]
stop on runlevel [016]

env uid=deluge
env gid=deluge
env umask=022

exec start-stop-daemon -S -c $uid:$gid -k $umask -x /usr/bin/deluged -- -d
Criar arquivo /etc/init/deluge-web.conf
start on started deluge
stop on stopping deluge

env uid=deluge
env gid=deluge
env umask=027

exec start-stop-daemon -S -c $uid:$gid -k $umask -x /usr/bin/deluge-web
Feito isso
sudo start deluge-web
Para inicar.
http://www.htpcbeginner.com/install-deluge-web-interface-on-ubuntu-1204/

sábado, 8 de agosto de 2015

Instalar e configurar VPN no Debian (OPENVPN)

CRIANDO VPN NO DEBIAN PARA ACESSAR INTERNET COM O IP DO SERVIDOR (PC/ANDROID)

1 - Instalação / Configuração 

1.1 - Alterar arquivo /etc/sysctl.conf
1.1.1 - Incluir a linha net.ipv4.ip_forward = 1
1.1.2 - Incluir a linha net.ipv4.ip_forward_use_pmtu = 0
1.1.3 - Salvar arquivo

1.2 - Configurar interface de rede 

1.2.1 - do servidor - /etc/network/interfaces

1.2.1.1 - Definir interface que tem acesso a internet
#rede internet
auto eth0
iface eth0 inet static
address 19.324.33.29
netmask 255.255.255.0
gateway 19.324.33.1
broadcast 19.324.33.255

1.2.1.2 - Criar interface de rede local (será necessário para VPN trocar informações 
#rede interna
auto eth1
iface eth1 inet static
address 192.168.200.103
netmask 255.255.255.0
gateway 192.168.200.1
broadcast 192.168.200.255

1.2.2 - do cliente - /etc/network/interfaces

1.2.1.1 - Definir interface que tem acesso a internet
auto lo
iface lo inet loopback

#rede interna (pode variar entre eth0, eth1, ...
auto eth1
iface eth1 inet static
address 192.168.220.101
netmask 255.255.255.0
gateway 192.168.220.1
broadcast 192.168.220.255

1.2.3 - Salvar arquivo


1.3 - Instalar OpenVPN e Easy-RSA

1.3.1 - Incluir repositório do OpenVPN
wget -O - https://swupdate.openvpn.net/repos/repo-public.gpg|apt-key add -

1.3.2 - Alterar arquivo /etc/apt-get/sources.list
deb http://swupdate.openvpn.net/apt wheezy main
apt-get update

1.3.3 - Instalar openvpn e easy-rsa
apt-get install openvpn
apt-get install easy-rsa


1.4 - Criar certificados da VPN com Easy-RSA

1.4.1 - Alterar arquivo /etc/openvpn/easy-rsa/vars
nano vars
Alterar as linhas abaixo:
export KEY_COUNTRY="BR"
export KEY_PROVINCE="SP"
export KEY_CITY="SP"
export KEY_ORG="LS"
export KEY_EMAIL="nome@provedor.com"
export KEY_OU="LS"
Salvar arquivo

1.4.2 - Carregar variáveis
source vars

1.4.3 - Criar certificados do servidor

1.4.3.1 - Comando na pasta /etc/openvpn/easy-rsa: ./build-ca
Preencher campos abaixo:
Common Name (Matriz)
Name (Matriz)
Observe que os arquivos abaixo foram criados na pasta keys:
- ca.crt
- ca.key
- index.txt
- serial

1.4.3.2 - Comando na pasta /etc/openvpn/easy-rsa: source build-key-server server
Preencher campos abaixo:
Common Name (Matriz)
Name (Matriz)
Na opção password, não precisa preencher. Aperta Enter.
Nas perguntas, usa Y.
Observe que os arquivos abaixo foram criados na pasta keys:
- server.crt
- server.csr
- server.key

1.4.3.3 - Comando na pasta /etc/openvpn/easy-rsa: source build-dh
Aguarda criação.
Observe que os arquivos abaixo foram criados na pasta keys:
- dh2048.pem


1.4.4 - Criar certificados do cliente/filial

1.4.4.1 - Comando na pasta /etc/openvpn/easy-rsa: source build-key filial02
Preencher campos abaixo:
Common Name (filial02)
Name (filial02)
Na opção password, não precisa preencher. Aperta Enter.
Nas perguntas, usa Y.
Observe que os arquivos abaixo foram criados na pasta keys:
- filial02.crt
- filial02.csr
- filial02.key

Envia esses arquivos para a máquina cliente/filial
- tar -czvf filial02.tar.gz filial02.crt filial02.key filial02.csr ca.crt
- scp filial02.tar.gz nome@servidor.filial02:/tmp (ou usa FTP)
- Carrega os arquivos na pasta do openvpn


1.5 - Criar arquivo de configuração do servidor (/eta/openvpn/server.conf)
cd /etc/openvpn
nano server.conf

###########################
### server.conf #############
#############################

##Protocolo de conexão
#proto tcp / proto udp
proto udp

# Porta do servico
port 2266

#a vpn roda em rodas as interfaces
multihome

# Drive da interface
dev tun0

# Atribui enderecos dinamicos a varios clientes, ips para o túnel VPN (nao alterar)
server 10.8.1.0 255.255.255.0

#ip do server da vpn (nao alterar)
route-gateway 10.8.1.1

# dados da rede interna configurada no /etc/network/interfaces
push "route 192.168.200.0 255.255.255.0"

#apos iniciar o vpn tem um delay de 2s para incluir as rotas acima
push "route-delay 2"

#DNS que sera usado para resolver nomes
push "dhcp-option DNS 8.8.8.8"

#servidor proxy
#push "dhcp-option WINS 192.168.0.1"


# Configuracoes adicionais no cliente
#push "ping 10"
#push "ping-restart 60"

#filial - cliente - rede interna do cliente configurada no /etc/network/interfaces do cliente/filial
route 192.168.220.0 255.255.255.0

# Compactacao lib LZO
comp-lzo

#a cada 10s manda um sinal e se nao receber retorno, reinicia a vpn
keepalive 10 30

#caminho dos arquivos ccd (sera necessario para manter a comunicacao entra cliente/servidor
client-config-dir ccd

#aceitar varias na conexao
float
persist-tun
persist-key

#tenta manter o mesmo ip da vpn
ifconfig-pool-persist ipp.txt

#user nobody
#group nogroup

#max clientes
max-clients 100

#o ip sera baseado no server
topology subnet

#Quando algo nao funcionar, ativa o log para ve onde esta o problema
log-append /var/log/openvpn.log

#Nivel debug
verb 3

#limitar ate x msg iguais
mute 5

# Servidor TLS
tls-server

# Chaves necessarias
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh2048.pem

#estatisticas da conexao
status /var/log/openvpn.stats

#Formato de saida do status
status-version 2

##############################


1.6 - Configuração do cliente (1.6.1 - por terminal ou 1.6.2 - interface gráfica)

1.6.1 - Criar arquivo de configuração do cliente (/eta/openvpn/cliente01.conf)

##########################
#### cliente01.conf ##########
###########################

#modo cliente
client

#destino para conexao (ip da interface do servidor que acessa a internet)
remote 19.324.33.29

#porta
port 2266

#log da vpn
log-append /var/log/openvpn-server.log

#chaves renegociadas a x segundos
reneg-sec 86400

#interface
dev tun0

#saltar entre remotes (servidores vpn)
#remote-randon

ca /etc/openvpn/ca.crt
cert /etc/openvpn/filial02.crt
key /etc/openvpn/filial02.key

#compressao dos arquivos
comp-lzo yes

#protocolo
proto udp

#TLS cliente
tls-client

#aceitar varias conexoes
persist-key
persist-tun

#nivel debug
verb 3

#limitar x msgs iguais
mute 20

#delay de 2 s para adicionar rotas apos vpn estabilizar
route-delay 2

#user nobody
#group nogroup


##############################

1.6.2 - Configuração por interface gráfica do Ubuntu

Tela do Ubuntu de configuracao

Clica no simbolo da Wifi, Conexoes VPN, Adicionar, OpenVpn.









1.7 - Configurando CCD

Cria a pasta ccd no /etc/openvpn do servidor
Cria o arquivo filial02 na pasta ccd.
O nome do arquivo tem que ser igual ao cliente.
Ex: Se o arquivo de conf do cliente for filial02.conf, o arq criado na pasta ccd devera ser filial02.

Insere as informações abaixo no arquivo ccd/filial02:
#rota interna
#Refere-se a rede interna do cliente.
iroute 192.168.220.0 255.255.255.0

#permite definir um ip fixo para a vpn
#ifconfig-push 10.8.0.70 255.255.255.0

Vale salientar que a informação abaixo deve estar no arquivo de configuração do servidor:

client-config-dir ccd


Após esse procedimento, deverá ser possível ping da rede interna do server parao cliente.

Exemplo:

Servidor para cliente (para ve o ip da rede interna, use ifconfig no cliente)
Use o comando no servidor: ping 192.168.220.101

Cliente para servidor (para ve o ip da rede interna, use ifconfig no servidor)
Use o comando no cliente: ping 192.168.200.103

1.8 - Configurar iptables para direcionar o trafego que vem da VPN para a interface de internet, permitindo o acesso do cliente à internet usando o IP do servidor.

iptables -L -t nat -v
iptables -t nat -A POSTROUTING -s 10.8.1.0/24 -o eth0 -j MASQUERADE

O ip 10.8.1.0 refere ao ip definido na server.conf, na linha `server`.
A interface eth0 refere-se a interface do servidor que tem acesso a internet.



https://translate.googleusercontent.com/translate_c?depth=1&hl=pt-BR&prev=search&rurl=translate.google.com.br&sl=en&u=https://openvpn.net/index.php/open-source/documentation/howto.html&usg=ALkJrhggFHDrR35RABbL-IXtgS4cDoAFhQ#examples

https://forums.openvpn.net/topic12170.html