Páginas

sexta-feira, 25 de novembro de 2011

Configurando date.timezone do PHP no UBUNTU

Dentro do arquivo php.ini que fica em /etc/php5/apache2/php.ini no UBUNTU. procure por pela linha :

[Date]
; Defines the default timezone used by the date functions
;date.timezone =  


troque a linha ;date.timezone =

por

date.timezone =  "America/Campo_grande"

pronto..... é só reiniciar o apache...

Grande Abraço a todos

quarta-feira, 9 de novembro de 2011

Usando CSS Sprites para fazer seu site carregar mais rápido

Esta técnica é aconselhável tanto para sites com layout de muitas imagens como para sites com menus animados. Sabe quando você passa o mouse sobre um item do menu de um site e tem que esperar a imagem que corresponde ao “botão pressionado” carregar? Ou quando o conteúdo em texto do site já apareceu, mas ainda fica uma eternidade até carregar imagem por imagem? É exatamente isso que vamos tentar evitar por aqui.

Veja, por exemplo, o tempo que alguns sites conhecidos levam para carregar o HTML e outros arquivos como imagens, css e javascript.

segunda-feira, 7 de novembro de 2011

Iptables - Redirecionamento de portas para máquinas na rede interna

Redirecionar certas portas para os hosts da rede interna. Isso permite que você rode um servidor de FTP ou um Servidor de Páginas como o Apache por exemplo, em qualquer um dos micros da rede e não apenas no servidor que está diretamente conectado à internet. O servidor simplesmente redireciona todas as requisições recebidas na porta para o micro especificado, de forma transparente.

O foward de portas também usa o Nat, por isso você também deve carregar o módulo caso não tenha feito anteriormente:

modprobe iptable_nat

Em seguida vem as regras para fazer o forward da porta. 

Neste caso estou direcionando a porta 22 (do SSH) na conexão com a internet (eth0) para o micro 192.168.0.2 da rede local:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-dest 192.168.0.2
iptables -A FORWARD -p tcp -i eth0 --dport 22 -d 192.168.0.2 -j ACCEPT




Você pode repetir o comando várias vezes para direcionar varias portas diferentes para várias máquinas. Naturalmente uma mesma porta não pode ser fowardada duas vezes.

Também é possível fowardar ranges de portas. No Unreal Tournament por exemplo você precisa abrir as portas UDP 7777, 7778 e 7779 neste caso as regras seriam:

iptables -t nat -A PREROUTING -i eth0 -p udp --dport 7777:7779 -j DNAT --to-dest 192.168.0.2
iptables -A FORWARD -p udp -i eth0 --dport 7777:7779 -d 192.168.0.2 -j ACCEPT

Aumentando a segurança do servidor SSH

Segue abaixo umas regrinhas para você colocar no seu script de firewall:



PORTSSH="4578"
iptables -A INPUT -p tcp --dport 22 -j LOG
iptables -A INPUT -p tcp --dport 22 -j DROP
iptables -A INPUT -p tcp --dport $PORTSSH -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -p tcp --dport $PORTSSH -m state --state NEW -m recent  --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP
iptables -A INPUT -p tcp --dport $PORTSSH -j ACCEPT


  • Na primeira linha, altere o valor 4578 que usei como exemplo para o número da sua porta ssh.
  • A segunda é pra logar informações da "criança" que tentar abrir conexão direto na porta 22 que é a padrão do ssh.
  • A terceira e quarta é pra evitar um ataque de força bruta.
  • E a quinta é pra abrir a verdadeira porta do servidor ssh.

sexta-feira, 4 de novembro de 2011

Aumentando a Segurança em Ambientes Microsoft

Esta trilha fornecerá informações técnicas sobre como implementar e configurar diversas tecnologias da Microsoft para aumentar a segurança do seu Ambiente.

Contar total de pessoas online em um site ou sistema

Segue o exemplo:



$host = "localhost";
$user = "usuario";
$pass = "senha";
$db = "banco_de_dados";
$connection = @mysql_connect($host, $user, $pass) or die("Unable to connect to database!");
@mysql_select_db($db, $connection) or die("Unable to select database!");
$ts = time();
$to = time()-60;
$sql = @mysql_query("SELECT count(*) FROM usuarios_online WHERE ip='$REMOTE_ADDR'");
$sqlt = @mysql_result($sql,0,0);
if ($sqlt) @mysql_query("UPDATE usuarios_online SET timestamp='$ts',local='$PHP_SELF',nick='$admin_nick' WHERE ip='$REMOTE_ADDR'");
else @mysql_query("INSERT INTO usuarios_online (timestamp,ip,local,nick) VALUES ('$ts','$REMOTE_ADDR','$PHP_SELF','$admin_nick')");
$sql = @mysql_query("DELETE FROM usuarios_online WHERE timestamp<$to");
$sql = @mysql_query("SELECT ip FROM usuarios_online");
$UOL = @mysql_num_rows($sql);
$UOLS = ($UOL <= 1) ? "" : "s";

# ja esta com a verificacao pra coloca 's' se for maior que 1 usuario online
echo "$UOL usuário${UOLS} online";
?>

Só mude aonde estiver em azul.


Agora salve o código abaixo como tabela.sql e rode-o no seu banco de dados.
CREATE TABLE `usuarios_online` (
`timestamp` int(20) NOT NULL default '0',
`ip` varchar(25) NOT NULL default '',
`local` varchar(70) default NULL,
`nick` varchar(30) NOT NULL default ''
) TYPE=MyISAM;