quinta-feira, 21 de fevereiro de 2013

What's the difference between SSL, TLS, and HTTPS?


What's the difference between SSL, TLS, and HTTPS?

TLS is the new name for SSL. Namely, SSL protocol got to version 3.0; TLS 1.0 is "SSL 3.1". TLS versions currently defined include TLS 1.1 and 1.2. Each new version adds a few features and modifies some internal details. We sometimes say "SSL/TLS".

HTTPS is HTTP-within-SSL/TLS. SSL (TLS) establishes a secured bidirectional tunnel for arbitrary binary data between two hosts. HTTP is a protocol for sending requests and receiving answers, each request and answer consisting in detailed headers and (possibly) some content. HTTP is meant to run over a bidirectional tunnel for arbitrary binary data; when that tunnel is a SSL/TLS connection, then the whole is called "HTTPS".

quinta-feira, 7 de fevereiro de 2013

Estruturas de Controle da Shell


Só para esclarecer, a Dica do dia surgiu devido o pouco tempo que estou tendo para escrever um post, com isso consigo alimentar o blog com dicas interessantes e úteis.

Shell Script nada mais é do que utilizar diversos comandos do sistema utilizando estruturas de controle e comandos fornecidos pela shell a fim de automatizar tarefas cotidianas. Conhecer bem as estruturas de controle da shell é muito importante. Na Dica do dia será feito um breve resumo do funcionamento de algumas dessas estruturas, entretanto, sugere-se fortemente a leitura do manual da bash (man bash).

Para que possamos utilizar bem as ferramentas fornecidas pela nossa shell preferida, precisamos saber como funciona um comando no GNU/Linux. Sendo assim, a figura abaixo mostra a “anatomia” de um comando:


Todo comando em um sistema Unix-like tem uma entrada padrão (StdIn), uma saída padrão (StdOut) e uma saída de erro (StdErr), além de um valor de retorno. A entrada padrão de um comando pode ser, por exemplo, um arquivo que ele irá processar, como no comando:

# grep bash /etc/passwd

No qual o arquivo /etc/passwd é o arquivo de StdIn. Já a saída padrão desse comando é a tela, pois é nela que o resultado será apresentado. Caso ocorra algum erro durante a execução desse programa uma mensagem será enviada a saída de erro que, por padrão, joga a informação também para a tela.

Uma forma de descobrir se o último comando executado terminou com sucesso ou falhou ao ser executado é verificando o valor que ele retornou e que fica armazenado na variável $?. Se o valor retornado foi 0, então o comando foi executado com sucesso, caso contrário, houve algum erro durante a execução e o número retornado pode ser utilizado para determinar qual erro ocorreu.

Conhecendo como um comando funciona, podemos utilizar operadores a fim de alterar as entradas e saídas dos comandos. Os operadores mais utilizados são:

• ; separa um comando do outro;
• | transforma o StdOut de um comando em StdIn para outro;
• > redireciona a StdOut para um arquivo, criando-o ou sobrescrevendo seu conteúdo caso ele exista;
• >> redireciona a StdOut para um arquivo adicionando o conteúdo ao final dele;
• < joga o conteúdo de um arquivo para o StdIn;
• 2>&1 transforma a StdErr em StdOut;
• 2> redireciona a StdErr para um arquivo;
• || operador “ou”, testa o valor da variável $?;
• && operador “e”, testa o valor da variável $?.

Fonte: Internet (ctrl+c / ctrl+v)

terça-feira, 5 de fevereiro de 2013

Usando Loop FOR no Windows (Dica do dia)


Na dica do dia vou mostrar como usar o FOR no Windows. O FOR é uma estrutura de controle responsável pela execução de looping. No Linux esse procedimento é bastante divulgado e muito útil no dia-a-dia.

Digamos que precisamos executar o comando “ls” para listar o conteúdo de vários diretórios, e tais diretórios estão gravados em um arquivo que chamaremos de dir.txt. O dir.txt possui os seguintes diretórios gravados:

/tmp
/home

Neste caso o conteúdo desses diretórios será listado com a execução do nosso FOR. Veja abaixo como ficaria tal comando no Linux:

#for dir in $(cat dir.txt); do ls $dir; done

E como fazer isso no Windows?

Vamos criar o mesmo arquivo no Windows (dir.txt), porém com o seguinte conteúdo:

c:\
c:\windows

Agora vamos executar nosso FOR:

C:\>for /F "tokens=*" %G IN ('type dir.txt') do dir %G

Pronto. Temos nosso loop FOR no Windows.
Bom Proveito.

sexta-feira, 1 de fevereiro de 2013

Desabilite IPv6 no Linux (Debian like)


Na dica do dia vou mostrar como desabilitar o suporte ao IPv6 no Linux, com isso evitando alguns problemas de incompatibilidade ou lentidão na rede. Isso só pode ser feito se você não utiliza o IPv6.

Todos os procedimentos foram realizados numa máquina virtual rodando Debian 6, o procedimento muda um pouco em distribuições Red Hat Like.

Com o comando netstat podemos ver se temos algum serviço utilizando IPv6:


Veja que aparece o tcp6  de acordo com os serviços que estão usando o  IPv6.

Edite o arquivo /etc/modprobe.d/aliases.conf e adicione:

alias net-pf-10 off
alias ipv6 off

Saia e salve o arquivo.

Execute o comando abaixo:
echo “net.ipv6.conf.all.disable_ipv6=1”  >> /etc/sysctl.conf

Renicie o sistema.

Execute o netstat novamente:



Pronto, o suporte foi desabilitado.

Em vez de desabilitar o suporte ao IPv6 no Linux, você poderia fazer isso apenas para um serviço especifico, no caso do SSHD bastava adicionar:

AddressFamily inet 

No arquivo de configuração (/etc/ssh/sshd_config).

Bom Proveito.

quinta-feira, 31 de janeiro de 2013

Help Prevent DoS against Windows Server 2003


Security Consideration for Network Attacks

Denial of service (DoS) attacks are network attacks that attempt to make a computer or a particular service on a computer unavailable to network users. DoS attacks can be difficult to defend against.

To help prevent these attacks, you should keep your computer updated with the latest security fixes and harden the TCP/IP protocol stack on computers that run Windows Server 2003 with SP1 and are exposed to potential attackers. The default TCP/IP stack configuration is tuned to handle standard intranet traffic. If you connect a computer directly to the Internet, Microsoft recommends that you harden the TCP/IP stack against DoS attacks.

You can add the registry values in the following table to the template file in the
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\
subkey.





You can download my REG file here.

source: Securing Windows Server 2003

Recupere seu Ubuntu (Debian like)


Essa é uma dica rápida para você que teve algum problema com o seu Ubuntu (Debian like) e quer tentar recuperar o sistema. Não vou falar das ferramentas em si para tentar recuperar o sistema e sim como deixar o sistema pronto para que você possa usar tais ferramentas.

Use um CD do Ubuntu, dê o boot pelo CD e escolha a opção “Try Ubuntu without any change to your computer”. Essa opção gera um pseudo-sistema de arquivos que é criado na memória RAM, não danificando o seu sistema. Para reparar seu sistema é necessário montar a partição onde foi instalado o Ubuntu, neste post vamos levar em consideração que nosso sistema foi instalado em /dev/sda1.

Vamos ter que fazer com que a partição do Ubuntu faça parte da raiz do sistema de arquivos, como se tivéssemos iniciado junto com o boot do sistema na ora do boot. Lendo algumas dicas da comunidade Ubuntu isso não é recomendado enquanto o desktop do LiveCD esteja sendo executado, então para isso temos que mudar para o modo single-user. Apenas faça o procedimento abaixo:

1. Você acabou de da o boot pelo CD do Ubuntu, e já esta na Área de Trabalho. Pressione Ctrl+Alt+F2, em seguida digite o comando “sudo telinit 1” para mudar o nível de execução do sistema. Uma tela igual da figura abaixo ira aparecer, escolha a opção “root – drop to root Shell prompt”.



2. Agora execute os comandos abaixo para montar nossa partição com o Ubuntu instalado e mudar o diretório root atual para este diretório.

#mkdir /mnt/ubuntu
#mount /dev/sda1 /mnt/ubuntu
#chroot /mnt/ubuntu
#bash

Pronto, podemos executar qualquer comando para tentar recuperar nosso sistema, a partir desse momento a raiz do sistema "/" será /mnt/ubuntu.

Bom Proveito.