Restaurar backup de uma conta cpanel mesmo que ela já exista
Olá, Cpanel tem um bug que ocorre normalmente quando uma conta é deletada, pode ocorrer de ficar alguns rastros e com isso na hora de restaurar o backup da mesma conta aparece a mensagem dizendo que a conta já existe. Como muitos usuários desconhecem como resolver o problema desenvolvi esse script. Do modo normal, para poder restaurar o backup de uma conta já existente teria que deletar a conta e todos seus rastros e muitos desconhece ondem onde ficam. Com esse script ele mesmo vai remover a conta caso ela exista e ainda é possível restaurar o backup em qualquer diretório não sendo obrigatório estar diretamente no diretório /home. O backup pode estar em qualquer lugar por exemplo: /mnt Para isso digite: # cd /mnt depois: # restaurar.sh e insira o usuário do backup a ser restaurado. Para instalar o script no seu servidor com cpanel/whm faça do seguinte modo: Logar no ssh como root. Digitar: # nano /bin/restaurar.sh Cole o código do script. Salve e dê permissão 755: # chmod 755 /bin/restaurar.sh
Por: marcio mendes mendes
Relatório minuto a minuto de todas as conexões do servidor
Olá, seguindo minha linha de scripts de automação e segurança, trago para os membros do VOL um script que desenvolvi, que salva todas as conexões do servidor dentro de uma pasta. O arquivo é salvo em txt com data e horário e 2 vezes por dia é enviado por email, sendo que fica uma cópia no formato .tar.gz dentro de uma pasta. O sistema usa o netstat e o cron para automatização. Mãos ao shell! Primeiro você deve criar 2 pastas no home: mkdir /home/minuto-a-minuto mkdir /home/minuto-a-minuto/con Depois você deve criar 2 scripts. O primeiro pega as conexões e salva: cd /bin nano minuto-a-minuto.sh Depois, o segundo script é para você receber 2 vezes por dia, por email, as conexões no horário da meia noite e meio dia. Você pode mudar o horário: cd /bin nano conexoes-diarias.sh Adicionamos ao cron: crontab -e */1 * * * * /bin/minuto-a-minuto.sh 0 0,12 * * * /bin/conexoes-diarias.sh Mais ou menos, um exemplo de como o sistema funciona. Obs.: quando postei o exemplo aqui no VOL ficou meio bagunçado, mas no seu servidor vai ficar tudo alinhado, facilitando muito para visualizar. Monitoramento de Conexões Por Minuto : 21.02.2016_05-04-01 Monitoring Of Connections Per Minute Dom Fev 21 05:04:01 BRT 2016 1 108.162.221.104 1 112.111.185.125 1 177.119.72.164 1 187.78.0.105 1 191.5.84.131 1 8.8.8.8 1 91.212.124.11 2 189.96.241.80 2 192.168.1.1 4 177.206.102.84 5 127.0.0.1 8 185.58.207.221 14 39 0.0.0.0 1 tcp 0 0 0.0.0.0:110 0.0.0.0:* OUÇA 24507/dovecot 1 tcp 0 0 0.0.0.0:143 0.0.0.0:* OUÇA 24507/dovecot 1 tcp 0 0 0.0.0.0:2077 0.0.0.0:* OUÇA 20494/cpdavd - acce 1 tcp 0 0 0.0.0.0:2078 0.0.0.0:* OUÇA 20494/cpdavd - acce 1 tcp 0 0 0.0.0.0:2079 0.0.0.0:* OUÇA 20494/cpdavd - acce 1 tcp 0 0 0.0.0.0:2080 0.0.0.0:* OUÇA 20494/cpdavd - acce 1 tcp 0 0 0.0.0.0:2082 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:2083 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:2086 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:2087 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:2095 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:2096 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:21 0.0.0.0:* OUÇA 30729/pure-ftpd (SE 1 tcp 0 0 0.0.0.0:25 0.0.0.0:* OUÇA 24783/exim 1 tcp 0 0 0.0.0.0:3306 0.0.0.0:* OUÇA 16640/mysqld 1 tcp 0 0 0.0.0.0:443 0.0.0.0:* OUÇA 4169/httpd 1 tcp 0 0 0.0.0.0:465 0.0.0.0:* OUÇA 24783/exim 1 tcp 0 0 0.0.0.0:5128 0.0.0.0:* OUÇA 28541/sshd 1 tcp 0 0 0.0.0.0:587 0.0.0.0:* OUÇA 24783/exim 1 tcp 0 0 0.0.0.0:80 0.0.0.0:* OUÇA 4169/httpd 1 tcp 0 0 0.0.0.0:993 0.0.0.0:* OUÇA 24507/dovecot 1 tcp 0 0 0.0.0.0:995 0.0.0.0:* OUÇA 24507/dovecot 1 tcp 0 0 :::110 :::* OUÇA 24507/dovecot 1 tcp 0 0 127.0.0.1:2086 127.0.0.1:52214 TIME_WAIT - 1 tcp 0 0 127.0.0.1:3350 0.0.0.0:* OUÇA 1975/dbus-daemon 1 tcp 0 0 127.0.0.1:49476 127.0.0.1:953 TIME_WAIT - 1 tcp 0 0 127.0.0.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 127.0.0.1:5432 0.0.0.0:* OUÇA 8983/postmaster 1 tcp 0 0 127.0.0.1:783 0.0.0.0:* OUÇA 6128/spamd child 1 tcp 0 0 127.0.0.1:953 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 127.0.0.200:5432 0.0.0.0:* OUÇA 8983/postmaster 1 tcp 0 0 :::143 :::* OUÇA 24507/dovecot 1 tcp 0 0 ::1:5432 :::* OUÇA 8983/postmaster 1 tcp 0 0 :::21 :::* OUÇA 30729/pure-ftpd (SE 1 tcp 0 0 :::25 :::* OUÇA 24783/exim 1 tcp 0 0 :::443 :::* OUÇA 4169/httpd 1 tcp 0 0 :::465 :::* OUÇA 24783/exim 1 tcp 0 0 :::4949 :::* OUÇA 9448/munin-node 1 tcp 0 0 :::5128 :::* OUÇA 28541/sshd 1 tcp 0 0 :::587 :::* OUÇA 24783/exim 1 tcp 0 0 192.168.1.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 192.168.1.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 192.168.1.1:110 63.141.239.172:43923 ESTABELECIDA24528/dovecot/pop3- 1 tcp 0 0 192.168.1.1:32816 63.141.239.172:80 TIME_WAIT - 1 tcp 0 0 192.168.1.1:32828 63.141.239.172:80 TIME_WAIT - 1 tcp 0 0 192.168.1.1:43923 63.141.239.172:110 ESTABELECIDA- 1 tcp 0 0 192.168.1.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 192.168.1.1:80 108.162.221.104:37286 TIME_WAIT - 1 tcp 0 0 192.168.1.1:80 112.111.185.125:9740 ESTABELECIDA13957/httpd 1 tcp 0 0 192.168.1.1:80 177.206.102.84:26369 TIME_WAIT - 1 tcp 0 0 192.168.1.1:80 177.206.102.84:26370 TIME_WAIT - 1 tcp 0 0 192.168.1.1:80 177.206.102.84:26373 TIME_WAIT - 1 tcp 0 0 192.168.1.1:80 177.206.102.84:26374 TIME_WAIT - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60043 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60049 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60050 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60051 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60052 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60053 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60054 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60056 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 91.212.124.11:59976 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 192.168.1.1:110 63.141.239.174:51519 ESTABELECIDA24534/dovecot/pop3- 1 tcp 0 0 192.168.1.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 :::80 :::* OUÇA 4169/httpd 1 tcp 0 0 :::993 :::* OUÇA 24507/dovecot 1 tcp 0 0 :::995 :::* OUÇA 24507/dovecot 1 tcp 0 117612 192.168.1.1:80 187.78.0.105:27514 ESTABELECIDA23981/httpd 1 tcp 0 39440 192.168.1.1:80 191.5.84.131:55769 ESTABELECIDA29813/httpd 1 tcp 0 50 192.168.1.1:51519 63.141.239.174:110 ESTABELECIDA- 1 tcp 1 0 192.168.1.1:2086 177.119.72.164:59195 ESPERANDO_FECHAR18328/whostmgrd - s 1 tcp 1 0 192.168.1.1:2086 189.96.241.80:33878 ESPERANDO_FECHAR8760/whostmgrd - se 1 tcp 1 0 192.168.1.1:2086 189.96.241.80:33919 ESPERANDO_FECHAR25517/whostmgrd - s 1 tcp 88 0 127.0.0.1:3350 127.0.0.1:34978 ESPERANDO_FECHAR- 1 tcp 88 0 127.0.0.1:3350 127.0.0.1:34985 ESPERANDO_FECHAR- 1 tcp 88 0 127.0.0.1:3350 127.0.0.1:34986 ESPERANDO_FECHAR- 1 udp 0 0 127.0.0.1:53 0.0.0.0:* 27813/named 1 udp 0 0 ::1:41611 ::1:41611 ESTABELECIDA8983/postmaster 1 udp 0 0 192.168.1.1:53 0.0.0.0:* 27813/named 1 udp 0 0 192.168.1.1:53 0.0.0.0:* 27813/named 1 udp 0 0 192.168.1.1:53 0.0.0.0:* 27813/named 1 udp 0 0 192.168.1.1:53 0.0.0.0:* 27813/named 1 udp 0 0 192.168.1.1:53 0.0.0.0:* 27813/named 7 udp 79 tcp
Por: marcio mendes mendes
Bloquear ataques DDoS com bloqueio de range de IPs e avisar por e-mail
Olá amigos do VOL, trago para vocês um excelente script desenvolvido por mim para bloquear ataques DDos. Nosso script fará o bloqueio de todo o range de IPs, dessa forma não será necessário ficar bloqueando ip por ip. O bloqueio será feito pelo iptables, é uma ótima ferramenta, claro que se o ataque for bem distribuído serão necessárias outras ferramentes, mas mesmo que seja um ataque com vários ips, certamente não conseguirá atacar com o mesmo range de ips, pois o bloqueio será feito pelo range. Nosso sistema será construído em 2 etapas: - na primeira será um script para verificar as conexões e a segunda etapa será responsável por bloquear o ip e todo seu range. O script que verifica as conexões chamamos de block-ddos.sh e o script que fará o bloqueio será bloqueando-ddos.sh. Em nosso exemplo o bloqueio se dará quando um determinado ip tiver mais de 250 conexões no servidor. Quando isso ocorrer o ip e todo seu range serão bloqueados e o administrador será informado por e-mail, conforme exemplo abaixo: O Ip 192.168.1.1 Tem 269 Conexões E Está Conectado Nas Portas Abaixo O IP 192.168.1.1 Foi Bloqueado Por Questões De Segurança 1 tcp 0 0 192.168.1.2:80 192.168.1.1:32783 TIME_WAIT - 1 tcp 0 0 192.168.1.2:80 192.168.1.1:33286 TIME_WAIT - 1 tcp 0 0 192.168.1.2:80 192.168.1.1:33287 TIME_WAIT - Obs.: em nosso exemplo o ip 192.168.1.2 fica sendo o ip do servidor e o ip 192.168.1.1 fica sendo o ip do atacante apenas como exemplo não usamos os ips reais por questões de privacidades. Antes de instalar o script é necessário criar os seguintes arquivos: echo -n > /home/pega-ddos.txt echo -n > /home/pega-ddos2.txt echo -n > /home/result2.txt echo -n > /home/result-ddos.txt echo -n >/home/meus-ips.txt Obs.: dentro do arquivo meus-ips.txt coloque todos os ips do seu servidor. Supondo que o ip do seu servidor seja 192.168.1.1, coloque da seguinte forma: ip 192.168.1.1 e desse modo 192.168.1.0/24, isso é para que não bloqueie o ip do seu servidor, pois muitas vezes o Apache pode ter varias conexões vindas do próprio ip. Criar o cron para executar somente um script a cada minuto, ou o tempo que achar necessário. */1 * * * * /bin/bloqueando-ddos.sh E como bônus fiz um terceiro script de regras para DDos. Esse script para regras DDos deve ser executado somente uma vez, para inserir as regras em seu iptables.
Por: marcio mendes mendes
Usando netstat para verificar conexões e portas
Olá, esse script foi desenvolvido para verificar quantas conexões há em seu servidor, mostrando o ip, total de conexões, porta e total de conexões por portas. O saída do script é similar a: [+] Número de Conexões por IP: 21 127.0.0.1 12 192.168.1.1 6 192.168.1.2 2 192.168.1.3 1 192.168.1.4 1 192.168.1.5 1 192.168.1.6 1 192.168.1.7 1 192.168.1.8 [+] Número de Conexões por porta: 22 80 15 110 4 3306 1 39806 1 39809 1 39813 1 39815 1 39828 1 39799 1 39803 1 59635 [+] TOTAL: 63 Para executar digite: $ conexao.sh Obs.: os IPs 192.168.1.1, 192.168.1.2 etc são apenas um exemplo. Quando executar o script ele vai mostra os IPs reais que estão conectados ao seu servidor.
Por: marcio mendes mendes
Backups de servidor CentOS com cPanel/WHM para servidor VPS Windows Server 2008
Este script envia backups, ou seja, supondo que você já tenha os backups prontos, ele não vai fazer backups só vai enviar OK... Esse script foi feito para ser usado em servidor CentOS com cPanel/WHM mas pode ser adaptado. Funciona perfeitamente pois utilizo ele há alguns anos. Não esqueça de que o servidor de destino tem que estar com o FTP funcionando, pode ser habilitado direto ou pode ser instalado o FileZilla server. Também é possível usar esse script para enviar backups para outras distribuições GNU/Linux.
Por: marcio mendes mendes
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Dificuldade para renderizar vídeo no kdenlive (6)
xubuntu sem sons de eventos (3)
Erro ao iniciar serviço samba4 como novo dc em um ambiente com ad (9)