Coisas que você nunca vai ver em entrevistas.

Já reparou como nas entrevistas com o elenco de um filme todos compartilham a visão do diretor, ficaram excitados com a experiência, amaram trabalhar com todo mundo, acham o resultado perfeito, etc? Ninguém reclama de nada? Você pode assistir a 20 entrevistas uma depois da outra e todas parecem saídas do mesmo molde. É uma tremenda perda de tempo.

Já reparou como em toda entrevista feita durante um evento qualquer (feira, congresso, etc.) a coisa é invariavelmente um sucesso? Ninguém nunca vai dizer que está uma porcaria, porque aí é que ninguém mais vai mesmo. Mentir é regra geral.

Isso me lembra de quando, eras atrás, eu estava com meu “empregador” da época (nunca fui funcionário dele de verdade) em uma feira e apareceu a Globo para fazer uma matéria sobre um produto que era a atração do stand da empresa. Eu me recusei sistematicamente a atender os pedidos da repórter para dar entrevista sobre o produto até que vi que não adiantava simplesmente dizer “não” e confessei: “eu não gosto do produto”.

Ela fez uma cara que era um misto de surpresa e compreensão. Parou de me incomodar sem dizer mais uma palavra e foi entrevistar o dono da empresa. A matéria, positiva, sobre o produto saiu de qualquer maneira.

 

1 comentário
  • Paulo - 46 Comentários

    A única vez que assisti a uma entrevista em que vi reclamação, foi com a dos atores do filme O Iluminado. A única atriz a se queixar foi a Shelley Duvall. Ela disse que o diretor a pressionava muito. Nas demais entrevistas, o que se percebe é uma hipocrisia ilimitada.
    “O diretor é fantástico”, “Sim, amei trabalhar com toda a equipe”…

    E seja em filmes ou em empresas, quanto mais mentiras bem contadas, mais sucesso o indivíduo vai obter.
    Se nota a falsidade dos setores de RD(recursos desumanos) até pelo linguajar. “Diante das mudanças no mercado… os seguintes nomes não mais fazem parte do nosso quadro de colaboradores”.
    “Mudanças no mercado”. Eufemismo para “o funcionário conseguiu um emprego que paga melhor”, “pediu demissão” ou “foi demitido”.
    “Colaboradores”. Eufemismo para “empregados” ou “funcionários”. A ideia é afastar o conceito de ser mandado por alguém. Na verdade, a única maneira de a pessoa não ser mandada por alguém, seria virar patrão ou autônomo. Se bem que mesmo nesse caso, existe um chefe: o cliente. Se o produto ou serviço não for como ele gosta, vc perde dinheiro.

    Atendentes de telemarketing são orientados a mentir, como quando o cliente pede a ajuda de um técnico em telecomunicações, mas ele não pode ir, porque o local é “área de risco”. Quando o bairro é tido como muito violento e a empresa não quer arriscar a segurança do funcionário.
    O atendente inventa milhões de desculpas, mas não diz de forma nenhuma a razão da falta de comparecimento do técnico. E o pobre cliente lá, esperando, esperando…

    Estamos tão cercados de gente falsa que a única esperança são os laços de amizade e de amor. De resto, é preciso analisar calmamente.

Clique para comentar
(Prefira clicar em "Responder" se estiver comentando um comentário)

Deixe um comentário

Você pode usar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

:) :( ;) O_o B) :lol: :huh: :S :D :-P 8-O :yahoo: :rtfm: :dashhead1: :clapping: more »

Instalações do Windows 7 e Windows 8.1 podem voltar a baixar o Windows 10 sem seu consentimento.

Conforme reportado aqui, usuários do Windows 7 e 8.1 que não tem interesse no Windows 10 e ainda não se livraram do utilitário Get Windows 10 (GWX) podem ter problemas com inexplicável lentidão no acesso à internet enquanto cada máquina na rede “infectada” com o GWX baixa seus 3GB (ou seriam 5GB?) da atualização silenciosamente. Dizer ao GWX que você não está interessado não adianta.

Existem relatos de usuários de que a instalação também pode ser iniciada sem seu consentimento, mas isso não foi confirmado ainda. E já ouvi demais de “eu não fiz isso” de usuários inconseqüentes para acreditar cegamente.

A propósito, apesar da MS dizer que o Windows 10 não está disponível gratuitamente para instalações ilegais, usuários da versão Jack Sparrow do Windows tem atualizado para a versão 10 sem dar qualquer passo adicional.

Essa versão do Windows é muito “oferecida” pro meu gosto…

 

OBS.: Os primeiros comentários abaixo foram movidos para cá de outro post, onde eram off topic.

12 comentários
  • VR5 - 397 Comentários

    Alguma previsão de começar a “brincar” no Windows 10? Estou usando em casa e estou bem satisfeito: do W7 para o W10 houve uma sensível melhora de performance!

    • Jefferson - 6.631 Comentários

      Isso vai demorar ainda e no meu desktop o Windows 10 só tocará quando existir um razoável consenso de que o SO pode ser feito seguro contra a espionagem (“telemetria”) da MS.

      • Ricardo Menzer - 143 Comentários

        Acho que então isso vai demorar bastante. Me parece que o Windows 10 é muito “aberto”.

        Uma coisa que me deixou boquiaberto: Durante a atualização, existe uma opção que dá a entender que:
        1 – Você pode permitir que o computador FORNEÇA(!!!) atualizações para outros PCs na rede interna e NA INTERNET(!!!!!!)
        2 – Você pode permitir que que o computador OBTENHA atualizações de outros PCs na rede e da Internet!

        Agora, outra coisa, essa que me deixou realmente revoltado: eu, obviamente, desmarquei essa opção na atualização. Mas acabei esbarrando nela depois do windows instalado e estava ativada. 8-O 8-O 8-O 8-O
        Ou seja: minha opção de desativar essa barbárie foi sumariamente ignorada pelo Windows.

        Eu sei que deve existir algum mecanismo de validação desses arquivos de atualização. Mas eu já pouco confio nas atualizações vindas do servidor da MS, como eu vou permitir que meu Windows Update (que tem permissão e mecanismo pra fazer qualquer coisa no sistema) use uma fonte desconhecida da Internet??

        Estou até ignorando as questões de uso de banda para a MS transformar o meu PC em um mini-update-server deles…

        PS.: Procurei aqui como chegar nessa opção. Demorou um pouco porque essa nova UI do Windows é extremamente confusa pra mim. A opção fica muito bem escondida em: Iniciar > Configurações > Atualização e segurança > Windows Upadate > Opções avançadas > Escolher como as atualizações serão obtidas.

        • Jefferson - 6.631 Comentários

          Como os updates são assinados, apenas um Windows já comprometido instalaria updates inválidos, então aí eu não vejo grande problema. Já o Windows ser um servidor P2P de updates dentro da rede local eu acho muito benéfico. Um dos motivos para eu desativar atualizações automáticas é justamente o fato de que uma dezena de computadores baixando atualizações silenciosamente em horários incertos numa banda larga merreca se torna um problema. Se um Windows 100% atualizado puder fornecer todos os updates para uma máquina recém instalada, ainda melhor!

          Mas sem conhecer todos os detalhes eu não confio. Por exemplo, servir atualizações também via internet é uma tremenda roubada!

          • Ricardo Menzer - 143 Comentários

            A única vantagem que eu vi nesse esquema é, assim como você, a economia de banda no download. Mas eu preferiria, sendo o administrador da rede, ter a opção de configurar um servidor dedicado para isso e devidamente “sob controle”, e não o PC da Mariazinha que navega sabe-se lá em que sites e baixa tudo o que aparece pela frente. Por mais assinados que sejam, não confio em trocas de arquivos entre computadores suspeitos.

            De qualquer forma, a habilitação do recurso não pode ser separada em “download” e “upload”. Ou se ativa tudo, ou nada. Na minha máquina, vou continuar com o “nada”. Mas realmente me incomodou muito eu achar essa opção ativada mesmo após tê-la desabilitada na instalação.

  • VR5 - 397 Comentários

    Ricardo, isso não aconteceu depois de uma “big atualização” do W10? Logo que eu instalei o 10 no dia seguinte isso aconteceu e algumas configurações que eu tinha feito voltaram para o “default”. Essas “big” seriam como “servisse packs” ou mesmo novas builds. É como se fosse do w10 para um W10.1 (por exemplo). De acordo com a MS daqui por diante não existirão mais W11, W12, etc…

    • Ricardo Menzer - 143 Comentários

      É possível. O windows solicitou agendar uma reinicialização para instalar atualizações alguns dias depois do Upgrade. De qualquer forma, ele deveria ter salvo minha preferência. Ou, ao menos, ter perguntado novamente como eu gostaria de deixar configurado.

      • Jefferson - 6.631 Comentários

        Você não é a primeira pessoa que vejo reclamar de que atualizações do Windows 10 estão revertendo preferências do usuário. Normalmente isso não seria problema para mim porque raramente faço atualizações exceto instalar service packs, mas no Windows 10 até se negar a receber atualizações é mais complicado que o normal.

        • VR5 - 397 Comentários

          E aparentemente os servisse packs não existirão mais no W10 em diante…

          • Jefferson - 6.631 Comentários

            Eu vejo isso como um grande problema, pois só existirão dois estados conhecidos possíveis:

            Windows 10 RTM
            Windows 10 totalmente atualizado

            E quanto mais tempo passar, maior a diferença entre eles. A própria MS usava os Service Packs como pontos de referência para o suporte. Nunca era exigido que o Windows estivesse totalmente atualizado, mas sempre que pelo menos o SPx estivesse instalado.

            Sem pontos de referência, isso vai virar “uma zona”. Eu já me aborreço quando alguém dá uma resposta do tipo “O Windows está atualizado?” a um pedido para resolver um problema e agora isso vai ficar ainda mais comum.

        • Saulo Benigno - 279 Comentários

          Se não me engano houve um problema referente a isso no Windows 10 e eles corrigiram em uma última atualização esses dias ainda.

  • Saulo Benigno - 279 Comentários

    E sou muito feliz utilizando o “GWX Control Panel (formerly GWX Stopper)” para remover tudo de ‘atualização’ para Windows 10.

    Download
    http://ultimateoutsider.com/downloads/

    Guia de utilização
    http://blog.ultimateoutsider.com/2015/08/using-gwx-stopper-to-permanently-remove.html

    O melhor programa existente para remover isso. Recomendo muito, limpa TUDO. Detecta tudo, se tá rodando o update, o programa, etc.

Clique para comentar
(Prefira clicar em "Responder" se estiver comentando um comentário)

Deixe um comentário

Você pode usar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

:) :( ;) O_o B) :lol: :huh: :S :D :-P 8-O :yahoo: :rtfm: :dashhead1: :clapping: more »

Blog atualizado para WordPress 4.3.1

Eu ainda estava usando a versão 3.1. Espero que não quebre nada, mas o carregamento da página inicial está estranhamente lento aqui.

6 comentários
  • VR5 - 397 Comentários

    Aqui foi normal…

    • Jefferson - 6.631 Comentários

      Aqui voltou ao normal. É possível que tenha sido o cache do WordPress.

      • Luciano - 493 Comentários

        Sim, o cache dá umas enroscadinhas quando atualiza. Eu atualizei (backup feito antes eheh) o meu parao 4.3.1 a uns dias e não deu nenhuma quebra.

        • Jefferson - 6.631 Comentários

          Eu ia comentar que você provavelmente não deu um salto tão grande quanto o meu, de 3.1 para 4.3.1. Mas fui fazer uma checagem e descobri que minha ultima atualização foi para a versão 3.6, em outubro de 2013. Eu ainda estou tentando entender como eu podia estar ainda com a versão 3.1. Eu sou meio distraído para certas coisas, mas o Media Manager do QuickTalk certamente não era o da versão 3.1. Essa versão nem suportava drag and drop de imagens ainda.

          • Luciano - 493 Comentários

            Bom… o meu salto foi da 4.2.5 para 4.3.1

            Realmente da 3.6 pra 4.3.1 teve muitas atualizações ehehe.

            Eu não atualizo religiosamente a cada nova versão, eu dou uma lidinha no pontos das atualizações, se for coisa que eu vejo que não me afeta diretamente ou não é bug escandaloso, eu deixo pra lá espero a próxima.

            Como eu já te disse no outro post, eu tenho todas as atualizações salvas em backup que fiz, desde a 2.9.2 que foi quando eu migrei do bloger.com.br para o WordPress. E nisso já se vão 15 atualizações feitas. :)

  • Jefferson - 6.631 Comentários

    Mais mudanças:

    Atualizei WP-DBManager Versão 2.63 para 2.78
    Deletei Watermark RELOADED e Watermark My Image, que nunca funcionaram mesmo.

Clique para comentar
(Prefira clicar em "Responder" se estiver comentando um comentário)

Deixe um comentário

Você pode usar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

:) :( ;) O_o B) :lol: :huh: :S :D :-P 8-O :yahoo: :rtfm: :dashhead1: :clapping: more »

O que tem de diferente agendar a execução de um script powershell?

Configurar a execução automática de um script powershell no Agendador de Tarefas do Windows deveria ser fácil. Afinal é uma tecnologia Microsoft em um SO da Microsoft, configurada em uma GUI.  10 segundos no máximo, certo?

Grande engano.

Eu não vou explicar aqui como se agenda uma tarefa, porque envolve um monte de passos e detalhes que só vão distrair. O “segredo” está todo na definição da ação:

ScheduledTask_Powershell_ryan.com.br

  • Programa/script: Powershell.exe
  • Argumentos: -executionpolicy bypass -File <caminho_completo_script>

Leva até menos que 10 segundos, mas quando você já sabe como fazer.

Dependendo da sua instalação do Windows, “-executionpolicy bypass” pode não ser necessário porque a diretiva de execução pode ter sido mudada.

Testado no Windows 8.1 x64.

1 comentário
Clique para comentar
(Prefira clicar em "Responder" se estiver comentando um comentário)

Deixe um comentário

Você pode usar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

:) :( ;) O_o B) :lol: :huh: :S :D :-P 8-O :yahoo: :rtfm: :dashhead1: :clapping: more »

Yahoo e Gmail estão rejeitando ou jogando no SPAM mensagens do meu domínio.

O problema começou há algumas semanas, com o Yahoo rejeitando o recebimento de mensagens.

host mta5.am0.yahoodns.net[98.138.112.37]

said: 421 4.7.0 [TS01] Messages from 192.185.50.161 temporarily deferred
due to user complaints

Ontem o gmail começou a jogar até mesmo as mensagens que recebo, das mesmas contas de email, na minha caixa de SPAM, alegando algo como:

Descobrimos que muitas mensagens de gator3299.hostgator.com são spam

Isso significa que provavelmente todos vocês que comentam aqui e usam o gmail vão ter os avisos do meu servidor jogados na caixa de SPAM.

É importante notar que minha conta é compartilhada e um número indefinido de outros usuários estão no mesmo servidor gator3299.hostgator.com. Fiz uma busca em ferramentas de verificação de blacklists como esta e o servidor não está com a ficha tão suja assim. Constando hoje em apenas 2 listas de um total de 102.

Abri um ticket para o suporte Hostgator perguntando o que posso fazer e aguardo resposta.

 

 

 

4 comentários
  • Jefferson - 6.631 Comentários

    As mesmas mensagens quando lidas no Chrome para Android são mais preocupantes

    Descobrimos que muitas mensagens de ryan.com.br são spam

    Isso para os mesmos emails. No Windows o gmail diz uma coisa e no Android ele diz outra.

  • Jefferson - 6.631 Comentários

    Ontem à tarde o gmail parou de mandar as mensagens do meu domínio para a minha caixa de SPAM. Ainda não sei como ele está se comportando para o público em geral.

  • Jefferson - 6.631 Comentários

    Falei cedo demais. Apenas uma mensagem escapou do SPAM.

  • Jefferson - 6.631 Comentários

    O problema voltou; Novamente yahoo está rejeitando mensagens e o gmail está jogando no SPAM mensagens vindas do servidor de email da hostgator que serve o meu domínio.

Clique para comentar
(Prefira clicar em "Responder" se estiver comentando um comentário)

Deixe um comentário

Você pode usar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

:) :( ;) O_o B) :lol: :huh: :S :D :-P 8-O :yahoo: :rtfm: :dashhead1: :clapping: more »

Testando o Crayon Syntax Highlighter

Há mais de três anos eu vinha usando o Syntax Highlighter Evolved, mas apesar do nome o danado do complemento não é tão “evoluído” assim e de vez em quando suas limitações me incomodavam, entre elas definir o tamanho da janela de código, para que uma listagem imensa não vire um post imenso. Aí eu esbarrei na semana passada em um blog que usava um highlighter bem mais atraente. Dei uma olhada no código-fonte e acabei descobrindo o Crayon Syntax Highlighter, que já comecei a testar na minha série de textos sobre DDNS. E um post que já deixei bem mais organizado graças a isso é minha análise do mini-NVR chinês.

Eu não removi o Syntax Highlighter Evolved porque ele não parece ter entrado em conflito com o Crayon e pode ser usado nos comentários facilmente.

Clique para comentar
(Prefira clicar em "Responder" se estiver comentando um comentário)

Deixe um comentário

Você pode usar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

:) :( ;) O_o B) :lol: :huh: :S :D :-P 8-O :yahoo: :rtfm: :dashhead1: :clapping: more »

DNS Dinâmico: criando seu próprio DDNS no cPanel – Parte 3: atualizadores.

Graças à modificação feita por Ethanpil no script cPanel original (parte 2 deste texto), os métodos que vou explicar  a seguir são compatíveis com a atualização de serviços como dyndns e no-ip. Ou seja: você pode usá-los também, com pequenas modificações, para atualizar seu IP dinâmico oferecido por esses serviços.

É interessante consultar também: DNS Dinâmico: Como ter no seu site a funcionalidade de whatismyip, check.dyndns ou icanhazip

Windows – arquivo batch híbrido com javascript

Uso

Edite as variáveis na zona javascript

E faça uma edição correspondente na zona batch

Salve o script com a extensão .cmd em uma máquina Windows qualquer que esteja na mesma rede cujo IP externo você quer atribuir ao host. Crie uma tarefa agendada que o execute a cada x minutos.  Se não for detectada nenhuma mudança no IP, o script que se conecta ao cPanel nem será chamado.

Testado apenas no Windows 8.1 x64. Não requer permissão de administrador para rodar.

Esse script não tem nenhuma checagem contra problemas de conectividade.

 

Windows – Powershell

 

 

Uso

  • Edite as variáveis no início do script
  • Salve como, por exemplo, ddns_updater.ps1
  • Use um batch como o seguinte para executá-lo, adaptando o caminho para o arquivo de acordo com sua situação:

  •  Crie uma tarefa agendada que execute esse batch a cada x minutos.  Se não for detectada nenhuma mudança no IP, o script que se conecta ao cPanel nem será chamado.

Testado apenas no Windows 8.1 x64. Não requer permissão de administrador para rodar.

Esse script não tem nenhuma checagem contra problemas de conectividade.

O arquivo batch intermediário é necessário porque, como o Windows é alvo de abusos e o Powershell é poderoso, a MS decidiu bloquear a execução de scripts Powershell por default. Aparentemente é possível agendar uma tarefa para rodar o script diretamente, mas ainda preciso confirmar isso.

 

Outro dia eu expandirei este texto com exemplos de:

 

  • Arduino
  • DD-WRT/OpenWRT

 

4 comentários
  • Jefferson - 6.631 Comentários

    Acrescentei um exemplo Powershell

  • VR5 - 397 Comentários

    Bom dia Jefferson e colegas. Não sei se podem me ajudar, mas queria uma dica de vocês: atualmente minha filha de 9 anos tem um tablete infantil (da Frozen…) e ele já está fraquinho/memória interna cheia. Pensei em comprar um novo, mas sinceramente as especificações de tablets infantis praticamente não evoluíram nada desde que comprei esse pra ela (cerca de 2 anos). E os tablets “adultos” são muito caros! Eu mesmo tenho um velho Samsung GalaxyTab 3 e eles já está “entregando os pontos” também (não em memória mas em processamento mesmo). O que me aconselhariam nesse caso?

Clique para comentar
(Prefira clicar em "Responder" se estiver comentando um comentário)

Deixe um comentário

Você pode usar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

:) :( ;) O_o B) :lol: :huh: :S :D :-P 8-O :yahoo: :rtfm: :dashhead1: :clapping: more »

DNS Dinâmico: Como ter no seu site a funcionalidade de whatismyip, check.dyndns ou icanhazip.

Eu coloquei “whatismyip” no título mais para fins de compreensão imediata da finalidade. Eu não pretendo duplicar a funcionalidade desse serviço específico porque ela cresceu além das necessidades do DNS dinâmico. O script a seguir duplica exatamente a funcionalidade e resposta de icanhazip.com e pode facilmente duplicar a resposta de check.dyndns.com com o mero acréscimo de algumas palavras.

A finalidade é não depender de terceiros. Se você tem um site, por que não usá-lo? Com o bônus de não ter nenhuma surpresa futura com o dono do domínio avacalhando tudo (direito dele) e obrigando você a mudar seus scripts, como aconteceu com whatismyip.com.

O script é decepcionante simples:

Basta salvar isso como, por exemplo, “meuip.php” no seu site e rodá-lo de qualquer lugar. O resultado é idêntico ao de icanhazip.com.

Há quem acredite que  o conteúdo da variável REMOTE_ADDR pode ser falsificado pelo usuário e induzir uma vulnerabilidade no script, e que por isso você deveria ao menos checar se o valor recebido é mesmo um valor IP, como neste exemplo:

 

Mas segundo o que é explicado aqui e pelo usuário Achernar aqui, essa preocupação não se justifica, porque REMOTE_ADDR é preenchida pelo servidor www (apache, por exemplo) com o valor na camada de rede, que só pode ser um IP mesmo. Ao contrário de outras variáveis como aquela que identifica o seu browser (HTTP_USER_AGENT) e que podem ter na realidade qualquer texto que o usuário remoto queira.

Então você pode usar o primeiro script sem medo.

 

Clique para comentar
(Prefira clicar em "Responder" se estiver comentando um comentário)

Deixe um comentário

Você pode usar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

:) :( ;) O_o B) :lol: :huh: :S :D :-P 8-O :yahoo: :rtfm: :dashhead1: :clapping: more »

Como descobrir qual é o seu IP externo e o que danado é isso?

Este texto é auxiliar da série de textos sobre DNS dinâmico.

O seu modem é sempre o primeiro a saber qual o seu IP externo e seria perfeito se existisse um mecanismo padronizado para que ele avisasse quando obtivesse um IP. Infelizmente esse mecanismo não existe e o meio mais “simples” de saber qual o seu IP externo acaba sendo, contra-intuitivamente, perguntar a terceiros!

Você pode nem saber o que é um IP externo mas cada site que você acessa sabe qual é o seu, porque essa informação é indispensável e faz parte do protocolo de conexão. Sendo assim, como a maioria dos meus leitores deve saber, há muito tempo sites vem oferecendo uma gambiarra para contornar essa deficiência dos protocolos de conexão à internet: basta abrir a página deles que eles respondem com o seu endereço IP. Entre eles estão:

  • http://whatismyip.com/ – Eu suponho que seja o mais conhecido de todos, mas as constantes mudanças no código fonte dificultam seu uso em projetos de automação e o constante entulhamento da interface dificulta até perguntar a alguém pelo telefone que número está aparecendo;
  • http://www.ipchicken.com/ – Faz DNS reverso automático, mostrando a você o nome DNS da sua conexão. Útil quando você quer saber se a linha é GVT ou Velox ou se é IP fixo ou dinâmico.
  • http://icanhazip.com/ – Serviço oferecido por Major Hayden. Embora esteja entre os mais feios, é o mais prático. A resposta é unicamente o endereço IP em texto puro, sem formatação. Perfeito para uso em automação. Neste outro texto explico como ter a mesma funcionalidade no seu site;
  • http://checkip.dyndns.com/

Mas o que danado é IP externo?

Como este texto foi criado primariamente para dar suporte aos meus textos sobre DNS dinâmico eu imagino que a maioria dos leitores não precise ser lembrado do que é isso. Porém muita gente pode cair aqui via Google, então aí vai uma explicação sucinta, que eu posso ou não expandir depois (não tenho tempo agora):

Uma das primeiras coisas a confundir os novatos é que cada dispositivo conectado à internet através de um roteador (que pode ser o modem) tem dois endereços IP:

  • O interno, que só vale dentro de sua própria rede e é você quem determina. Se você estiver de qualquer forma conectado a uma rede, você tem um endereço IP interno, mesmo que seja “inventado” pelo SO (endereços de auto configuração);
  • O externo, que é o IP atribuído pelo provedor de acesso à sua conexão e na maioria das conexões ADSL muda toda vez que você desconecta e reconecta. Esse endereço somente existe quando você está conectado à internet E geralmente só é importante se você deseja que alguém inicie uma conexão com você a partir da internet.

Como explicado acima, o IP externo não é uma informação “óbvia”, depende de você estar conectado ou não à internet e geralmente muda com freqüência. Não é algo que possa simplesmente ser memorizado. Se alguém pergunta a você “qual o seu IP externo?” geralmente está esperando que você verifique ou tenha verificado isso recentemente pelos meios indicados acima ou similares.

 

2 comentários
  • Sidmar - 1 Comentário

    Jefferson, acompanho seu blog desde os tempos do portal (hoje “https://ryan.com.br/dvd_portal.htm”) e adoro muito tanto o que escreve como a forma como escreve.
    Nunca achei necessário intervir antes pois a grande maioria dos temas são novidade ou fora da minha área de atuação mas neste caso acho que tenho algumas informações que podem, ou não, ser interessantes.
    Você pode editar este comentário a vontade, retirando o que não for pertinente, que não vou ficar incomodado. Muito pelo contrário, vou me sentir orgulhoso se passar pelo seu “filtro” pessoal.
    Com relação ao tema endereço IP não seria mais “correto” utilizar os termos público/privado ao invés de externo/interno?
    Em ambos os casos são endereços IP (um número de 32 bits) mas o que difere sua função seria a possibilidade dos endereços públicos serem roteáveis pelos equipamentos da Internet enquanto os privados não, embora todos eles são roteáveis de maneira geral mas os endereços privados são bloqueados pelos equipamentos da rede mundial.
    Você ainda me surpreendeu ao utilizar os termos externo/interno pois o que normalmente tenho visto por aí são válido/inválido. Tá, eu sei que externo/interno cabe bem melhor no contexto do tema do que válido/inválido e também sei que você é experto o suficiente para saber a diferença, mas porque não público/privado? Nem acho que seria necessário alterar a sua explicação para usar estes termos.
    De qualquer forma, muito obrigado pela oportunidade de me expressar a respeito do tema.

    Sidmar.

    • Jefferson - 6.631 Comentários

      Sidmar,

      Somente mais ou menos uma hora depois de publicar o texto eu me lembrei de que geralmente se usa o termo “ip público”. Eu escrevi externo porque na ocasião eu estava trabalhando com várias fontes que chamavam de “external” e nenhuma que chamava de “public”, daí fiquei “contaminado” pelo termo. Entretanto Eu fiquei matutando se deveria mudar o texto e fiquei em dúvida, porque o IP externo nem sempre é literalmente “público”. “Válido/Inválido” no contexto da minha explicação soa ainda pior. Eu ainda não decidi o que fazer a respeito.

      Mas obrigado pela contribuição.

Clique para comentar
(Prefira clicar em "Responder" se estiver comentando um comentário)

Deixe um comentário

Você pode usar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

:) :( ;) O_o B) :lol: :huh: :S :D :-P 8-O :yahoo: :rtfm: :dashhead1: :clapping: more »

DNS Dinâmico: criando seu próprio DDNS no cPanel – Parte 2: automatizando.

Na parte 1 deste texto eu expliquei como criar um “A RECORD” no seu domínio usando o cPanel que aponta para um IP qualquer na internet, imitando o funcionamento de um serviço de DNS dinâmico como o no-ip ou dyndns. Nesta segunda parte eu começo a explicar como automatizar a atualização desse registro. A automação do processo é dividida em duas partes para facilitar a implementação em dispositivos mais simples, como roteadores. E também facilita a implementação e o diagnóstico.

AVISO: O script que apresentarei a seguir tem problemas de segurança que você deve conhecer. Preste atenção a tudo o que é explicado antes de usá-lo.

Origem

A automação do processo de atualização da zona DNS no cPanel foi elaborada por Mitchel Haan e publicada em seu site [link morto] em abril de 2013. O site de Mitchel foi apagado em algum momento entre 5 e 23 de fevereiro de 2015 mas por sorte ainda existe uma cópia na Wayback Machine. De qualquer forma a versão que apresento a seguir é uma adaptação feita por Ethanpil.

Uso

A primeira coisa a fazer é preencher toda a seção de variáveis. As duas primeiras podem ser o que você quiser porque servem apenas para identificar você ao executar o script, evitando que terceiros possam remotamente executar o seu script indicando um IP sob controle deles.

As outras variáveis são relacionadas ao seu domínio e sua conta cPanel:

Note o “.” inicial na última variável. Não é erro de digitação. Sem ele o script não funciona.

Parâmetros do script

  • hostname – indispensável. É o nome do host cujo IP você quer atualizar;
  • myip – Endereço IP que você quer atribuir ao host indicado por hostname. Se você omitir, o script usará o IP que consta no cabeçalho da conexão http (o IP de quem executou o script).

Parâmetros são separados pelo caractere “&”. Cada valor é separado do respectivo parâmetro pelo caractere “=”. Estas são convenções universais e não do script.

Salve o script no servidor www. Digamos que tenha sido na raiz do domínio exemplo.com.br e o nome do arquivo seja atualiza.php.

Rode o script colocando em qualquer browser, exceto Internet Explorer:

http://nome_de_usuario:senha@exemplo.com.br/atualiza.php?hostname=teste&myip=189.70.37.12

Isso atualizará o host teste.exemplo.com.br para apontar para o IP 189.70.37.12

Se tudo estiver OK a resposta do script, no browser, será algo assim:

Na terceira parte desta série de textos eu vou abordar as maneiras de você enviar esse comando para o script automaticamente. Mas é importante que o que expliquei até aqui já esteja funcionando corretamente. Se não está, não adianta procurar a solução na Parte 3.

Para quem nunca viu um URL como o acima:

A sintaxe http://usuario:senha@dominio é uma forma muito antiga e conveniente de passar credenciais de autenticação HTTP básica no URL, permitindo até mesmo gravar a autenticação nos favoritos. O IE deixou de suportar isso a partir da versão 7 porque começou a ser usado para fins maliciosos

Problemas de segurança

1 – Isso não é jeito de tratar credenciais cPanel

O script foi criado com a intenção de rodar no mesmo servidor onde roda o domínio a atualizar. Entretanto isso é preocupante porque como você pode ver, as credenciais cPanel são escancaradas no script:

Qualquer invasor que tenha acesso meramente de leitura ao seu diretório www (e existem infindáveis meios de se conseguir isso) poderá eventualmente esbarrar nesse script e aí… “perdeu playboy”. Com as credenciais cPanel o invasor tem o controle de toda a conta, com todos os seus domínios, www, email, bancos de dados… No meu caso isso seria uma catástrofe.

Uma forma de minimizar esse problema é rodar esse script fora do domínio que ele atualiza. Por exemplo, se você já tem um servidor local rodando 24h, que não oferece nenhum serviço para a internet (menos vulnerável), você pode rodar o script nele. Uma “gambiarra” para conseguir isso em uma máquina Windows sem precisar fazer qualquer modificação no script é instalar o XAMPP.

Eu simulei isso no meu desktop e funcionou. Mas tenha o cuidado de manter o uso de https na variável $dyndnsCpanel. Dessa forma será bem mais difícil capturar as suas credenciais do cPanel interceptando a conexão entre seu servidor local e o seu domínio:

Se você usar http (nem estou certo de que o cPanel permita) as credenciais cPanel poderão ser interceptadas.

Outra forma de tentar minimizar o problema é obfuscar o código PHP. Obfuscação não vai impedir um invasor determinado a descobrir do que se trata, mas dificulta bastante. Se você der um nome ao script que não denuncie seu propósito e obfuscar o suficiente o conteúdo, aumenta muito as chances de que o invasor ache que não vale a pena perder tempo com isso. Deixando escancarado qualquer script kiddie vai ter um orgasmo. Como fazer essa obfuscação precisará ser tema para outro texto.

 2 – A conexão com o script pode ser interceptada

Estando o script em uma máquina remota, as credenciais de acesso ao mesmo podem ser interceptadas com relativa facilidade, porque são transmitidas claramente no URL:

http://nome_de_usuario:senha@exemplo.com.br/atualiza.php?hostname=teste&myip=189.70.37.12

Isso não é problema se no lugar de HTTP o seu domínio usa HTTPS, porque nesse caso até o URL é criptografado.

Mas se você não usa HTTPS qualquer pessoa observando o seu tráfego, como o operador do seu provedor de acesso via rádio, poderá assumir o controle de para onde aponta esse hostname. Dependendo do quanto ele seja esperto ele pode conseguir induzir você a fornecer senhas de acesso extras simulando em máquina controlada por ele o dispositivo que você quer acessar, entre outras coisas.  Se você rodar o script fora do seu domínio como explicado no item anterior pode minimizar esse problema também.

Nota: na primeira revisão deste texto eu afirmei que os serviços de DDNS gratuitos como o no-ip e dyndns também são vulneráveis a interceptação. Isso está parcialmente correto. O no-ip, por exemplo, suporta http e https, mas o simples fato de suportar os dois já é motivo para preocupação porque só Deus sabe que protocolo está usando o danado do roteador, modem ou dvr onde nós colocamos nossas credenciais. Somente interceptando nós mesmos a atualização para termos certeza.

7 comentários
  • Luciano - 493 Comentários

    Jefferson, eu uso um esquema diferente. Eu lembro quando postaram sobre este script na PICLISTBR, mas fiquei bastante receoso com o fato de deixar as credenciais do cPanel de certa forma vulneráveis.

    O que uso, embora dependa também de confiança de terceiros, pelo menos no tempo que uso e dado o tempo que o serviço existe, eu dei meu voto de confiança. Se não conhece, apresento-lhe o site: http://www.afraid.org/

    Ele oferece o serviço de DDNS, você pode escolher entre os que pertencem ao administrador do site ou algum dos inúmeros disponibilizados por terceiros (ai vai da confiança…). Registrei alguns sub-domínios usando um dos disponibilizados pelo admim e uso um dos clientes pra windows também disponibilizados por lá. Nos dispositivos que precisei usar, tenho o DDWRT que suporta url custom.

    Em um dos meus domínios, fui no cPanel e criei um sub-domínio meu, que redireciona para um dos que criei no afraid.

    Assim, caso amanhã um daqueles dominios do admim expirem, eu posso trocar por outro ou até mesmo registrar um meu, e apenas altero o meu redirecionamento, sem precisar mexer em uma vírgula do que já está configurado em meus dispositivos.

    Utilizo a pelo menos uns 5 anos e não tive qualquer problema até agora.

    • Jefferson - 6.631 Comentários

      Discutimos isso em agosto de 2014. O problema para mim, conforme eu disse na época:

      “Eu até pensei em usar o serviço de afraid.org, mas a “gambiarra” (apontar para meu domínio, que aponta para afraid.org, que aponta para o dispositivo) me incomoda.”

      Não estou dizendo que sua solução seja ruim. Você pelo menos a vem usando há cinco anos. Só por isso já é muito melhor que a que eu venho usando: nenhuma.

      Eu vou terminar esta série de textos sobre o uso do cPanel, mas pelo pouco que li até agora me parece que vou acabar usando a solução sugerida por Daniel Plácido: CloudFlare.

      • Luciano - 493 Comentários

        Pois é… o que fiz, que seja uma “gambiarra” eu não nego, mas pelo menos tá me atendendo bem e flexibilizou qualquer mudança, para que ela seja menos traumática, do ponto de ter que reconfigurar (aka, trocar a url) em vários dispositivos. E ainda assim, do jeito que está, se amanhã eu resolver usar este script, basta mudar a configuração deste sub-dominio para que ele não seja mais um redirecionamento e sim i A RECORD e os dispositivos nem vão notar a diferença.

        Quanto ao fato do tratamento das credencias cPanel, uma coisa que me passou pela cabeça que melhora um pouco a eminencia de um desastre, é se o seu host permitir a sub-locação de espaço. O DreamHost permite isso, que eu crie uma crie uma sub-conta dentro de minha conta, sendo que esta sub-conta pode ter seu próprio cPanel, com as configurações e serviços determinadas por mim.

        Neste caso é menos pior se puder usar uma sub-conta com o seu cPanel em separado da conta principal, desta forma se alguem interceptar as credenciais, terá acesso somente a esse sub-domínio, onde não terá nada de interessante pra vandalizar. No máximo ele “envenenaria” o IP.

        • Jefferson - 6.631 Comentários

          O Dreamhost permite isso em qualquer conta? O Hostgator só permite isso se eu comprar um “Reseller Plan” que custa no mínimo 25 dólares por mês (conta aluminium). Não está tão caro já que pago 12 dólares pela conta baby, mas ainda assim é o dobro.

          • Luciano - 493 Comentários

            Não sei te dizer exatamente, mas acredito que seja pra qualquer plano host. Não sei lhe dizer, porque eu na verdade o que uso do DreamHost é exatamente um reseller de um amigo que me fornece o espaço para o meu blog. Logo eu tenho acesso a um cPanel meu, separado desse meu amigo que me fornece o espaço.

            Diretamente da Wiki do DreamHost:

            http://wiki.dreamhost.com/Reselling

            Does DreamHost offer a resellers program?

            Reseller dh slice.jpg

            If you have an active account with a hosting plan, you can resell services to clients. There are a few things to consider if you are looking into becoming a reseller:
            You are solely responsible for managing your clients’ accounts yourself.
            There is no re-branding of DreamHost services allowed.
            DreamHost does not bill your clients for you, as you are in charge of billing them directly for the services provided.
            Customer and technical support for your clients must be provided by you.
            As long as you are willing to handle these items yourself for your clients, you can successfully use your DreamHost panel to resell services to your clients.

  • Jefferson - 6.631 Comentários

    Encontrei dois problemas no script.

    1 – A definição do parâmetro TTL na verdade não funciona. Não foi implementada. Por isso removi a checagem do parâmetro

    // Get and validate ttl
    $ttl = $_GET['ttl'];
    if (!is_numeric($ttl) || $ttl < 60)
    	$ttl = 300;
    

    2 – No XAMPP o script retorna um monte de avisos por causa da falta de inicialização da constante DYNDNS_ALLHOSTS, por isso eu acrescentei:

    define('DYNDNS_ALLHOSTS', "");
    
  • Gilberto Alves Rodrigues - 1 Comentário

    Existe uma solução dessas para zPanel?

Clique para comentar
(Prefira clicar em "Responder" se estiver comentando um comentário)

Deixe um comentário

Você pode usar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

:) :( ;) O_o B) :lol: :huh: :S :D :-P 8-O :yahoo: :rtfm: :dashhead1: :clapping: more »