Anterior Proxima

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


Fila dinâmica em C

azk

Implementação de uma simples fila dinâmica em C. Código em en_US. azk4n

Por: Alexandre (azk)


Manipulação de Arquivos Orientada a Objetos

Sabemos que Perl não é uma linguagem totalmente orientada a objetos e vejo muitas pessoas dizendo que trabalhar com o paradigma orientado a objetos em Perl é complicado ou que Perl fica impossível de ser lida. A verdade é que a orientação a objetos em Perl é uma excelente prática e por muitas vezes faz com que seu código fique mais legível e organizado, fazendo com que você consiga reaproveitar seus códigos se você escrever suas aplicações da forma correta. Abaixo vou mostrar de forma breve e simples como manipular arquivos usando a classe IO::File

Por: Daniel Vinciguerra


Telegram Installer

Você conhece o Telegram né? Este script é minha primeira contribuição ao site. Ele basicamente baixa a última versão do Telegram (e do Telegram Updater) para o seu PC e instala ele para você. O script foi testado no Debian Jessie e Ubuntu, mas deve funcionar em todas as distribuições já que não é amarrado a um formato de pacote (deb, rpm etc) nem faz uso de nenhum installer como APT ou YUM. Após a instalação, o telegram vai estar disponível apenas digitando telegram no terminal. Para atualizar a versão, você pode simplesmente usar o sudo ou entrar como root para o comando telegram-updater P.S.: caso você não possua, é necessário que você tenha o sudo instalado e habilitado para o usuário que você está utilizando. Agradeço qualquer ajuda ou atualização, o script está disponível no github em: https://github.com/gustavohmsilva/telegram_installer

Por: Perfil removido


Criar grupos e usuários

Script básico para ajudar a criar vários usuários e grupos.

Por: Harley Sousa


Crivo de Eratóstenes Simples em Ada 95

A linguagem de programação Ada foi assim denominada em homenagem à Condessa Ada Lovelace (1815 — 1852), filha do poeta, maconheiro e revolucionário inglês Lord Byron (1788 — 1824). Ada Lovelace foi a primeira programadora da história, colaborando com os cálculos da máquina analítica de Charles Babbage. A máquina analítica é uma espécie de computador mecânico. Também chamada de máquina das diferenças, pois calculava diferenças de polinômios programados. Como disse em outra oportunidade, Ada possui semelhanças com Pascal. Na verdade foi implementada com base em Pascal e algumas outras linguagens como Simula, COBOL e BASIC. Mais tarde adquiriu elementos de C++ e Java. É um sonho de padronização de uma linguagem universal. Ada é uma linguagem de programação estruturada, com tipagem estática, imperativa, orientada a objetos, de alto nível, orientada à escalonamento de sistemas de tempo real e com suporte à programação de threads (programação paralela). Foi criada pelo Departamento de Defesa dos EUA (DoD) para substituir outras centenas de linguagens usadas por lá. Existe até uma implementação chamada de A# (A Sharp) para a plataforma .Net. Exemplos de quem usa ou usou Ada: sistema de bordo de aviões a Boeing e da Embraer, transporte metroferroviário de algumas capitais europeias, alguns projetos científicos da NASA. A maior parte das afirmações está esparsa pela internet. Há muito ainda para se dizer. Voltando ao programa, algumas semelhanças com Pascal: * Operador de atribuição := * Operador de igualdade lógica = * Operadores Lógicos, exceto o de diferente * Cálculo de resto de divisão * Conectores lógicos Comentários no programa começam por um duplo hífen no começo da linha. Após isto, o programa começa com uma invocação de módulos (melhor chamados de packages) nas cláusulas With e Use. Como são usadas expressões com tipo de dados inteiro e ponto flutuante, com funções do sistema, são chamados os módulos para os mesmos. A declaração de variáveis e arrays devem ser feitas antes do Begin da procedure principal do programa. O operador de diferente é expresso de uma forma curiosa. Ao invés de != (como em C) ou <> (como em Pascal) é expresso por /= que em C teria um significado bem diverso do apresentado. É possível converter tipos de dados como entre Integer e Float, de modo semelhante ao type casting de C++. Sendo Integer(X) e Float(Y) respectivamente uma conversão para tipos Integer e Float. Aparentemente não existem funções de incremento e decremento de valores numéricos. Posições de arrays são marcadas entre parêntesis. Podem existir arrays multidimensionais separando os índices por vírgulas, dentro do mesmo par de parêntesis. Existem três tipos de laços (loops) neste programa com as seguintes estruturas: While (...) Loop Exit When (...) End Loop; For (...) in <reverse> (...) Loop Exit When (...) End Loop; Loop Exit When (...) End Loop; O primeiro laço é condicional, um while simples, como aparece na maioria das linguagens. A diferença é a cláusula Exit When. O segundo é um for que percorre um conjunto, que pode ser um vetor ou uma sequência de números demarcados por pontos, como por exemplo 1..10, que vai de 1 a 10. Pode ainda ter em opcional a cláusula Reverse, que faz os itens do conjunto serem percorridos do fim para o começo. Novamente aparece a cláusula Exit When. O terceiro comeca apenas com a palavra Loop e encerra com a expressão End Loop. Seria apenas um laço perpétuo se não estivessem com a cláusula Exit When entre eles. A cláusula Exit When (...) serve para sair do laço caso a expressão lógica que vem após When seja verdadeira. A estrutura condicional If assemelha-se à do Pascal, com uma leve diferença no fechamento do bloco. Segue If ... Then ... <Elsif> ... <Else> End If. Com Elsif e Else sendo opcionais caso a lógica do programa necessite. A função Put() serve para a escrita de dados como a função Write do Pascal. E a mudança de linha se dá com a função New_Line. As duas combinadas tem o mesmo efeito da função WriteLn do Pascal.

Por: Perfil removido


Conversor de áudio para PS4

Quem tem PS4 sabe que o Media Player dele é bem fraco, e não lê mp4 com áudio em mp3, mas esse script vai converter só o áudio para acc, mantendo o vídeo intacto.

Por: Lucca Biagi


Converter arquivo em PDF e enviar por e-mail pelo terminal

Script para converter arquivo em PDF e enviar por e-mail pelo terminal. Programas usados: Enscript, ps2pdf e sendEmail. Tudo foi feito em um CentOS 6.7 minimal: http://mirror.centos.org/centos/6.7/isos/ http://centos.ufes.br/6.7/isos/i386/CentOS-6.7-i386-minimal.iso Requisitos: Desabilitar o SELinux: https://wiki.hackstore.com.br/Desabilitando_SELinux_na_fam%C3%ADlia_de_distros_baseado_em_RedHat_(RHEL,_CentOS,_Fedora) # vim /etc/sysconfig/selinux Mude isso: SELINUX=enforcing Para isso: SELINUX=disabled Atualizar o sistema: # yum -y update Instalar o Enscript e o ps2pdf: # yum install enscript ghostscript Instalar o sendEmail: http://caspian.dotconf.net/menu/Software/SendEmail/ # yum -y install wget # wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz # tar -zxvf sendEmail-v1.56.tar.gz # cp -a sendEmail-v1.56/sendEmail /usr/local/bin # chmod +x /usr/local/bin/sendEmail # yum install perl.x86_64 perl-Net-SSLeay perl-IO-Socket-SSL O pacote perl.x86_64 é importante porque se trata do interpretador Perl. Já os pacotes perl-Net-SSLeay e perl-IO-Socket-SSL dão suporte a TLS (Transport Layer Security). Referência: http://mytracelog.blogspot.com.br/2011/11/enviando-email-pelo-terminal-com.html Para um melhor aproveitamento o script deve ser copiado na pasta /usr/local/bin e dada permissões de execução: # chmod +x /usr/local/bin/geraPDF No terminal utilize desta forma: # geraPDF arquivo_desejado.txt email_para@ser_enviado.com.br

Por: Daniel Gusmão



Anterior Proxima



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts