quarta-feira, 7 de janeiro de 2015

Por que Linux é mais seguro que o Windows

"Segurança pela obscuridade" pode ser uma frase atrativa, mas não é a única coisa que está pegando entre os usuários do Windows.

A expressão é a intenção de sugerir que o software proprietário é mais seguro em virtude de sua natureza fechada. Se os hackers não podem ver o código, então é mais difícil para eles para criar exploits para ele - ou assim o pensamento vai.

Infelizmente para os usuários do Windows, que não é verdade - como evidenciado pelo desfile interminável de remendos que saem de Redmond. Na verdade, uma das muitas vantagens do Linux sobre o Windows é que ele é mais seguro - muito mais. Para as pequenas empresas e outras organizações sem uma equipe dedicada de especialistas em segurança, esse benefício pode ser particularmente crítica.

Cinco fatores fundamentais subjacentes a segurança superior do Linux:

1. Privilégios

Sistemas Linux não são de forma infalível, mas uma de suas principais vantagens está na forma como privilégios de conta são atribuídos. No Windows, os usuários são geralmente dada acesso de administrador, por padrão, o que significa que praticamente tem acesso a tudo no sistema, até mesmo suas partes mais cruciais. Assim, então, os vírus. É como dar terroristas posições governamentais de alto nível.

Com o Linux, por outro lado, os usuários não costumam ter esses privilégios "root"; em vez disso, eles estão normalmente dada contas de nível inferior. O que isso significa é que, mesmo que um sistema Linux está comprometido, o vírus não terá o acesso root seria necessário para causar danos em todo o sistema; mais provável, arquivos e programas locais apenas do usuário seriam afetados. Isso pode fazer a diferença entre um aborrecimento menor e uma grande catástrofe em qualquer ambiente de negócios.

2. Engenharia social

Vírus e worms frequentemente transmitida por usuários de computador convencer a fazer algo que não deveria, como abrir anexos que carregam vírus e worms. Isso é chamado de engenharia social, e é muito fácil em sistemas Windows. Basta enviar um e-mail com um anexo malicioso e uma linha de assunto como "Confira essas adoráveis filhotes!" - Ou o equivalente pornô - e alguns proporção de usuários é obrigado a clicar sem pensar. O resultado? Uma porta aberta para o malware anexado, com consequências potencialmente desastrosas organizationwide.

Graças ao fato de que a maioria dos usuários de Linux não tem acesso root, no entanto, é muito mais difícil de realizar qualquer dano real em um sistema Linux, levando-os a fazer algo estúpido. Antes de qualquer dano real poderia ocorrer, um usuário Linux teria que ler o e-mail, salvar o anexo, dar-lhe permissões executáveis e, em seguida, executar o arquivo executável. Não é muito provável que, em outras palavras.

3. O Efeito Monocultura

No entanto, você quer discutir os números exatos, não há dúvida de que o Microsoft Windows ainda domina a maior parte do mundo da computação. No reino de e-mail, assim também fazer o Outlook e Outlook Express. E aí reside um problema: É essencialmente uma monocultura, o que há melhor em tecnologia é que ela está no mundo natural. Assim como a diversidade genética é uma coisa boa no mundo natural, pois minimiza os efeitos deletérios de um vírus mortal, de modo a diversidade de ambientes de computação ajuda a proteger os usuários.

Felizmente, uma diversidade de ambientes é mais um benefício que o Linux oferece. Há Ubuntu, há Debian, Gentoo há, e há muitas outras distribuições. Há também muitos shells, muitos sistemas de empacotamento, e muitos clientes de correio; Linux é executado mesmo em muitas arquiteturas além de apenas Intel. Assim, ao passo que um vírus pode ser direcionada diretamente para usuários do Windows, uma vez que todos eles usam praticamente a mesma tecnologia, chegando a mais de uma pequena facção de usuários do Linux é muito mais difícil. Quem não gostaria de dar a sua empresa que camada extra de segurança?

4. Audiência Tamanho

Mão-na-mão com este efeito de monocultura vem do fato de não particularmente surpreendente que a maioria dos vírus têm como alvo o Windows e os desktops em sua organização não são excepção. Milhões de pessoas todos os que usam o mesmo software tornar um alvo atraente para ataques maliciosos.

5. Quantos Eyeballs

"Linus" Lei "- nomeado para Linus Torvalds, o criador do Linux - afirma que," dadas olhos suficientes, todos os erros são triviais. "O que isso significa é que, quanto maior o grupo de desenvolvedores e testadores trabalhando em um conjunto de código, o mais provável que todas as falhas serão capturados e corrigidos rapidamente. Isto, em outras palavras, é essencialmente o oposto polar da "segurança pela obscuridade" argumento.

Com o Windows, é um conjunto limitado de desenvolvedores pagos que estão a tentar encontrar problemas no código. Eles aderem a seus próprios definiram calendários, e eles geralmente não contar a ninguém sobre os problemas até que eles já criou uma solução, deixando a porta aberta a ataques até que isso aconteça. Não é um pensamento muito reconfortante para as empresas que dependem dessa tecnologia.

No mundo Linux, por outro lado, inúmeros usuários podem ver o código a qualquer momento, tornando mais provável que alguém vai encontrar uma falha, mais cedo ou mais tarde. Não só isso, mas os usuários podem até mesmo corrigir problemas eles mesmos. Microsoft pode tout sua grande equipe de desenvolvedores pagos, mas é pouco provável que a equipe pode comparar com uma base global de Linux usuários-desenvolvedores ao redor do mundo. Segurança só pode se beneficiar através de todos esses extras "olhos".

Mais uma vez, nada disso é para dizer que o Linux é impermeável; nenhum sistema operacional é. E há definitivamente passos usuários de Linux deve tomar para tornar seus sistemas mais seguro possível, como habilitar o firewall, minimizando o uso de privilégios de root, e manter o sistema atualizado. Para uma maior tranquilidade também existem programas antivírus disponíveis para Linux, incluindo o ClamAV. Estes são particularmente boas medidas para as pequenas empresas, o que provavelmente têm mais em jogo do que usuários individuais fazer.

É importante notar também que a empresa de segurança Secunia declarou recentemente que os produtos da Apple têm mais vulnerabilidades de segurança do que quaisquer outros - incluindo os da Microsoft.

De qualquer maneira, no entanto, quando se trata de segurança, não há dúvida de que os usuários do Linux tem muito menos para se preocupar.


traduzido de:
 http://www.pcworld.com/article/202452/why_linux_is_more_secure_than_windows.html

segunda-feira, 21 de novembro de 2011

Upload FTP

Boa tarde,
desculpe a demora por postar hoje mais estou meio sem ideia ...
para o post anterior nao ficar meu sem sentido vou por como fazer o upload do arquivo no FTP.

Bom para comesarmos precisamos ter um tela como esta:
ela é bem simples...
é apenas um formulario com um campo do type="file"..
LAMBRESE de por >> enctype="multipart/form-data"


<form dir="form1" name="form1" action="ftp.php?mat_codigo=<?php echo $row_Recordset1['mat_codigo']; ?>" method="post" enctype="multipart/form-data">
    <table width="143" height="76" border="1">
    <tr>
    <td height="31">Codigo:</td>
    <td><?php echo $row_Recordset1['mat_codigo']; ?></td>
    </tr>
    <tr>
    <td>Arquivo</td>
    <td><input type="file" name="filedata" id="filedata" /></td>
    </tr>
<tr>
    <td colspan="2"><input type="submit" value="Upload" /></td>
    </tr>
    </table>
</form>   

Como pode se ver no action do form ela é enviada para a pagina "ftp.php" que nao tem nada visual apenas codigo.

<?php require_once('../../Connections/local.php'); ?> //Pegando conexao com o banco"caso haja q salvar o nome no banco de dados"
<body bgcolor="#999999"><?php
if(!empty($_FILES['filedata']['name'])){ //Verifica se o campo foi mesmo preenchido
$ftp_server = "localhost"; //Servidor
$upload_dir = "/ftp/"; // Local onde está a pasta onde ficarão salvos os uploads
$upload = "/ftp/"; // Caminho dos uploads
$ftp_user = "anonymous"; // Usuário do ftp
$ftp_pass = ""; // Senha do usuário do ftp
$sourcefile = $_FILES['filedata']['tmp_name']; // Variável que pesquisa os uploads
$filename = $_FILES['filedata']['name']; // Variável que pega o nome do arquivo
$filetype = $_FILES['filedata']['type']; // variavel que pega o tipo do arquivo
$finalfile = $upload_dir.$_FILES['filedata']['name']; //começando a parte de upload em si
$ftpconn = ftp_connect($ftp_server); //conectando no servidor
$ftpresult = ftp_login($ftpconn,$ftp_user,$ftp_pass); //fazendo o login no FTP
$ftp_pasv= ftp_pasv($ftpconn,true); //informando que o FTP é passivo

// agora é apenas mensagens de erros e informações
if((!$ftpconn) || (!$ftpresult)) { // verifica se a conexão foi realizada com sucesso
?>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
alert ("Falha na Conexão")  // se nao for concluida ele aprece um alert informando que deu falha na conexao
</SCRIPT>
<?php 
}
else {
}
if ($ftpupload = ftp_put($ftpconn,$finalfile,$sourcefile,FTP_BINARY)) { // verifica se o arquivo foi enviado.
?>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
alert ("Arquivo enviado com Sucesso") // se for ele manda a mensagem de sucesso
</SCRIPT>
<?php
}
else {
?><SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
alert ("Erro no envio do arquivo!") // se nao ele mando a mensagem de erro
</SCRIPT><?php
}
}


//agora é apenas se tiver banco de dados para salvar o nome
if (!empty($_GET['mat_codigo'])){// verifica se ele recebeu o codigo
$str="update material set mat_url='".$filename."' where mat_codigo=".$_GET['mat_codigo'].""; // sq1 para salvar
mysql_query($str); // executando a sql.
}
include("list_material.php"); dando um inlcud na listagem...pode ser tbm um redirect...
?>

CODIGO comentado logo acima...
qualquer duvida só comentar responderei o mais rapido possivel..

ate o proximo,
felipe eleoterio



domingo, 20 de novembro de 2011

Download de arquivos do FTP

Bom dia,
Hoje irei explicar como fazer o download de arquivo que esta no FTP.

  Para iniciar fiz uma listagem de todos os arquivos cadastrados em meu banco de dados, já com o link para o download  como na imagem a baixo:

Como estou fazendo uma consulta no banco de dados a resultado vai vir de um record set ficando assim a tabela:

<table border="0">
        <tr align="center" bgcolor="#999999">
          <td>&Aacute;rea</td>
          <td>Tipo Materila</td>
          <td>Titulo</td>
          <td>Link</td>
          <td>Op&ccedil;&otilde;es</td>
        </tr>
        <?php do { ?>
          <tr>
            <td><?php echo $row_Recordset1['are_descricao']; ?></td>
            <td><?php echo $row_Recordset1['tipmat_descricao']; ?></td>
            <td><?php echo $row_Recordset1['mat_titulo']; ?></td>
            <td><a href="../../baixar.php?file=<?php echo     $row_Recordset1['mat_url']; ?>"><?php echo $row_Recordset1['mat_url']; ?></a></td>
            <td><a href="ftp_material.php?mat_codigo=<?php echo $row_Recordset1['mat_codigo']; ?>">^</a> | <a href="del_material.php?mat_codigo=<?php echo $row_Recordset1['mat_codigo']; ?>">X</a></td>
          </tr>
          <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
      </table>


A parte sublinha é a parte do link.
no link ele manda para minha pagina "baixar.php" com o parâmetro "file=o nome do arquivo".

Agora vamos colocar omo funciona o arquivo "baixar.php" pois é ele quem vai fazer o Download.

Código:

$pasta = 'ftp';  // nome da pasta no seu FTP , na onde os arquivos foram guardados

if(isset($_GET['file']) && file_exists("{$pasta}/".$_GET['file']))
{
    $file = $_GET['file']; // variavle que pega o nome do arquivo que deseja fazer o download
    $type = filetype("{$pasta}/{$file}"); //pega o tipo do arquivo que deseja fazer o download
    $size = filesize("{$pasta}/{$file}"); // pega o tamanho do arquivo do arquivo
    
  header("Content-Description:File Transfer"); //descriptografando para fazer o download
    header("Content-Type:($type)");  // pegando o tipo
    header("Content-lenght:($size)"); // pegando o tamanho
    header("Content-Disposition: attachment; filename=$file"); //verificando e inicializando o downlaod
    readfile("{$pasta}/{$file}"); //fazendo o download
    exit; // saindo
    
}

Bom pessoal este foi o post de hoje,
qualquer duvida só comentar reponderei o mais rápido.
bom domingo para todos.

Felipe Eleoterio


sábado, 19 de novembro de 2011

GET/SET - C#

Bom este é o jeito mais fácil para fazer um get/set e o método construtor em C# , no Visual Studio 2010 tem outro modelo e que irá ser meu próximo post.

Código detalhado:

namespace netuno_aplicação// Nome da Aplicação
{
    public class Jur_acao// Nome da Classe
    {
        int cod_acao; // Variável
        string des_acao;//Variável
        //--- Métodos Construtor criar 2 um com as variáveis e outro sem parâmetro, com o mesmo nome da classe
        public Jur_acao(int cod_acao, string des_acao)// Colocar como parâmetro todos as variáveis
        {
          // faça isso com todos as variaveis
            this.cod_acao = cod_acao;
            this.des_acao = des_acao;
        }
        public Jur_acao() //sem Parametro
        {
        }
        //----
  //get/set - é criado automaticamente...seleciona a variavel e com o atalho "ctrl+R+ctrl+E" ele adicionara sozinho;
        public int Cod_acao
        {
            get { return cod_acao; }
            set { cod_acao = value; }
        }
       

        public string Des_acao
        {
            get { return des_acao; }
            set { des_acao = value; }
        }
    }
}

qualquer duvida comente responderei mai rápido possível.

ate mais, Felipe Eleoterio.

sexta-feira, 18 de novembro de 2011