segunda-feira, 21 de julho de 2014

DHCP NO MICROTIK

Ainda na onda de RouterBoard aqui vai um vídeo de como configurar um servidor de DHCP na sua RB:


domingo, 20 de julho de 2014

Mikrotik: First Steps

Boa Tarde!! Resolvi aproveitar o dia de hoje e aventurar-me com o Mikrotik. Para quem não sabe o que é aqui tem um link sobre isso.

A primeira dificuldade foi resetar o equipamento. Eu estava com um pré-configurado, porém não tinha a senha. Fazer o hard reset dele é simples: 

1º Desligue a routerboard e com uma chave de fenda feche curto nesse jumper:


Depois disso você pode usar o winbox para acessar a sua rb. Para fazer o download do winbox o link é este: http://demo2.mt.lv/winbox/winbox.exe

Conecte o cabo de rede em uma das interfaces da sua rb e no seu pc. Abra o winbox e conecte-se via MAC.


Caso não liste o MAC da sua RB desative interfaces de VPN, máquina virtual e coisas do tipo que estejam no seu computador. Elas interferem na listagem. O usuário de acesso padrão é admin sem senha!

Quando você faz o primeiro acesso depois do reset ele mostra uma tela com as configurações automáticas que ele fez. Nesta tela você pode ver também o script utilizado para a primeira configuração dele.




domingo, 6 de julho de 2014

SQUID + SARG + AUTENTICAÇÃO NO AD

Olá! Cá estou em mais uma noite tediosa de sábado (já que por aqui não tem muito o que fazer) e resolvi configurar um servidor de proxy, com autenticação de usuários no active directory, relatórios do sarg e quem sabe transparente também?

A configuração inicial básica do proxy está pronta, a minha irá funcionar sem bloqueios a princípio, somente para log de acesso. Aí vai como configurar:

1º Instale o squid:

#aptitude install squid

Caso esteja usando os DVDs do Debian 7 para instalação, ele encontra-se no disco 2.

2º Deixe no arquivo de configuração somente as linhas não comentadas do arquivo squid.conf:

#egrep -v "^$|#^" squid.conf > squid.conf.new

3º Mova o arquivo original do squid para um arquivo de backup e deixe o novo arquivo criado com o comando egrep como squid.conf. Será nesse arquivo que iremos fazer as configurações agora.

4º A princípio seu arquivo deve ficar assim:

acl all src all
acl manager proto cache_object

acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32

# SUA REDE LOCAL
acl localnet src 192.168.1.0/24

acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT

acl purge method PURGE
acl CONNECT method CONNECT

#SUAS REGRAS DE COISAS A BLOQUEAR OU LIBERAR DEVEM VIR AQUI.
acl bloqueio dstdom_regex "/etc/squid/bloqueio"

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost


#A PARTIR DESTE PONTO SERÃO INSERIDAS AS REGRAS DE LIBERAÇÃO/BLOQUEIO QUE IREMOS UTILIZAR
http_access deny bloqueio

http_access allow localnet
http_access deny all


icp_access allow localnet
icp_access deny all

http_port 3128

hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320

acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast

acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
hosts_file /etc/hosts

coredump_dir /var/spool/squid


5º Reinicie o squid:

#invoke-rc.d squid restart

6º Configure o proxy na máquina (já que o proxy não está configurado como transparente) e teste o acesso.

quarta-feira, 25 de junho de 2014

Jogo, jogo

Já que estou no ritmo dos jogos, achei mais um em javascript por aqui:

// Conhecendo o jogador
var user = prompt("Qual seu nome?");
// Começando o jogo
var question = prompt("Você está em seu caminho para Cair Paravel e encontra um troll impedindo sua passagem. O que você faz? Corre, luta, paga ou é alguém importante?").toLowerCase();
// Opções de ação
switch(question) {
    case 'corre':
        var rapido = prompt("Você é rápido?").toLowerCase();
        var vantagem = prompt("Você está em vantagem?").toLowerCase();
        if(rapido === 'sim' || vantagem === 'sim') {
            console.log("Você conseguiu fugir! Quanta sorte!!!!");
            }
        else {
            console.log("Está louco?? Claro que você virou almoço de ogro!!");
        }
        break;
    case 'luta':
        var coragem = prompt("Você é corajoso?").toLowerCase();
        var forte = prompt("Você é forte?").toLowerCase();
        if(coragem === 'sim' && forte === 'sim') {
            console.log("Você conseguiu fugir! Quanta sorte!!!!");
            }
        else {
            console.log("Um dos dois não vai adiantar de nada! É um ogro!! Divirta-se sendouma refeição");
        }
        break;
    case 'paga':
        var dinheiro = prompt("Você tem dinheiro?").toLowerCase();
        var riqueza = prompt("Você tem algo que poderia dar no lugar do dinheiro?").toLowerCase();
        if(dinheiro === 'sim' || riqueza === 'sim') {
            console.log("Essa foi por pouco!! Sorte esse ogro ser capitalista!");
            }
        else {
            console.log("Você prefere ser servido de que jeito?");
        }
        break;
    case 'alguém importante':
        var pedro = prompt("Você é o Grande Rei Pedro?").toLowerCase();
        var suzana = prompt("Você é a Grande Rainha Suzana?").toLowerCase();
        var lucia = prompt("Você é a Rainha Lúcia?").toLowerCase();
        var edimundo = prompt("Você é o Rei Pedro?").toLowerCase();
        if(pedro === 'sim' || suzana === 'sim' || lucia === 'sim' || edimundo === 'sim') {
            console.log("O ogro lhe concedeu passagem obviamente majestade.");
            }
        else {
            console.log("Você está comproblemas, grandes problemas.");
        }
        break;
    default:
        console.log("Não entendi sua resposta");
        break;
}

Jogos

Aproveitando o ritmo do último post, lá vai mais um joguinho criado no CodeAcademy.

//Check if the user is ready to play!
confirm("Você está pronto para jogar?");
//Age
var age = prompt("What's your age?");
if (age >= 18)
{
console.log ("Divirta-se");
}
else
{
console.log("Não me responsabilizo por seus atos");
}
//História
var Intro = "Snow White and Batman were hanging out at the bus stop, waiting to go to the shops. There was a sale on and both needed some new threads. You've never really liked Batman. You walk up to him.";
console.log(Intro);
//First
console.log("Batman glares at you");
var userAnswer = "Are you feeling lucky, punk?";
prompt(userAnswer);
//Go ahead
if (userAnswer === "Yes")
{
console.log("Batman hits you very hard. It's Batman and you're you! Of course Batman wins!");
}
else
{
console.log("You did not say yes to feeling lucky. Good choice! You are a winner in the game of not getting beaten up by Batman");
}
//Feedback
var feedback = prompt("Feedback");
if (feedback > 8)
{
console.log("This is just the beginning of my game empire. Stay tuned for more!");
}
else
{
console.log("I slaved away at this game and you gave me that score?! The nerve! Just you wait!");
};

terça-feira, 24 de junho de 2014

Programa em Javascript

Já que eu ainda não sei o que fazer aqui exatamente, vou postar o primeiro jogo que eu fiz em javascript com o CodeAcademy.

var slaying = true;
var youHit = Math.random();
var damageThisRound = Math.floor(Math.random() * 5 + 1);
var totalDamage = 0;

while (slaying) {
  if (youHit) {
      console.log("You hit!");
      totalDamage += damageThisRound;
          if (totalDamage >= 4) {
              console.log("You win!");
              slaying = false;
          } else {
              youHit = Math.floor(Math.random() * 2);
          }
  } else {
      console.log("You lose!");
      slaying = false;
  }
}

1,2,3 Testando!

Olá! Testando template e post e blog. Vamos descobrir no que dá isso ai.