Linux Brasil

Uncategorized

SUDO pedindo senha de root no OpenSUSE

Fala galera!!!

Mudei a minha distro padrão. Antes eu usava o Debian e por causa da filosofia Debian, de não ter pacotes mais atualizados, etc, eu acabei mudando para o OpenSUSE.
Briguei um pouco no começo por ter algumas diferenças, mas, no fim tudo se encaixou.
A única coisa que me incomodava seriamente, era o sudo que toda vez que eu usava ele, ele pedia a senha do Root. Agora, a dúvida é: Eu sou um usuário do Sistema Operacional. Por que catso eu iria ter a senha do usuário root.

Enfim, o OpenSUSE vem com uma configuração no “sudoers file”, que faz com que toda vez que usamos o sudo, o SO peça a senha do usuário root e não a nossa.

Nesse Post, eu irei permitir que usuários do Grupo “Wheel” possamter permissões de super usuário.

Faremos o seguinte:
1. Mudaremos de usuário padrão para Super Usuário

alex@notealex:~> su -
alex's password:

2. Iremos exportar o editor de texto padrão do sistema para que possamos
usar o vim por padrão

spnot015:~ # export EDITOR=vim

3. Iremos editar o arquivo sudoers

spnot015:~ # visudo

4. Iremos procurar pelas linhas:

Defaults targetpw   # ask for the password of the target user i.e. root
ALL    ALL=(ALL) ALL   # WARNING! Only use this together with 'Defaults targetpw'!

5. Iremos comentar essas duas linhas, e deixá-las conforme abaixo:

#Defaults targetpw   # ask for the password of the target user i.e. root
#ALL    ALL=(ALL) ALL   # WARNING! Only use this together with 'Defaults targetpw'!

6. Agora, iremos atribuir a permissão de se tornar Super Usuário, os usuários do grupo Wheel, descomentando a linha:

%wheel ALL=(ALL) ALL

Pronto. Agora todos os usuários que fizerem parte desse grupo, podem se tornar super usuário.

Para adicionarmos um usuário qualquer para o grupo, basta usar o comando usermod

spnot015:~ # usermod -G wheel alex

Note que o comando acima, a letra G obrigatoriamente tem que ser em maiúsculo. Se for usado minúsculo, o comando irá sobrescrever o grupo padrão.

Espero ter ajudado

Um grande abraço


Instalação e configuração de uma VPN utilizando o OpenVPN

Olá a todos,

Estou a algum tempo sem postar nada no blog. Porém depois de todo esse tempo, eu vou postar uma informação que eu quebrei muito a cabeça para encontrar, pois eu não encontrei nada completo na net ou alguma configuração funcional.
Explicarei nesse post, como instalar e configurar o OpenVPN Server e Client, em topologia net30, que pelo que eu testei, foi a melhor solução para trabalhar com vários clientes Windows.

Antes de mais nada, essa instalação foi feita em um Debian Squeeze Gnu/Linux, porém a mesma configuração, é válida para Distros baseadas em Red Hat, SUSE, Slackware e, também funciona nos BSD’s (FreeBSD, OpenBSD e NetBSD)..

No Post, não vou entrar em detalhes de como instalar os pacotes do OpenVPN nas distros que não são derivadas do Debian. Caso alguém tenha dúvidas de como instalar os pacotes nas distros que não são baseadas em Debian, deixe sua dúvida que eu terei prazer em ajudá-lo.

Vamos começar, instalando os pacotes do OpenVPN e OpenSSL com isso, o aptitude instalará também o comp-lzo que é o responsável pela compactação dos dados no tunnel VPN.

# aptitude install openvpn openvpn-blacklist openssl openssl-blacklist
Após instalar os pacotes necessários, vamos começar com a configuração do OpenSSL que é o responsável pelos certificados SSL que utilizaremos.
Vamos editar o arquivo de configuração do OpenSSL (openssl.cnf)
# vi /etc/ssl/openssl.cnf
Vamos alterar o arquivo openssl.cnf conforme abaixo:

dir = /etc/ssl/certs
certs = $dir
crl_dir = $dir
database = $dir/index.txt
new_certs_dir = $dir
certificate = $dir/ca.crt
private_key = $dir/ca.key
countryName_default = BR
stateOrProvinceName_default = “SeuEstadoSemEspaço”
0.organizationName_default = “NomeDaEmpresa”
commonName_default = “SeuNome”
emailAddress = “emaildoadm@dominio.com.br”
Essas alterações no arquivo de configuração, nos tira a necessidade de digitar alguns campos na hora de gerar os certificados.

Primeiro vamos gerar o Certificado/Chave de Autoridade Certificadora (CA), porém, vamos fazer os comandos, dentro da pasta certs do OpenSSL para não ter que mover os arquivos depois..

# cd /etc/ssh/certs

Vamos criar dentro da pasta certs, os arquivos

# pwd
/etc/ssl/certs

# touch index.txt
# echo 01 > serial
Vamos ajustar as permissões da pasta da Autoridade Certificadora (CA)

# chmod -R 700 /etc/ssl/certs

Agora Iremos criar o certificado da Autoridade Certificadora (CA)

# openssl req -nodes -new -x509 -keyout ca.key -out ca.crt

Generating a 1024 bit RSA private key
…………………++++++
..++++++
writing new private key to ‘ca.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [BR]:
State or Province Name (full name) [SaoPaulo]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Empresa]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
meuemail@qualquercoisa.com []:
Agora, vamos criar o Certificado/Chave da Matriz

# openssl req -nodes -new -keyout matriz.key -out matriz.csr

Generating a 1024 bit RSA private key
…………..++++++
…………………++++++
writing new private key to ‘matriz.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [BR]:
State or Province Name (full name) [SaoPaulo]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Empresa]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
meuemail@qualquercoisa.com []:
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Após criar a chave, é necessário assinar a Chave.

# openssl ca -out matriz.crt -in matriz.csr
Using configuration from /usr/lib/ssl/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number: 1 (0x1)
Validity
Not Before: Jun 7 14:55:41 2011 GMT
Not After : Jun 6 14:55:41 2012 GMT
Subject:
countryName = BR
stateOrProvinceName = SaoPaulo
organizationName = Empresa
commonName = AlexCarreira
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
96:BC:6C:0B:BB:77:56:42:11:50:47:63:2F:E2:03:B5:67:75:7C:10
X509v3 Authority Key Identifier:
keyid:C7:C0:44:D4:52:4A:DA:4C:12:CF:3F:26:5C:88:08:44:BB:D9:41:1B
Certificate is to be certified until Jun 6 14:55:41 2012 GMT (365 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

Para gerar Certificado/Chave da Filial

# openssl req -nodes -new -keyout filial.key -out filial.csr
Generating a 1024 bit RSA private key
……………++++++
…………………………..++++++
writing new private key to ‘filial.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [BR]:
State or Province Name (full name) [SaoPaulo]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Empresa]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) [AlexCarreira]:
meuemail@qualquercoisa.com []:
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Como no procedimento da Matriz, aqui também necessita que o certificado/chave seja assinado.

# openssl ca -out matriz.crt -in matriz.csr
Using configuration from /usr/lib/ssl/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number: 2 (0x2)
Validity
Not Before: Jun 7 14:58:11 2011 GMT
Not After : Jun 6 14:58:11 2012 GMT
Subject:
countryName = BR
stateOrProvinceName = SaoPaulo
organizationName = Empresa
commonName = AlexCarreira
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
96:BC:6C:0B:BB:77:56:42:11:50:47:63:2F:E2:03:B5:67:75:7C:10
X509v3 Authority Key Identifier:
keyid:C7:C0:44:D4:52:4A:DA:4C:12:CF:3F:26:5C:88:08:44:BB:D9:41:1B
Certificate is to be certified until Jun 6 14:58:11 2012 GMT (365 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

Depois de gerar os certificados, é necessário gerar o protocolo DH (Diffie Hellman) que é o algoritmo usado para a troca de chaves criptografadas durante a execução do OpenVPN.

# openssl dhparam -out dh1024.pem 1024
Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
……………………++*++*++*

Vamos colocar uma camada extra de segurança na nossa VPN utilizando uma chave extra

# openvpn –genkey –secret ta.key

Pronto. Todos os certificados/chaves foram criadas. Agora vamos a parte de configuração da matriz.

# pwd
/etc/ssl/certs

# cp -p ca.crt /etc/openvpn
# cp -p matriz.key /etc/openvpn
# cp -p matriz.crt /etc/openvpn
# cp -p dh1024.pem /etc/openvpn
# cp -p ta.key /etc/openvpn

Vamos ajustar as permissões da chave da matriz: matriz.key

# pwd
/etc/openvpn

#chmod 600 matriz.key

Arquivo de configuração:
# Modo do servidor
mode server                        # Modo que o Daemon rodará
tls-server                             # Tipo de Segurança que o Servidor Utilizará na VPN

# Endereço, porta e protocolo
local 0.0.0.0                          # IP que o OpenVPN escutará – No caso Todos.
port 1194                              # Porta que o OpenVPN escutará
proto udp                             # Protocolo de rede utilizado

# Necessario para o funcionamento com Clientes WINDOWS
dev tun                                  # Dispositivo que o OpenVPN utilizará para criar o Tunnel VPN
topology net30                     # Topologia utilizada pelo OpenVPN “net30” utilizada no caso se ter vários clientes Windows

# Usuarios sem permissoes
user nobody                          # Usuário que o OpenVPN utilizarã no Daemon
group nogroup                      # Grupo que o OpenVPN utilizarã no Daemon

# Arquivos de configuraçao dos clientes
client-config-dir /etc/openvpn/clients                    # Arquivo com as configurações dos clientes

# Certificados
ca ca.crt                                   # Certificado geral
cert matriz.crt                          # Certificado do Servidor
key matriz.key                         # Chave de criptografia do servidor
dh /etc/openvpn/dh1024.pem # Parametros DH
tls-auth /etc/openvpn/ta.key 0 # Camada Extra de segurança 0 para server e 1 para client

# Criptografia
cipher AES-128-CBC               # Tipo de Criptografia utilizada

# Ativa persistencia (Key e TUN)
persist-key                                # Persiste na chave
persist-tun                                # Cria tunnel persistente

# Configuração das Redes
server 10.8.0.0 255.255.255.0   # Rede do Tunnel do Servidor
push “route 192.168.0.0 255.255.255.0” # Configura rota para rede
keepalive 10 120                        # Tempo da conexão
ifconfig-pool-persist ipp.txt     # Mantem o mesmo IP do cliente
client-to-client

# Habilitando Compressão no Tunel
comp-lzo                                       # Ativa compactação LZO

# Arquivo contendo o Status das Conexoes
status /var/log/openvpn-status.log
log /var/log/openvpn.log
log-append /var/log/openvpn.log
verb 6

(EOF)

vamos criar agora, o arquivo ipp.txt que será o arquivo responsável pela configuração de Ips dos clients.

# pwd
/etc/openvpn

# touch ipp.txt

Pronto, o nosso servidor OpenVPN já está funcionando. Vamos iniciá-lo

# invoke-rc.d openvpn start

Antes de falar da configuração do cliente, é necessário baixar o instalador do OpenVPN para Windows, no caso do cliente ser windows, no caso do client ser linux, os arquivos de configuração do openVPN, ficará dentro de “/etc/openvpn”

Para baixar o OpenVPN para Windows, clique em: http://swupdate.openvpn.net/community/releases/openvpn-2.2.0-install.exe

Após baixar, instale o OpenVPN no padrão Windows. Next, Next, Next and Finish. 🙂

Agora, vamos fazer a configuração do cliente. O arquivo de configuração, é muito parecido com o do Servidor, porém algumas linhas, não são necessárias. O arquivo cliente, chama-se “client.ovpn” e no Windows, esse arquivo tem que estar dentro da pasta config do OpenVPN, por exemplo: C:\Arquivos de Programas\OpenVPN\config” na instalação padrão do Windows. Se a sua instalação estiver em caminhos diferentes, altere a letra do drive, caso seja necessário.

mode client                        # Daemon

dev tun                               # Dispositivo utilizado pelo Daemon
proto udp                           # Protocolo utilizado pelo OpenVPN para criar o tunnel
remote 1.2.3.4                    # IP do servidor OpenVPN

resolv-retry infinite
;nobind

# Cria tunnel persistente
persist-key
persist-tun

# Certificados da Filial e arquivo de seguraça extra

ca ca.crt                                                         # Certificado da Autoridade Certificadora
cert filial.crt                                                   # Certificado da filial
key filial.key                                                  # Chave da Filial
tls-auth ta.key 1                                            # Camada Extra de segurança 1 para cliente 0 para servidor

# Criptograia utilizada
cipher AES-128-CBC
ns-cert-type server                                      # Faz comparacao de certificados com o Servidor
comp-lzo                                                        # Ativa compactação LZO

# Ativa Logs – Não funciona em clients Windows
;status %PROGRAMFILES(X86)%\OpenVPN\Log\OpenVPN-status.log
;log %PROGRAMFILES(X86)%\OpenVPN\Log\OpenVPN.log
;log-append %PROGRAMFILES(X86)%\OpenVPN\Log\OpenVPN.log

verb 3

(EOF)

Depois de criar o arquivo de configuração no cominho indicado acima, é necessário copiar o certificado e a chave da filial “filial.crt” e “filial.key”, arquivo “ca.crt” e “ta.key” para a pasta de configuração do cliente.
Depois de criar o arquivo de configuração e copiar os arquivos, vamos iniciar o OpenVPN e conectar na VPN criada.
Caso algum erro seja exibido no console, é necessário fechar o OpenVPN e executá-lo novamente “Como Administrador” para que as rotas de rede sejam criadas.

No caso do cliente ser derivado do Debian Gnu/Linux, pode-se também instalar o gnome-network-manager-openvpn para conectar na VPN pelo console gráfico. As outras distros que utilizam networkmanager GUI, acredito que também tenham um cliente OpenVPN para o console gráfico.

Bom galera, acho que é só. Qualquer dúvida, crítica ou elogios serão bem vindos.

Valeu! Até a próxima


Lançamento Ubuntu 10.10

No dia 10 do mês 10 do ano de 2010 foi lançado a versão 10.10 do Ubuntu.
Vamos falar um pouco sobre as novidades dessa nova versão.

UNITY DESKTOP

A versão 10.10 do Ubuntu, conta com alguns recursos visuais muito interessantes como por exemplo o Unity Desktop no Ubuntu Netbook Remix. Que nada mais é, que a interface gráfica do Sistema. Com o Unity Desktop, é possível aproveitar melhor o espaço da tela que no caso do Netbook, é bem reduzido. A principal característica do Unity Desktop é a “Barra de Menus” que é bem semelhante à do sistema Mac OS X.

VISUALIZADOR DE IMAGENS PADRÃO

Essa versão do Ubuntu não conta mais com o visualizador de imagens F-Spot como na versão 10.04. Agora ele utiliza o Shotwell que é parecido com o F-Spot, porém com alguns recursos refinados e bem parecido com o Picasa.

 

TOUCH SCREEN

O Ubuntu possui suporte nativo para multitouch. Isso significa que ao rodar o sistema operacional em máquinas com tela sensível ao toque, você pode usar e abusar desta função.

 

EASYSTROKE

O Ubuntu, conta com um aplicativo muito interessante chamado Easystroke. O Easystroke faz reconhecimento gestual para uso em Tablets e com monitores sensíveis ao toque, pode ser utilizado também para dar mais funcionalidade ao cursos do mouse.

OUTRAS NOVIDADES

O Ubuntu 10.10, não vem por padrão com o APTITUDE para instalação de aplicativos. Agora tem que utilizar o APT-GET como nas versões anteriores.

Essa versão do Ubuntu conta com alguns temas novos e papéis de parede novos também.
A versão 10.10, conta com a integração do Rhythmbox com o Controle de Volume, onde é possível utilizar esses comandos no próprio controle de volume.

VISÃO GERAL

A Canonical, que é a empresa que desenvolve o Ubuntu, está cada vez mais preocupada com o usuário final. Na praticidade da utilização do Sistema Operacional.
Com isso, ela está cada vez mais utilizando ferramentas e recursos para facilitar o uso do Sistema Operacional no dia-a-dia. Com isso, o GNU/Linux está deixando de ter aquele Tabú de ser Sistema Operacional para “Quem Sabe”. Hoje em dia muitos computadores novos, são vendidos com GNU/Linux instalados. E cada vez mais, esse sistema cresce. Pelo fato de não ser necessário pagar montes e montes de dinheiro, poder utilizar, atualizar a versão sem ter o pensamento: “Estou utilizando cópia pirata”.
Claro que existe no mundo GNU/Linux as distribuições pagas, mas, existem também as que são Free e OpenSource.
Acredito que nas próximas versões do Ubuntu, já teremos mais aplicativos que nos “ajudam” ainda mais nas nossas tarefas do dia-a-dia.

Até o próximo post.