Páginas

Mostrando postagens com marcador debian. Mostrar todas as postagens
Mostrando postagens com marcador debian. Mostrar todas as postagens

sábado, 25 de fevereiro de 2012

Tenha Senhas Seguras

Olá,

neste post vou ensinar como usar duas ferramentas diferentes para geração de senhas fortes.

A primeira é utilizando o site WolframAlpha, basta clicar neste link. Na primeira parte da tela aparece algo como:

Aqui você pode selecionar se a senha deve conter ou não caracteres maiúsculos, minúsculos, números, caracteres especiais e etc. Se for selecionado required em todas as opções (menos a última) sua senha sera a mais forte possível.

Outra forma é instalando a ferramenta apg:
$ sudo apt-fast install apg
(não entendeu o porque do apt-fast? visite este link)

Para começar a gerar senhas basta digitar no terminal:
$  apg
será pedido uma entrada aleatória e 6 senhas serão mostradas. Para senhas mais fortes digite:
$ apg -a 1 -M SNCL -n 6 -x 10 -m 8
as opções significam:

  • -a: tipo de algoritmo usado. 0 para senhas pronunciáveis e 1 para caracteres aleatórios,
  • -M SNCL: deve-se usar caracteres especias, números, letras maiúsculas e minusculas.
  • -n 6: mostrará 6 opções de senhas
  • -x 10: as senhas terão no máximo 10 caracteres
  • -m 8: as senhas  terão no mínimo 8 caracteres
Para mais opções e esclarecimentos sempre existira a man page:
$ man apg

Espero ter ajudado.


sexta-feira, 24 de fevereiro de 2012

Reparando erros de Boot

Olá, este post é uma generalização do post Restaurando o GRUB no Ubuntu 10.10.


Aqui vou apresentar uma ferramenta chamada Boot-Repair. Temos três possibilidades de obtenção da ferramenta:

Para a instalação via PPA, devemos ter em mãos um live-cd de alguma distribuição debian like. Com o computador ligado através do live-cd devemos adicionar o PPA e instalar o Boot-Repair:
$ sudo add-apt-repository ppa:yannubuntu/boot-repair
$ sudo apt-fast update 
$ sudo apt-fast install boot-repair
(não entendeu o porque do apt-fast? visite este link)

A reparação do boot a partir de agora é simples, abra um terminal e digite:
$ sudo boot-repair
e deverá aparecer um tela como essa:

O jeito mais fácil de se proceder é clicando na primeira opção, se tudo der certo deverá aparecer uma tela como esta:

Se não der certo, há sempre as opções avançadas (Advanced options na imagem),

aqui você poderá personalizar um pouco mais o jeito que a ferramenta reparará seu boot.

Espero que tenha ajudado!


quinta-feira, 23 de fevereiro de 2012

Melhorando a navegação com web cache: POLIPO

Neste post vou ensinar como configurar um proxy pessoal com cache para melhorar o desempenho de sua navegação.

Da Wikipedia, temos: "Polipo is designed to be used as a personal web cache or a web cache shared among a few users to boost internet access"

Para instalar:
$ sudo apt-fast install polipo
(não entendeu o porque do apt-fast? visite este link)

Agora vamos as configurações
$ sudo vim /etc/polipo/config
e deixe ele da seguinte maneira:

proxyAddress = "0.0.0.0"
allowedClients = 127.0.0.1
cacheIsShared = false
chunkHighMark = 33554432
disableIndexing = false
disableServersList = false
disableLocalInterface = false
disableConfiguration = false
disableVia=false
censoredHeaders = from, accept-language, x-pad, link
censorReferer = maybe
pmmFirstSize = 16384
pmmSize = 8192
maxConnectionAge = 5m
maxConnectionRequests = 120
serverMaxSlots = 8
serverSlots = 2
tunnelAllowedPorts = 1-65535

Se o polipo for instalado em um servidor a opção allowedClients deverá refletir os IP que poderam acessar o serviço. Ex: 192.168.0.0/24. A opção chaceIsShared deverá ser true.

Se você seguiu o post Encriptar tráfego DNS no Ubuntu adicione estas duas linhas a mais:

dnsUseGethostbyname = yes
dnsNameServer = 127.0.0.2

Se você seguiu o post Acelere sua navegação usando um cache local de DNS: PDNSD adicione estas duas linhas a mais:


dnsUseGethostbyname = yes
dnsNameServer = 127.0.0.1

Se você tem algum serviço de DNS rodando em seu computador mude a variável dnsNameServer para o endereço correto.

Outra coisa legal a se fazer se você esta instalando o polipo em um servidor é criar um arquivo nos computadores clientes da seguinte forma:
$ sudo vim /etc/apt/apt.conf
e colocar a seguinte linha:
Acquire::http::Proxy "http://enderecodoservidor:8123";
mudando, é claro, o 'enderecodoservidor' para o endereço que reflita seu servidor!

Para saber mais opções de configuração:
$ polipo -v
Depois de configurado devemos reiniciar/iniciar o serviço:
$ sudo service polipo restart
e para acessar tanto o manual quanto opções de configurações, acesse: http://localhost:8123

Para que o polipo seja usado pelo seu sistema, temos que mudar as opções de proxy do seu computador:


Ou então mudar as opções no seu navegador!

É isso!


Acelere sua navegação usando um cache local de DNS: PDNSD

Neste post vou ensinar como configurar um cache local de DNS. Ao contrário do Bind (neste post ensino como configura-lo), o PDNSD armazena o seu cache no HD quando o computador é desligado e lê esse conteúdo quando o computador é ligado.

Para instalar basta:
$ sudo apt-fast install pdnsd
(não entendeu o porque do apt-fast? visite este link)

No processo de instalação você poderá escolher entre três opções de configuração, escolha MANUAL! Além disso o apt instalará o pacote resolvconf junto, isso não será um problema, mais abaixo eu mostrarei como fazer para o seu computador sempre manter as configurações certar para o uso do PDNSD

Uma vez instalado vamos configurá-lo. Edite o arquivo /etc/pdnsd.conf
$ sudo vim /etc/pdnsd.conf
E deixe ele igual a este:


global {
   perm_cache=12048;
   cache_dir="/var/cache/pdnsd";
   max_ttl=604800;
   run_as="pdnsd";
   status_ctl=on;
   paranoid=on;
   server_port=53;
   server_ip="127.0.0.1";
}

server {
   ip="127.0.0.2";
   timeout=60;
   interval=900;
   uptest=none;
   ping_timeout=500;
   purge_cache=off;
   caching=on;
}

server {
   label="resolvconf";
}

source {
   ttl=86400;
   owner="localhost.";
   serve_aliases=on;
   file="/etc/hosts";
}

Este arquivo está configurado para ser usado junto com o resolvconf!

Na seção 'global' temos os parâmetros globais de configuração: tamanho do cache, tempo de  vida da entrada, IP que será usado, porta e etc.

Já a(s) seção(ões) 'server' tem os parâmetros dos servidores DNS que serão usados para resolver os nomes requisitados. Repare que neste arquivo eu usei o IP 127.0.0.2 como o servidor de DNS, isto porque no meu post anterior (este aqui) eu ensinei como encriptar o tráfego DNS e por isso estou usando este serviço. Se você quiser pode mudar o IP para qualquer outro servidor DNS de sua escolha e também pode adicionar mais entradas como esta. Um exemplo:


server {
   ip="192.168.1.1";
   ip="8.8.8.8";
   ip="208.67.222.222";
   timeout=60;
   interval=900;
   uptest=none;
   ping_timeout=500;
   purge_cache=off;
   caching=on;
}

Assim a primeira entrada seria o seu roteador (se houver algum) a segundo o DNS público do Google e a terceira o endereço do OpenDNS.

Devemos editar o arquivo /etc/default/pdnsd
$ sudo vim /etc/default/pdnsd
e deixá-lo da seguinte forma,


# do we start pdnsd ?
START_DAEMON=yes
# auto-mode, overrides /etc/pdsnd.conf if set [see /usr/share/pdnsd/]
#AUTO_MODE=
# optional CLI options to pass to pdnsd(8)
START_OPTIONS=


Temos, também, que editar o arquivo /etc/dhcp/dhclient.conf
$ sudo vim /etc/dhcp/dhclient.conf
e descomentar a linha que contém: prepend domain-name-servers 127.0.0.1;

Agora reinicie o serviço:
$ sudo service pdnsd restart
e teste se teve efeito com o comando dig:
$ dig terra.com.br
Deverá obter uma saída parecida com:


; <<>> DiG 9.7.3 <<>> terra.com.br
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21041
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;terra.com.br. IN A

;; ANSWER SECTION:
terra.com.br. 595 IN A 200.154.56.80

;; Query time: 161 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Feb 23 15:04:27 2012
;; MSG SIZE  rcvd: 46

e pela segunda vez:
$ dig terra.com.br


; <<>> DiG 9.7.3 <<>> terra.com.br
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27407
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;terra.com.br. IN A

;; ANSWER SECTION:
terra.com.br. 594 IN A 200.154.56.80

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Feb 23 15:04:28 2012
;; MSG SIZE  rcvd: 46

Para obter informações sobre quanto de cache você já usou ou se os servidores estão funcionando:
$ sudo pdnsd-ctl status 


Um problema que eu tive foi que na primeira vez eu coloquei 2Mb de cache e foi muito pouco, então aumentei para cerca de 10Mb e deu tudo certo!

Bom, é isso!


Este post foi inspirado nesta thread do UbuntuForums e neste post do go2linux e neste artigo (no final do artigo tem um exemplo de como configurar o PDNSD junto com o BIND9)

Encriptar tráfego DNS no Ubuntu

Neste post vou ensinar como instalar a ferramenta DNSCrypt que irá encriptar o tráfego DNS entre o seu computador e os servidores da OpenDNS.

Devo dizer que este post é um resumo/tradução do post original: ENCRYPT DNS TRAFFIC IN LINUX WITH DNSCRYPT (VIA OPENDNS)

Primeiro devemos baixar o pacote .deb aqui de acordo com a sua arquitetura (i386 ou amd64) e instalá-lo.

Para fazer com que ele inicie a cada boot devemos baixar o script disponibilizado no post original descompactá-lo e rodar estes dois comandos abaixo:
$ sudo cp dnscrypt.conf /etc/init/
$ sudo ln -s /lib/init/upstart-job /etc/init.d/dnscrypt
Este script faz com que o serviço rode sob o ip 127.0.0.2, então você deve configurar sua conexão para usar este ip como servidor DNS, como na imagem abaixo


Para iniciar o serviço faça:
$ sudo start dnscrypt
Agora todas as requisições feita pelo seu computador ao servidor DNS estarão encriptadas!


quinta-feira, 2 de fevereiro de 2012

Criando e usando um repositório Git

Olá,

neste post vou ensinar como criar e usar, de um forma simples, um repositório git para controle de versão de algum projeto seu.

Antes de prosseguir assegure-se de ter feito um backup de todos os arquivos envolvidos no processo caso haja algum problema!

Vou assumir que você tenha um máquina que serve de servidor de arquivos para a sua rede, configurada e funcional, e estações de trabalhos onde serão feitas as modificações do seu projeto. Tudo foi testado em um servidor com o Debian Squeeze e Ubuntu Oneiric nas estações de trabalhos.

Primeiro temos que instalar o git nas máquinas (em todas):
$ sudo apt-get install git-core

Como queremos montar um repositório público, ou seja, um repositório no qual os usuários possam não só clonar o conteúdo como também modificá-lo temos que prosseguir da seguinte maneira.

No servidor vamos criar um pasta e copiaremos o conteúdo que fará parte do projeto:
$ mkdir /home/git 
$ mkdir  /home/git/repo 
$ cp -a projeto/* /home/git/repo/
onde a pasta projeto deve refletir a pasta que contenha o seu projeto que será adicionado ao repositório.

Assim feito vamos iniciar o git
$ cd /home/git/repo
$ git init
Adicionar todos os arquivo
$ git add .
Fazer o commit dos mesmos
$ git commit -a
Agora vamos criar um repositório que será publico
$cd /home/git 
$ mkdir repopublic
$ cd repopublic
$ git init --bare
$ cd ../repo
$ git push /home/git/repopublic master:master

Assim feito teremos duas pastas, a "repo' é o repositório normal e a "repopublic" é o repositório público  no qual poderão ser feitas as mudanças usando o comando git push.

Para os usuários começarem a trabalhar em conjunto no projeto é necessário que os mesmo façam um clone do repositório nas suas estações de trabalhos. Também é necessário que os usuários se identifiquem para o git (cada usuário deve fazer na sua máquina):

$ git config --global user.email "seu e-mail"
$ git config --global user.name "seu nome"

Se a rede estiver configurada para compartilhamento de arquivos, basta;
$ git clone /home/git/repopublic meurepo
Se não:
$ git clone ssh://endereçodoservidor/home/git/repopublic meurepo
ou substitua o ssh por git ou por http.

Para não digitar toda vez o caminho completo vamos criar um apelido:
$ git remote add origin ssh://endereçodoservidor/home/git/repopublic
ou qualquer que seja o caminho para o repositório público.

Com a cópia feita agora eles podem começar as modificações, é recomendável que cada um faça uma ramificação para melhor organização, ou seja, o usuário deve clonar o repositório público e depois fazer:
$ git branch nomedaramificação

e para verificar quais ramificaçoes existem
$ git branch

Para marcar um ramificação para edição
$ git checkout nomedaramificação

Uma vez editados e criados arquivos novos o usuário deve fazer, para cada arquivo novo:
$ git add file1 file2 file3 ...

e depois
$ git commit -a

Para juntar as ramificações com a original
$ git checkout master
$ git merge nomedaramificação

e para mandar as modificações para o repositório primeiro é bom verificar se houve algum atualização com
$ git fetch origin
$ git push origin master:master
Para apagar a ramificação criada
$ git branch -d nomedaramificação

Existem outras maneiros de se trabalhar com o git, a que eu apresentei é somente uma delas.


Fontes e mais opções:
codexico parte 1
codexico parte 2
The Git Community Book

quarta-feira, 28 de dezembro de 2011

SSH sem senha

Olá,

Se você, assim como eu, usa bastante o serviço de ssh e cansou de ficar digitando a senha toda hora aqui vai uma dica:

Na máquina local digite:

$ ssh-keygen -t rsa

será perguntado se você deseja proteger  sua chave privada com uma senha, eu optei por não.

Com isso será gerados dois arquivos na pasta ~/.ssh que são: id_rsa e id_rsa.pub.

Agora vamos copiar a chave para o servidor desejado:

$ scp ~/.ssh/id_rsa.pub usuário@servidor:~/.ssh/id_rsa_usuario.pub

Logue no servidor e copie o conteúdo do arquivo que acabamos de transferir para authorized_keys2:

$ ssh usuário@servidor

$ cd ~/.ssh

$ cat id_rsa_usuario.pub >> authorized_keys2

$ rm id_rsa_usuario.pub

Pronto, da próxima vez que você logar no servidor não precisará mais digitar a senha!



sábado, 10 de dezembro de 2011

Mantendo Várias Versões do Mesmo Programa

Olá,

Neste post vou mostrar como, de uma maneira fácil, você poderá manter duas ou mais versões do mesmo programa em sua máquina Debian-like (Debian, Ubuntu, Mint e etc).

Usaremos uma ferramente nativa desses sistemas: o update-alternatives. Em poucas palavras podemos dizer: "update-alternatives creates, removes, maintains and  displays  information  about  the symbolic links comprising the Debian alternatives system." (retirado do própio manual)

E você deve estar se perguntando mas porque eu quero isso? Bom, no meu caso eu preciso ter a versão 4.4 do GCC senão não consigo compilar meus programas em CUDA, e por outro lado eu gosto de ter a a versão mais atualizada do mesmo para compilar outros programas que não sejam escritos em CUDA.

Então vamos lá, primeiro instale as versões desejadas dos seus programas, no meu caso:

$ sudo apt-get install gcc-4.4 gcc-4.6

Agora vamos criar os links simbólicos para as duas versões:

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 44

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 46
onde o número no final é a prioridade do aplicativo, o maior será selecionado automaticamente.

E para selecionar qual versão do compilador iremos utilizar, basta:

$ sudo update-alternatives --config gcc

Simples assim!