Por que os sistemas operacionais baseados em Linux são considerados mais seguros que o Windows? [fechadas]

19

Ouvi dizer que os sistemas baseados em Linux são melhores para segurança. Aparentemente, eles não têm vírus e não precisam de software antivírus. Até minha universidade afirma isso - eles se recusam a ter o Windows em seus servidores, o que é uma pena, porque queríamos usar a estrutura .NET para criar alguns sites.

A única razão pela qual eu vejo o Linux mais seguro é porque é de código aberto, então os bugs teoricamente seriam capturados e corrigidos mais cedo.

Eu sei um pouco sobre como os sistemas operacionais funcionam, mas realmente não me aprofundou em como o Linux e o Windows implementam seu sistema operacional. Alguém pode explicar a diferença que torna os sistemas baseados em Linux mais seguros?

echoblaze
fonte
5
Não estou respondendo exatamente à sua pergunta, mas quero defender um pouco a escolha da sua escola. Minha escola opera um sistema Windows e Linux que (tentam) compartilhar um sistema de arquivos comum. Mas, na prática, isso pode ser caro, porque os domínios Windows e Unix na rede realmente não se dão bem, infelizmente. Dado que vemos os usuários do Windows precisando usar algum componente de código aberto mais do que o oposto (desculpe pelo .net), é uma escolha respeitável que eles suportem o Linux apenas no hardware básico do núcleo, como servidores. Linux suporta serviços mais cruciais de hoje
NotMyFault
obrigado pela sua resposta - e também aos outros respondedores, definitivamente ajudou a esclarecer as coisas para mim. Só para constar, fiquei mais cético do que zangado com a afirmação da minha universidade.
echoblaze

Respostas:

55

Eu não acho que um sistema operacional seja "seguro". Uma configuração específica de um sistema operacional possui um grau específico de resistência a ataques.

Provavelmente, eu vou ser inflamado por ser um "apologista da Microsoft" aqui, mas esse tópico está muito afetado em generalizações sobre o "Windows" que não são verdadeiras.

O Windows 1.0 - 3.11, 95, 98 e ME são baseados no DOS. Essa linhagem de sistemas operacionais não tinha nenhuma segurança no sentido formal (espaços de endereço protegidos, separação de modo kernel / usuário, etc.). Felizmente, quando estamos falando sobre o "Windows" hoje, não estamos falando sobre esses sistemas operacionais.

A família de sistemas operacionais Windows NT (Windows NT 3.5, 3.51, 4.0, 2000, XP, 2003, Vista, 2008 e 7) possui um sistema de segurança razoavelmente "projetado" desde o lançamento inicial em 1992. O sistema operacional era projetado com o "Livro Laranja" do TCSEC em mente e, embora não seja perfeito, acho que é razoavelmente bem projetado e implementado.

  • O Windows NT era "multiusuário" desde o início (embora a funcionalidade de vários usuários recebendo uma interface gráfica do usuário simultaneamente no mesmo servidor não tenha acontecido até o Citrix WinFrame na era do Windows NT 3.51). Há uma separação do modo kernel / usuário, com a proteção do espaço de endereço confiando nas funções de hardware subjacentes da MMU e da CPU. (Eu diria que é muito "Unix-y", mas na verdade é muito "VMS-y".)

  • O modelo de permissão do sistema de arquivos no NTFS é bastante "rico" e, embora tenha algumas verrugas relacionadas à "herança" (ou a falta dela - consulte Como solucionar a falha de design de Mover / Copiar do NTFS? ), Não foi até nos últimos 10 anos, mais ou menos, nos quais os sistemas operacionais no estilo Unix implementaram funcionalidade semelhante. (O Novell NetWare venceu a Microsoft com força, embora eu ache que a MULTICS venceu ...> smile <)

  • O gerenciador de controle de serviço, incluindo o sistema de permissão para controlar o acesso aos programas de serviço iniciar / parar / pausar, é muito bem projetado e tem um design muito mais robusto que as várias arquiteturas "script" init.d "" (mais como "acordos de cavalheiros" ") em muitas distribuições Linux.

  • O gerente executivo de objetos (consulte http://en.wikipedia.org/wiki/Object_Manager_(Windows)) ), que é vagamente análogo ao sistema de arquivos / proc e ao sistema de arquivos / dev combinado, possui um modelo de ACL que é semelhante ao sistema de arquivos e muito mais rico do que qualquer modelo de permissão que eu conheça para / proc ou / dev em qualquer distribuição Linux.

  • Embora possamos debater os méritos e as desvantagens do registro, o modelo de permissão para chaves no registro é muito mais granular do que o modelo de configuração de permissões em arquivos no diretório / etc. (Gosto particularmente dos comentários de Rob Short sobre o registro em sua entrevista "Behind the Code":http://channel9.msdn.com/shows/Behind+The+Code/Rob-Short-Operating-System-Evolution Rob foi uma das principais pessoas por trás do registro do Windows inicialmente, e acho seguro dizer que ele não está necessariamente feliz w / como as coisas acabaram.)

O Linux em si é apenas um kernel, enquanto o Windows é mais análogo a uma distribuição Linux. Você está comparando maçãs e laranjas para compará-las assim. Concordo que o Windows é mais difícil de "desmontar" do que alguns sistemas baseados em Linux. Algumas distribuições Linux, por outro lado, também são enviadas com muita "porcaria" ativada. Com o advento dos vários sabores "incorporados" do Windows, é possível (embora não para o público em geral) criar "distribuições" do Windows que diferem em seu comportamento dos padrões da Microsoft (excluindo vários serviços, alterando permissões padrão, etc.) .

As várias versões do Windows tiveram sua parcela de padrões mal escolhidos, bugs que permitiram que usuários não autorizados obtivessem privilégios, ataques de negação de serviço etc. mesmos problemas. A Microsoft fez um trabalho incrível, desde o Windows 2000, ao facilitar a compartimentação de aplicativos, a execução de programas com menos privilégios e a remoção de recursos desnecessários do sistema operacional.

Em suma, acho que o que estou dizendo é que a configuração específica de um determinado sistema operacional para suas necessidades, com relação à segurança, é mais importante do que o tipo de sistema operacional que você está usando. As distribuições do Windows e Linux têm recursos muito semelhantes em relação aos recursos de segurança. Você pode aplicar técnicas de segurança sólidas (privilégios mínimos, instalação limitada de componentes opcionais, mecanismos de autenticação criptograficamente seguros etc.) em qualquer sistema operacional. Se você faz ou não, é isso que importa.

Evan Anderson
fonte
para alguém como eu que não tem idéia de como o Windows e Linux foram construídas, seu post foi incrivelmente informativo
echoblaze
Acordado. Bons pontos.
Kyle Hodgson
1
+1 - Sou usuário de Linux em casa e principalmente um profissional de segurança do Windows no trabalho. A configuração importa muito mais do que o sistema operacional por si só, e você definitivamente precisa comparar as distribuições do Linux com o Windows, não apenas o Linux no kernel.
Romandas 03/07/2009
3
clap lento +1
chickeninabiscuit
Uma coisa que realmente prejudicou o mundo do Windows por um longo tempo (mesmo que agora seja principalmente história) é que, por muito tempo, você teve que ser administrador local para fazer muitas coisas, enquanto no mundo * nix você simplesmente seja sudoer nessa máquina. O problema obviamente era que qualquer coisa executada por um administrador local, na maioria das máquinas, podia fazer qualquer coisa com a máquina. Teria sido uma ameaça igual ao linux / unix se nem sempre fosse uma prática bem conhecida não ser root, mas fazer sudo / su quando necessário. Eu acho que não era realmente um problema do Windows, mas um software e com o UAC é principalmente corrigido.
9409 Fredrik
16

Outra coisa que não é mencionada é que a segurança no Windows é muito mais opaca do que no Linux.

Por exemplo, posso ver alguns arquivos de texto e ver exatamente o que meu servidor Web está executando. IIS? Nem tanto - você pode ver os resultados da configuração através da ferramenta GUI, mas há configurações ocultas. Então você precisa usar um conjunto diferente de ferramentas para revisar as ACLs nos arquivos etc.

É o mesmo com a maioria dos programas no mundo do Windows - é muito difícil entender rapidamente exatamente o que está afetando o ambiente de tempo de execução, entre o registro e as ACLs.

chris
fonte
11

Não sei sobre a comparação de permissões de arquivo ... quando eu era administrador do UNIX / Linux, o NT4 tinha ACLs de arquivos muito mais granulares do que as permissões tradicionais do estilo '777' do UNIX / Linux. Permissões não são tudo, é claro, e tenho certeza de que as distribuições modernas do Linux disponibilizam ACLs refinadas, mesmo que não sejam implementadas por padrão. Na minha opinião, os conceitos sudo e root sempre existiram no UNIX, embora o Windows tenha adicionado esses conceitos constantemente e provavelmente esteja agora no mesmo nível.

Minha própria interpretação é que, uma vez que o código do kernel do Linux, e muitos de seus drivers e utilitários, estão abertos - provavelmente foi revisado muito mais amplamente e é corrigido com muito mais frequência por erros de codificação que podem levar a vulnerabilidades remotas que um hacker pode explorar. De qualquer maneira, a teoria diz que, como o Linux não é de propriedade de uma corporação, ele pode explorar o objetivo de segurança mais completamente do que uma corporação. As empresas devem ganhar dinheiro; enquanto grupos de código aberto simplesmente não têm essa restrição.

É muito mais fácil acessar um sistema Linux e simplesmente desligar o sistema de janelas inteiro, daemons RPC e assim por diante - você pode obter um sistema baseado em Linux ou BSD em uma ou duas portas abertas com um mínimo de pacotes instalados e ainda assim tenha um sistema muito útil com muita facilidade. Provavelmente, isso tem mais a ver com a herança do UNIX como sistema operacional do desenvolvedor; tudo foi construído para ser modular, não excessivamente interconectado. Isso leva a um sistema muito mais configurável, no qual você pode simplesmente remover coisas que não são relevantes. Não acho que seja tão fácil proteger servidores Windows dessa maneira.

O grupo OpenBSD levou esse conceito ao extremo. O principal objetivo número um do programa é revisar todas as linhas de código para possíveis falhas de segurança. A prova está no pudim, um número incrivelmente baixo de vulnerabilidades foi encontrado para o OpenBSD ao longo dos anos devido a essa atenção quase fanática (eu uso a palavra com respeito) aos detalhes.

As empresas, apesar de criarem um software maravilhoso (MSSQL, Exchange, Windows Server 2003 são maravilhosas no meu livro), têm apenas objetivos diferentes.

Kyle Hodgson
fonte
5
Sim; As ACLs do Windows são mais refinadas que o Linux / Unix sem ACLs (embora a maioria das versões modernas possua opções para usar ACLs). A diferença significativa é que as pessoas tendem a entrar no Windows como Administrador - ainda é a configuração padrão nos laptops XP fornecidos pela empresa - enquanto as pessoas no Linux / Unix não realizam a maioria das operações como root. Isso limita os danos que podem ser causados ​​no Linux / Unix em comparação ao Windows - por padrão. Se alguém corre como root o tempo todo, todas as apostas são desativadas (exceto que eles terão um acidente lamentável - e lamentado -, mais cedo ou mais tarde).
31440 Jonathan Leffler
"É bem verdade que os conceitos de sudo e root sempre existiram no UNIX e só agora estão chegando ao Windows." Do que você está falando? O Windows NT não é tão antigo quanto o Unix, mas o Windows NT possui uma segurança muito razoável "projetada" desde que foi lançado em 1992. É lamentável que muitos administradores do Windows não implantem usuários com contas de "usuário limitado" (como eles deveriam ter sido, desde o início), mas isso não deveria prejudicar o sistema operacional.
Evan Anderson
Do ponto de vista do servidor, concedido. Mas um usuário típico do Windows precisava de acesso administrativo para ter um ambiente ainda razoavelmente confortável até o Vista. Eu vejo o "clique direito, execute como administrador" do Vista, comparável ao sudo.
Kyle Hodgson
3
Eu discordo totalmente. Eu depoy milhares de desktops desde o Windows NT 4.0 com contas de usuário limitadas. O "RunAs", que é um pouco análogo ao "sudo", está no sistema operacional desde o Windows 2000 (o "botão direito do mouse, funcionalidade Executar como"). Eu direi que o controle de conta de usuário é um recurso estúpido e não deveria ter sido incluído no sistema operacional. A Microsoft fez a coisa errada, tornando "mais seguro" executar como "Administrador", em vez de dificultar e dificultar o processo, encorajando os desenvolvedores a trabalhar na criação de softwares que não são ruins (ou seja, exigem direitos de "Administrador").
Evan Anderson
2
Os usuários do Vista nos sites de meus clientes nunca veem o UAC porque estão executando como contas de usuário limitadas. Você só verá o UAC se estiver executando como um "Administrador". Você pode desativar o UAC com a diretiva de grupo, mas nem sempre precisa.
Evan Anderson
9

Na minha opinião, se os sistemas baseados em Linux configurados o suficiente forem mais seguros, os sistemas Windows. Alguns dos motivos são:

  1. Transparência e ferramentas de rede simples e abundantes: por exemplo, é muito fácil para o administrador do Linux ver a configuração atual do firewall digitando "iptables -L -n" no shell. Você também pode ver quais portas estão abertas na máquina executando "nmap" de outra máquina Linux. Isso facilita muito a vida, pois você pode especificar com precisão quais portas têm permissão para serem acessíveis e de quais endereços, etc.

  2. Arquivos de log de texto em um local: Os arquivos de log baseados em texto em um local "/ var / log" são fáceis de fazer backup e analisar. Também ferramentas como o logwatch, que podem monitorar esses arquivos de log e enviar por e-mail linhas importantes, facilitam as coisas. Podemos até escrever nossas próprias ferramentas para analisar os arquivos de log e encontrar as informações em que estamos interessados. Os logs podem até ser exportados para o servidor syslog remoto, caso não desejemos que os logs estejam presentes no mesmo servidor.

  3. Não se preocupe com vírus: se os vírus são menos no Linux porque há menos sistemas baseados no Linux OU porque todos os usuários amam o Linux ou porque o Linux é mais seguro. O motivo não importa. Se, no final, o Linux tem menos ameaças de vírus, é uma coisa boa sobre o Linux. Eu pessoalmente vi pessoas instalarem dois antivírus, anti-spyware e anti-adware na mesma máquina. Todas essas ferramentas de proteção consomem muita CPU e memória.

  4. Suporte para muitas linguagens de programação: É muito fácil codificar no Linux. C, C ++, Python, Perl, Java etc. funcionam apenas sem a necessidade de instalar nenhum pacote adicional. (Caso você instale uma grande distribuição como o Fedora, que vem em DVD.) Isso aumenta a segurança, pois podemos executar tarefas repetitivas por codificação. Portanto, se cometer um erro e houver um problema, isso seria com todas as contas e seria fácil de detectar e corrigir. Se tivéssemos que fazer as mesmas alterações em um grande número de contas / diretórios manualmente, poderíamos cometer erros em uma ou duas e levar muito tempo para encontrar esses erros. Também podemos corrigir os erros e procurar erros simples usando o código. Como todos os arquivos de configuração, arquivos de informações do usuário, arquivos de log etc. estão em texto, é muito fácil codificar o que queremos alcançar e há muitas maneiras de fazer as mesmas coisas.

  5. Código de código aberto: como provavelmente muitas pessoas viram o código, é muito raro que algum spyware / adware faça parte dos aplicativos que acompanham o Linux. Você também pode ver o código-fonte se a segurança for muito importante para alguns serviços e ver como funciona. Se você sabe exatamente como isso funciona, você conhece as limitações e quando será quebrado. De fato, se houver limitações de segurança conhecidas que teriam sido documentadas nas páginas de manual, no site do pacote e nos comentários nos arquivos de configuração. Os desenvolvedores não têm nada a perder em dizer que, se você usar nossa ferramenta nesse cenário, será arriscado. Pode não ser lucrativo para as organizações que vendem software dizer limitações para o software e isso faria com que o software parecesse ruim e reduzisse a venda / lucro.

  6. Livre e interoperabilidade: Embora isso não esteja relacionado à segurança. Para a Universidade, onde os custos são importantes, os sistemas baseados em Linux são muito mais econômicos que os sistemas baseados em Windows e não há necessidade de comprar licenças para SO, bem como para software adicional que instalaríamos após a instalação do SO. No que diz respeito à interoperabilidade, podemos conectar máquinas Linux a outros sistemas operacionais e compartilhar arquivos facilmente. No Linux, podemos montar muitos sistemas de arquivos, incluindo FAT, NTFS, HFSPLUS. Podemos compartilhar coisas usando ftp, http, ssh, samba, nfs, etc. e todas essas coisas vêm instaladas ou podem ser instaladas com um único comando. Outro sistema operacional geralmente oferece apenas uma opção de compartilhamento de coisas.

Mas se não estiver configurado corretamente, os sistemas baseados em Linux podem causar mais problemas, então podemos imaginar. Muitos usuários podem fazer login na máquina ao mesmo tempo e fazer quase tudo apenas a partir do shell. É muito fácil deixar backdoors, trojans, caso o firewall não esteja configurado corretamente. O atacante pode excluir o arquivo de log ou adulterá-los para ocultar suas faixas. O atacante pode codificar na máquina atacada, pois todos os editores, compiladores e depuradores estão prontamente disponíveis quando o atacante tiver acesso ao shell. Todos os servidores ftp, http, podem ser executados a partir da conta do usuário, mas não em portas seguras (1-1024). Assim, o invasor pode baixar o código do servidor http, compilá-lo e executar o servidor http na porta 6000 para torná-lo parecido com o X Server.

Portanto, os sistemas Linux são mais seguros, desde que o administrador saiba o que está fazendo ou pelo menos se preocupe em procurar informações nas páginas de manual e na documentação antes de fazer novas alterações.

Saurabh Barjatiya
fonte
6

A segurança do servidor é mais do que apenas o sistema operacional. Eu diria que um fator maior na segurança do servidor é a pessoa que está executando o servidor e quão cuidadosos eles foram em bloquear as coisas.

Dito isto, se a universidade for uma loja Linux, eles não permitirão que você use um Windows Server, independentemente dos dados encontrados na segurança do servidor Windows. Eu investigaria usando o Mono (www.mono-project.com) se você quiser usar a estrutura .Net.

Adam Brand
fonte
6

Transparência

  • Execute ps auxfe você sabe quais serviços estão sendo executados, em qual conta.
  • Execute netstat -lnpe você sabe quais programas têm quais portas TCP abertas.
  • Execute iptables -Le você sabe quais regras seu firewall possui.
  • Execute straceou lsofinspecione o processo ativamente.
  • Execute ls -lahou tree -puge você sabe exatamente qual propriedade e permissões tem uma pasta completa.
  • Os logs estão presentes /var/loge podem ser inspecionados com uma simples "pesquisa nos arquivos".
  • Sem configurações ocultas. Tudo é legível por humanos /etc. Pesquisando arquivos de texto, arquivando-os ou aplicando o controle de versão (subversion / git) é realmente fácil.

Sistema de permissão claro

  • Na base, existem apenas permissões de arquivo. Nenhuma "permissão nas chaves regex", permissões herdadas da ACL, contextos de segurança por processo ou outros recursos ocultos.
  • Os bits de permissão são simples:
    • Escrever nos arquivos = editar o conteúdo do arquivo
    • Escrever em pastas = criar / renomear / remover nós de arquivo.
    • Sticky = editar apenas arquivos próprios.
    • Arquivos com permissões de execução ou configuração são destacados (no lsmodo de cor).
  • Um simples "encontrar todos os arquivos" revela quais permissões um usuário possui.
  • Além disso, as ACLs podem ser usadas apenas quando isso for necessário.
  • As contas de usuário têm apenas dois lugares para gravar arquivos por padrão: deles $HOMEe /tmp.

Opções de segurança avançadas

  • O SELinux / AppArmor pode restringir processos para acessar apenas um conjunto específico de arquivos (além das permissões de arquivo)
  • Uma prisão de Chroot permite que os administradores executem um programa completamente isolado do resto. Como se estivesse instalado em um disco rígido vazio, com apenas os arquivos que realmente precisa.
  • Com sudo, usuários e processos podem receber permissões para executar apenas alguns comandos administrativos.

Pontos únicos para entrada e elevação de privilégios

  • Um processo não pode obter mais privilégios por si só. A única maneira é executar outro programa "SetUID Root", como sudoentrar em contato com um serviço DBus que verifica primeiro o PolicyKit. Esses programas SetUID podem ser encontrados com um único comando "Pesquisar todos os arquivos".
  • O IPC entre processos é bastante restrito, reduzindo os vetores de ataque.
  • O acesso ao sistema (console de texto, área de trabalho remota, RPC, remoção de chamada de comando etc.) ocorre por completo ssh. Esse é um túnel SSL com verificação de chave pública / privada.

Proteger processos em segundo plano

  • Os serviços em segundo plano são executados com privilégios mais baixos o mais rápido possível. Serviços como Apache, Dovecot e Postfix transferem a conexão recebida para um processo de baixo privilégio o mais rápido possível.
  • Bloqueado por padrão. A Microsoft também adotou essa abordagem no Windows Server 2008 agora.

Boas ferramentas de auditoria

  • Ferramentas como nmap, ncatauditoria de segurança make fácil.
  • Os serviços em segundo plano podem ser auditados na linha de comando.
  • Ferramentas de auditoria de log são comuns.
  • A codificação de um serviço seguro é mais fácil porque pode ser feita de maneira modular.
  • Existem muitas ferramentas gratuitas de detecção de intrusão disponíveis.
  • As ferramentas da linha de comando foram projetadas para serem programáveis, para que os administradores possam automatizar tarefas.

Boas atualizações de segurança

  • Cada parte do sistema operacional recebe atualizações de segurança. Quando o Apache, Python ou PHP são instalados através do gerenciador de pacotes, eles também recebem atualizações.
  • Há muita abertura no que uma atualização de segurança corrige, para que você possa descobrir como isso afeta você.
  • Todos os pacotes de software compartilham as mesmas bibliotecas. Eles não enviam cópias separadas, deixando versões exploráveis ​​por aí.
  • Sem patch às terças-feiras, aguardando uma correção quando os hackers já estão explorando o bug na natureza.
  • É fácil para os desenvolvedores testar as atualizações de segurança e implantá-las.
  • Nenhuma reinicialização precisa ser agendada para fazer uma atualização. Os arquivos podem ser substituídos enquanto os processos existentes continuam acessando os dados antigos no disco. Posteriormente, você poderá descobrir quais serviços precisam ser reiniciados ( lsof | grep =).
  • Todo o sistema operacional pode ser atualizado sem reinstalar!

Tudo o que é mencionado aqui é entregue ou todas as principais distribuições Linux, como Red Hat, Debian, openSUSE ou Ubuntu.

vdboor
fonte
5

O Linux foi projetado para ser um sistema multiusuário desde o início, por isso possui um sistema de permissões muito mais forte que o Windows. Também foi projetado para você não executar com direitos administrativos (acesso root); portanto, todos os programas foram projetados para não precisar dos direitos. Isso significa que, se sua conta for comprometida, o sistema inteiro não estará.

Parte disso também provavelmente vem do fato de que as pessoas que executam o Linux são (de um modo geral), mais técnicas e, portanto, menos propensas a cometer os erros estúpidos que levam os computadores a serem invadidos.

Dentrasi
fonte
2
Algumas diferenças entre os sistemas operacionais multiusuário e único usuário: jdurrett.ba.ttu.edu/courseware/opsys/os01a.htm
Moshen
7
OK, uso o Linux há mais de 12 anos e os sistemas operacionais UNIX há mais tempo. Por mais que eu goste do Linux, você não pode dizer que ele possui um sistema de permissões mais forte que o Windows. Ele tem um modelo de segurança melhor que as versões anteriores do Windows (ou seja, nem sempre é administrador), mas o WinNT e mais tarde tem um sistema de permissões forte que simplesmente não foi usado com bons resultados. Versões recentes do Linux têm selinux, que é ainda mais forte, mas esta é uma adição relativamente recente (se muito poderosa).
Eddie
5

'Segurança é sobre controle'

Do meu ponto de vista, no Windows você tem menos controle do que no Linux. Endurecer o Windows é ... mais difícil :). Embora qualquer ferramenta dependa das habilidades do usuário, eu consideraria o seguinte:

  • O Windows tem mais vulnerabilidades de alto risco e mais exploração automática (vírus, botnets)
  • Os administradores do Windows são (ou deveriam ser) paranóicos (por causa do medo de invasão) e fizeram algum tipo de proteção
  • Os administradores de sistemas Linux às vezes confiam demais na segurança do sistema operacional e esquecem o fortalecimento
  • Uma vez hackeado, em um sistema Linux, você pode fazer mais do que em um sistema Windows, pois existem ferramentas de comando mais poderosas

Portanto, embora eu prefira o Linux ao Windows, acho que você não deve confiar nas instalações padrão.

chmeee
fonte
3

A maioria das postagens anteriores se concentrou na invasão, e um bom trabalho foi feito abordando esse ponto; um dos pontos da sua pergunta era sobre vírus. As maiores razões pelas quais as distribuições Linux têm menos problemas com vírus são o fato de haver mais caixas de janelas disponíveis do que Linux e Mac juntos. Os criadores de vírus desejam obter o melhor retorno possível, portanto, escrevem para o Windows.

Todos os sistemas são capazes de invadir e serem infectados. Quem lhe disser diferente, sejam seus instrutores ou outros, sejam tolos, terá uma propriedade em frente ao mar em Utah para vendê-lo.

WolfmanDragon
fonte
3

A julgar pelas correções de segurança em TODOS os softwares hoje em dia, acho que o problema não é o software, mas o número de desktops executando o Windows. Este é o objetivo, criar redes de bots. Se o Linux realmente crescer no espaço da área de trabalho, ele também será atacado. Eu acho que o Mac OSX já está vendo isso.

James Risto
fonte
2

Há uma razão muito importante pela qual o Linux e o OpenBSD têm o potencial de serem mais seguros que o Windows. Essa é a capacidade do sistema operacional de se proteger contra ataques de rede.

No Windows, os pacotes de rede recebidos foram expostos a partes significativas do sistema operacional muito antes de um firewall do Windows poder rejeitar o pacote. No linux, usando IPTables ou no OpenBSD usando PF, você pode isolar pacotes não autorizados muito antes no processo do SO receber um novo pacote de rede - reduzindo a exposição.

No entanto, depois de abrir uma porta e executar um serviço nela - ou seja, tornar um computador em rede útil - você fica tão seguro quanto o código que executa esse serviço.

Michael Shaw
fonte
2

Não existe um sistema operacional mais seguro que outro. Tudo depende do conhecimento das pessoas que administram o sistema.

Eu conheci e trabalhei com alguns administradores * nix extremamente talentosos ao longo dos anos e eles poderiam configurar um servidor * nix extremamente seguro. No entanto, coloque-os na frente de um host do Windows e eles não têm idéia de como travar a máquina. Da mesma forma, eu sei bastante sobre a segurança de um host Windows, mas me coloquei na frente de uma caixa * nix e não teria ideia do que estava fazendo.

Nenhum sistema operacional é mais ou menos seguro do que outros. Claro que poderíamos falar sobre o histórico das plataformas e usá-lo para debater qual deles foi mais seguro ao longo do tempo, mas não estamos falando de sistemas operacionais * nix de 10 anos atrás e da implantação do Windows NT 4 em ambientes de produção. . Estamos falando de sistemas operacionais modernos (ou pelo menos deveríamos estar) e quais podem ser melhor protegidos.

Vi alguém dizer algo em resposta sobre pacotes chegando ao firewall do Windows tocando mais partes do sistema operacional do que o firewall do Linux. Por pergunta a ele se torna quem confia em um firewall de software em execução no host? É para isso que servem os firewalls de ponto final / front-end. Para proteger a rede. O host que está executando um serviço tem um serviço exposto. É o trabalho dos hosts garantir que esse serviço não seja comprometido. É o trabalho dos dispositivos de rede à sua frente para impedir que outros pacotes passem da Internet para os outros serviços dos hosts.

Uma vez que a rede está adequadamente protegida, tudo depende de quão bem o aplicativo está sendo executado no host. Esse aplicativo possui estouros de buffer que podem ser explorados? Existem maneiras dentro do aplicativo exposto de acessar o sistema operacional e de alguma forma obter um nível mais alto de permissões? Caso contrário, é um aplicativo bem protegido. Se houver, você tem um problema que precisa ser exposto.

Se alguém não considerar outro sistema operacional em seu data center, isso é um sinal de ignorância (vale para uma loja totalmente Linux, bem como uma loja totalmente Windows). Ambos os sistemas operacionais têm usos e devem ser usados ​​como tal. Nem é melhor ou pior que o outro. (E sim, temos duas máquinas Linux em nosso ambiente que lidam com serviços de produção.)

Mrdenny
fonte
1
Eu diferiria na opinião de que tudo depende do conhecimento dos administradores. Se lhe pedem para defender um forte de um ataque contra uma barraca, acho que você tem uma vantagem com um forte. Se os dois que estão sendo comparados aqui são Linux e Windows, eles foram projetados com duas filosofias diferentes para lidar com vários usuários e acesso simultâneo ao sistema. Embora bons administradores possam ajudar a corrigir deficiências, ainda existem vantagens de um sobre o outro como ponto de partida.
22410 Bart Silverstrim
1

Não há necessidade de amaldiçoar sua universidade pelo uso de servidores Linux, para seus requisitos específicos, como AdamB disse, use o Mono (www.mono-project.com). Normalmente, o professor interessado em sistemas operacionais prefere o linux, mesmo qualquer entusiasta do sistema operacional prefere o linux, por simples curiosidades sobre como as coisas funcionam na prática em livros.

  • Agora em relação à segurança,

O linux agora segue o DAC (controle de acesso discricionário), um sistema mais inteligente para o controle de acesso. Como mencionado em outras respostas, sim, o linux estava no modo multiusuário e, portanto, o sistema de controle de acesso ficou melhor que os outros.

Mas a segurança a que você está se referindo se parece com a segurança do servidor, que não é apenas um problema de sistema operacional, mas todos os problemas de rede do servidor. Onde, quero dizer, Firewalls Access Control Lists, roteador etc ... As atualizações são gratuitas, por toda a vida. é aberto e testado muito, o que é muito importante.

além da segurança, a viabilidade econômica faz do linux a melhor opção para servidores, onde são poucos, mas os aplicativos devem executar ou hospedar serviços. E esses aplicativos são muito bem portados para eles. Por exemplo - Apache.

Eu acho que não era apenas segurança, mas outros fatores que fazem com que você goste da maioria das outras universidades optando pelo Linux nos servidores.

Vivek Sharma
fonte
1

Embora haja muitas ótimas respostas aqui, só quero acrescentar que não existe um sistema operacional seguro.

Sabe-se que se um humano criou uma plataforma 'segura', outro humano pode encontrar buracos nessa plataforma com o tempo.

Concordo que as duas primeiras frases de Evan resumem melhor a segurança do SO:

Eu não acho que um sistema operacional seja "seguro". Uma configuração específica de um sistema operacional possui um grau específico de resistência a ataques.

Portanto, não importa se comparamos o GNU / Linux, os sistemas BSD (Free / Open / Net), Microsoft, Windows, Mac OSX, Symbian, PalmOS, Cisco IOS, AIX, QNX, Solaris, z / OS ou qualquer um dos outros "sistemas operacionais" que executam coisas como sua TV, MP3 player, forno de microondas etc., etc.

Cada um deles tem uma parte do todo que tem a capacidade de ser explorada por um determinado indivíduo.

Por esse motivo, a maioria dos fornecedores possui white papers sobre como configurar seus sistemas para garantir a configuração mais segura possível. Isso significa usar outras tecnologias para minimizar a área da superfície.

por exemplo:

  • NAT
  • proxy reverso
  • firewalls
Wayne
fonte
1
eu ainda apostaria meu dinheiro no openbsd em qualquer dia por "menos provável que seja remotamente vulnerável".
Kyle Hodgson
Também não colocarei meu dinheiro no seu! A menos que falamos DOS <= 4 (sem drivers NDIS antes de 5.5 I acreditar?)
Wayne
1

O fato da Segurança do sistema operacional em relação às estruturas é um pouco mais do que apenas um problema do tipo kernel. Individualmente, cada uma das estruturas possui seus mecanismos de segurança compatíveis. A especificação da conta de multiusuários no Microsoft Windows permite um pouco mais de flexibilidade em termos de implantação em massa; no entanto, no Linux, você tem a capacidade de controlar tudo - os detalhes das permissões e delegações.

O nível de segurança do .NET Framework tem a ver principalmente com a diretiva de grupo, as configurações do powershell e do console do neth. O motivo é a telemetria do kernel em parâmetros de acesso de baixo nível com solicitações de acesso dinâmico na memória. As estruturas do Linux geralmente exigem um nível de atenção semelhante, mas isso tem a ver principalmente com os sinalizadores que você especifica quando está configurando o idioma. O Linux, quando configurado corretamente, é comprovadamente mais seguro do que a segurança configurada pelo Microsoft Windows. Embora em um nível "decente" de configuração; as ferramentas podem deslizar diretamente pelo seu IIS e entrar diretamente nos seus serviços usando um GUID específico. O Linux geral permite mais controle de aspecto do que

Pontos principais:

inodes and NTFS index primers and permissions in Windows (including registry) 
    are easier to sift through than an EXT hardnened Linux 

protocol traversal within Linux for exception handling are easier to find 
    than a solid configured Windows Firewall. 

cache indexes within ASP.NET are easier to violate than cache management    
    technologies which are well handled within GNU and C++ libraries
    they are practically built for parallel systems now. 

SQL parse queries, have been proven over and over again; MySQL is faster. 
    than MSSQL, though Oracle has been pushing the belt. Transactional 
    security is proven to be more secure on Windows, but for performance 
    and sheer flexibility shows that MySQL should be used or something 
    along the lines of a iSQL or NSQL (not SQLAB like Berkeley SQL which 
    MSSQL is based on) 

Gateway permissions, Linux has an amazing ability to fondle packets and tiny 
    little things that Windows can only put into sorting bins. This being 
    said, if you are running a Windows network, you have more network auditing 
    than a Linux network because the packages are easier to apply walls to 
    than DLL files and protocol requests. 

Surface layer GUI, .NET Framework offers strict field definitions; while Linux 
    allows intense PCRE and other Regular Expressions. 

Estatutos do Governo:

OWASP proves over and over again that it is harder to crack a hardened Linux Server 
than it is to crack a hardened Windows Server. Why? Because the firewall and Group 
Policy does not allow as far a tuned key for aspects of the closed source framework 
within ASP.NET; Linux will let you choose a color for every letter on your command. 

NIST Shows over time that SQL management permissions are harder to parse with Windows 
while Linux PCRE makes it harder to bypass SQL queries whether it be within a GUI or 
a Web Interface. 

Carnagie Mellon shows that ASP.NET can hold higher regulations because it is built 
in a more module based context which employs the use of MVC frameworks and can potentially 
have a higher restriction. Meanwhile PHP and Java show that they are incredibly robust 
with their Obfuscation and encapsulation methodologies.

Opiniões pessoais:

Cada sistema operacional tem o potencial de ser mais seguro do que o restante da caixa. Tomada a comparação bruta de estruturas que operam com uma segurança mais alta com Linux ou Windows, eu diria que a parte principal da segurança da web está usando a estrutura mais incompatível, mas eficiente. Dessa forma, torna-se muito mais difícil acessar as permissões de acesso do disco rígido nativo e os identificadores da biblioteca. Dessa forma, você tem uma tigela soldada sobre o sistema operacional. Como Evan havia dito com permissões NTFS e / proc ou / dev. Se você usa algo que não pode falar com isso; é mais difícil de quebrar.

O que aprendi com o desenvolvimento da web é: nunca subestime sua estrutura. O .NET tem permissões para criar volumes montados compartilhados e mecanismos de controle para clusters do SQL Server; enquanto o Apache Source pode fazer a mesma coisa com sistemas operacionais usando Linux. É uma pergunta bastante decente, embora eu deva dizer que o Linux permite mais segurança no controle de aspectos individuais e restrições e monitoramento em vários idiomas; enquanto o Windows tem o amplo poder de auditoria e registro em log com uma interface de depuração lógica de alto nível. Ambos são comparáveis, eventualmente se reduz a um "quão bem - você o trava" e "quantos sinos e assobios existem?" dentro da estrutura de trabalho. O Apache tem mais reforços de segurança suplementares;

No momento atual, comparando o PHP no Linux ou Windows, é óbvio que existem mais extensões que você pode usar em um sistema operacional Linux; O Windows possui um nível de gerenciamento de permissão diferente do PHP, o que dificulta o gerenciamento de diretórios e acesso a arquivos. No Apache, por exemplo, XAMPP, LAMPP ou WAMP, eu sentiria que o Windows é um pouco menos seguro, considerando o fato de que suas restrições no firewall são mais fáceis de violar porque ele compartilha as mesmas regras de encapsulamento do seu navegador. Por outro lado, o Linux pode usar pools de aplicativos e outros mecanismos de segurança em nível de pacote que são muito mais difíceis de imitar. O Windows exigiria o uso de todos os aspectos do sistema operacional para tornar a rede mais segura.

O IIS (em um servidor Microsoft, não o Windows Client) no Windows com ASP.NET com as misturas SEC_ATL mais recentes também pode ser muito seguro.

Somente no Apache, você pode executá-lo com o Linux para habilitar os drivers de nível superior e inferior, SMIME, codec e pacotes. Embora o Windows exija que você instale mecanismos de segurança sobrepostos que, de outra forma, obstruiriam seu tráfego um pouco mais do que você gostaria, se tratasse de executar milhares de servidores.

No Linux, quanto mais fino o kernel for e mais ideal para a segurança da rede, melhor (como a fusão do Apache com o NSLUG).

Com o Windows, você gosta mais de programar módulos Powershell e segurança adicional de sobreposição para sua estrutura ASP.NET e configurar sua política de grupo para USGS, porque na maioria das vezes ele realmente precisa bloquear o tipo de tráfego que o Linux negará automaticamente e não pensará sobre.

Igualmente eles podem ser fortes. Out of the Box, uma distribuição ao vivo do Linux será mais forte do que um Microsoft Windows Server não configurado que acabou de ser configurado com o Assistente.

Com o tempo, o Linux ultrapassará o Windows no jogo de segurança. Os servidores Debian 3 ainda são mais fortes atualmente do que o Microsoft Server 2008 R2 e adivinhem o que eles podem suportar as mesmas tecnologias sem uma reconstrução do kernel. O Debian ainda pode fumar, e eu já vi isso com meus próprios olhos.

Embora, como já foi dito antes, tenho certeza. Tudo se resume à equipe com a qual você trabalha e seu olhar aos detalhes. Isso sempre faz a maior diferença quando se trata de trabalhar em uma grande rede de servidores.

VLi
fonte
0

Predominantemente, acredito que o Linux é visto como uma opção mais segura devido ao seu uso onipresente de software de código aberto.

A facilidade vem da idéia de que "a comunidade" notará que se algo suspeito for adicionado a algum lugar (por exemplo, se o openSSH de repente começar a telefonar para casa com senhas) ele não ficará por muito tempo.

Mas não posso reiterar o suficiente o que os outros acima já disseram: a segurança depende muito da configuração: quem se importa se o openSSH não está ligando para casa se você não tiver firewall, uma senha raiz nula e o PermitRootLogin ativado no sshd;)

msanford
fonte
0

Resposta curta: inicialmente, o UNIX foi projetado para ser seguro; O Windows foi projetado para ser simples. Agora, os descendentes do UNIX vão fingir ser mais simples para seus usuários; O Windows finge ser mais seguro.

Eles ainda não se conheceram

dmityugov
fonte
2
Bah! O Windows NT tinha mais premissas de segurança em seu design inicial do que o Unix. O Unix tinha segurado a segurança mais tarde como uma reflexão tardia. Os sistemas operacionais modernos do tipo Unix (como o Linux, que não é realmente um sistema operacional "Unix", pois é uma base de código completamente nova) melhoraram muito em relação ao Unix original, mas o Windows NT foi projetado, desde o início, para atenda aos requisitos de segurança do "Orange Book" do Departamento de Defesa dos EUA.
Evan Anderson
0

As versões anteriores do Windows tinham aplicativos em execução no mesmo espaço de endereço, para que pudessem passar os ponteiros entre si. Eles também contavam com multitarefa cooperativa e, às vezes, não estavam cooperando.

Mesmo versões muito antigas do Linux / Unix tinham particionamento entre aplicativos e entre o O / S e a camada de aplicativo. A divisão de tarefas, embora nem sempre seja ideal, era pelo menos justa.

Assim, o legado do Unix (ou Linux) para sistemas mais robustos que precisam de maior disponibilidade.

Tudo isso ainda se aplica hoje? Essa é outra pergunta.

kmarsh
fonte
Claro que não. Muita da imprensa negativa que o Windows recebe da comunidade Linux é realmente direcionada diretamente para essas versões anteriores e falha em levar em conta o fato de que as coisas seguiram em frente. A última versão do Windows a usar coop m / t foi 3.1, e a última versão do Windows que teve o DOS batendo no coração foi ME.
Maximus Minimus
0

Agora que o NT alcançou o Unix em muitos dos lugares anteriormente deficientes, as permissões de arquivo e a proteção de memória não são mais grandes problemas de diferenciação.

Mas .... a. Nos sistemas Unix, todo o acesso a todos os dispositivos passa por arquivos, para os quais a segurança pode ser facilmente administrada. Por exemplo, você sabe como impedir o usuário X de acessar a placa de som no Windows enquanto ainda permite o usuário Y? No Unix, esse tipo de coisa é fácil.

b. A estrutura de diretórios é muito mais sã. (Por exemplo, um aplicativo de usuário precisa ter apenas acesso de gravação à sua pasta pessoal, etc.) Isso também melhorou no Windows nos últimos anos.

d. Isso é demais: SELinux (e o recurso de sandbox "Cinto de segurança" do Trusted Solaris e do Mac OS). Isso é conhecido como NDAC (Controle de Acesso Não Discricionário). Se você estiver executando uma distribuição de SO com esses recursos, haverá basicamente duas camadas de segurança acontecendo simultaneamente: o DAC (sistema de permissões) normal que o Unix sempre teve e as versões modernas do Windows - e, além disso, o "firewall de aplicativo" que o SELinux e sistemas similares impõem. Por exemplo, você pode definir uma política que diga que o servidor da Web Apache tem permissão para gravar em / tmp e ler em / var / www e / etc / apache. Todos os outros acessos ao disco serão negados independentementede permissões. Da mesma forma, você pode especificar que ele pode aceitar conexões de entrada apenas na porta 80 e não fazer conexões de saída. Então, mesmo se houver um bug que permita que alguém faça algo muito ruim, e mesmo que o apache esteja sendo executado como root, isso não importará - a política o impediria. Isso requer uma penalidade de velocidade (muito pequena) e pode ser um problema se você estiver usando uma configuração incomum, mas, no caso normal, pode aumentar seu nível de segurança em uma quantidade enorme em relação ao Unix e Windows à moda antiga.

e Camadas - Os sistemas Unix são compostos de muito mais camadas e serviços distintos que podem ser trocados. Isso significa que eles podem ser analisados ​​individualmente quanto à correção e segurança, trocados etc. Para quase qualquer um deles, não há necessidade de reiniciar. Essa é uma grande vantagem nos sistemas de servidor. Além disso, é mais fácil desativar (e desinstalar) as coisas que você não precisa em um sistema Unix. Por exemplo, por que estar executando uma GUI em uma caixa de servidor da web? Aumenta a superfície de ataque e ocupa a RAM.

f. Para aqueles que disseram que o Windows NT foi projetado desde o início para segurança ... isso é verdade, o kernel foi projetado desde o início com recursos avançados de segurança e multiusuário, mas há dois problemas principais: 1. Histórico ruim da Microsoft com segurança e 2. O sistema operacional como um todo foi projetado para ter compatibilidade com aplicativos legados do Windows, o que significava muitos compromissos. O Unix sempre foi multiusuário e, portanto, os aplicativos não têm grande surpresa quando a segurança é imposta - o que significa menos comprometimentos.

Noé
fonte
A segurança que acessa "arquivos de dispositivo" no Windows NT é feita por meio de ACLs aplicadas no gerenciador de objetos executivo. Ele possui aproximadamente o mesmo modelo de ACL que o sistema de arquivos. Re: your point "a": Os aplicativos com logotipo que atendem às diretrizes de desenvolvimento da Microsoft também não precisam de acesso de gravação fora do diretório pessoal do usuário. re: "b": Concordo que há funcionalidade MAC limitada no Windows. Os níveis de integridade, adicionados ao Vista, são uma forma de MAC. O "firewall avançado" (também adicionado ao Vista) pode limitar o tráfego de saída da maneira que você descreve, se optar por configurá-lo dessa maneira.
Evan Anderson
re: "e": Concordo, em princípio, que menos software significa menos chances de falha. Existem versões internas do Windows que não possuem uma GUI, mas a Microsoft optou por não lançá-las. re: "f": desenvolvedores de terceiros têm sido mais um problema re: obter políticas de segurança padrão sãs definidas no Windows do que na Microsoft. Pessoalmente, acho que a Microsoft deve ser mais sincera quanto aos aplicativos que se comportam mal, mas eles vivem em um "espaço" diferente dos desenvolvedores de sistemas operacionais livres e de código aberto quando se trata de garantir que os aplicativos de seus Clientes sejam executados.
Evan Anderson
re: "O sistema operacional como um todo ... projetado para ter compatibilidade ..." O Win32 é um subsistema do kernel - não é o NT. Se a Microsoft quisesse (ou deixaria outra pessoa), você poderia criar uma "distribuição" do Windows NT que não tivesse subsistema Win32, GUI e inicializada com, digamos, o subsistema de kernel POSIX "Interix". Praticamente toda a interface do usuário em um sistema operacional NT é baseada no Win32, mas o kernel é perfeitamente capaz de suportar um ambiente que não seja o Win32.
Evan Anderson
0

Existem várias razões pelas quais os sistemas baseados em Linux são frequentemente considerados mais seguros que os sistemas Windows.

Uma é a habilidade do proprietário. Se você entrar na Best Buy ou no Wal-Mart (aqui nos EUA) e comprar um computador sem pensar muito, ele executará o Microsoft Windows. Isso significa que existem imensos números de sistemas Windows executados por pessoas que não têm idéia. Como quase ninguém compra um computador Linux por acidente (pelo menos desde que a Microsoft contra-atacou nos netbooks), a maioria dos usuários de Linux sabe alguma coisa sobre computadores ou teve seu computador configurado por alguém que o faz. Isso se aplica a todos os ambientes onde você recebe pessoas que não sabem o que estão fazendo; aqueles que não estão executando o Windows e aqueles que executam vários sistemas operacionais diferentes.

Um é o número de atacantes. O Microsoft Windows é um alvo muito mais atraente, por causa de todas as máquinas mal administradas por aí. Existem muitos destinos Linux de alto valor, mas geralmente são bem administrados (juntamente com muitos destinos Windows de alto valor). Para uma aproximação razoável, ninguém mira em computadores Linux em geral.

Um é a cultura. Em qualquer ambiente Unix / Linux, há uma distinção clara entre contas raiz e de usuário e, em quase todos os casos, as pessoas trabalham em suas contas de usuário quando não precisam ser raiz. Na minha experiência, a distinção não é tão forte em ambientes Windows, pois cada usuário normalmente terá uma conta, com os privilégios associados. Agora estou no meu computador de trabalho, onde tenho uma conta, uma conta de administrador. Tudo o que faço é feito por uma conta com altos privilégios. Quando eu voltar para a minha caixa do Linux, farei quase tudo em uma conta de privilégios limitados e aumentarei quando necessário. Minha esposa teve que argumentar muito para conseguir duas contas em seu computador no trabalho, uma conta de administrador normal e uma conta de privilégios limitados para que ela pudesse ver se usuários comuns têm privilégios para executar o que escrevem.

Uma é a compatibilidade com versões anteriores. Embora o Unix não tenha começado como um sistema operacional seguro, ele obteve segurança desde o início. Os programas para Linux não requerem execução como root, a menos que efetuem funções raiz. O Windows, por outro lado, executa um grande número de programas que exigem contas de administrador, porque foi nisso que os desenvolvedores executaram e testaram (veja o parágrafo acima), e esses desenvolvedores geralmente não tinham consciência da segurança e costumavam funcionar bem. Esse é o grande problema que a Microsoft estava tentando resolver com o UAC. Não acho que seja uma solução particularmente boa, mas para ser sincero, a Microsoft não encontrará uma boa solução aqui (não acho que largar a compatibilidade com versões anteriores seja uma boa solução aqui).

Isso leva ao fato de que a maioria dos problemas de segurança em larga escala ocorrerá nos sistemas Microsoft, independentemente dos méritos dos modelos de segurança e da percepção de que a Microsoft recebe os grandes problemas de segurança. Pela heurística da disponibilidade, o fato de as pessoas pensarem em mais problemas de segurança da Microsoft influencia seu julgamento.

Essas são, na minha opinião, os motivos válidos. Não toquei na segurança real do sistema operacional, pois não sei se a distribuição do Windows ou do Linux é mais vulnerável que a outra quando executada por um administrador experiente. O Linux tem a vantagem do código aberto, pois qualquer um pode encontrar e corrigir bugs, enquanto a Microsoft instituiu práticas de segurança que podem ou não funcionar melhor. (Se eu quisesse rodar um sistema operacional realmente seguro, escolheria o OpenBSD, um sistema operacional de código aberto que se esforça para ser seguro.) Ambos os sistemas operacionais têm bons sistemas de permissões (minha preferência é o Unix, mas outras pessoas razoáveis ​​discordam).

Obviamente, existem más razões para considerar os sistemas operacionais menos seguros. Algumas pessoas têm um sistema operacional favorito e não perdem a oportunidade de falar mal de outros. Algumas pessoas não gostam da Microsoft ou Richard Stallman ou de outra pessoa ou organização e denegrem os SOs associados. Algumas pessoas não notaram que a Microsoft mudou ao longo dos anos, já que não faz muito tempo que a Microsoft realmente não se importava com segurança, e o Windows era menos seguro que o Linux.

David Thornley
fonte
-1

Não há outro motivo real além da inércia. Eu já vi muitos defensores do Linux argumentando contra o Windows (e não apenas no lado da segurança) que, aparentemente, são válidos, mas - que quando você cava um pouco - se aplicam apenas ao Windows 3.1 ou 95/98.

Eu já disse isso antes, mas, embora o Windows possa ter mais patches / etc, esses são correções para vulnerabilidades de segurança que foram identificadas . E não são os que foram corrigidos que você precisa se preocupar, é? Não acredito que ser de código aberto seja intrinsecamente mais seguro também. A rolagem de seus próprios patches pode ser boa para um usuário doméstico, mas um usuário corporativo ou administrador sempre desejará que o Real Thing certificado para funcionar (e que tenha sido testado totalmente) com uma variedade de aplicativos e certificado para não quebrar a próxima atualização do kernel. O mesmo se aplica às correções da comunidade FOSS.

Então, no meu livro, é uma mistura de inércia, preconceito e estar incorporado na cultura UNIX, com exclusão de alternativas.

Maximus Minimus
fonte
-2

Os processos no Linux / Unix não podem alterar seus privilégios após a atribuição de um usuário, os processos no Windows podem alterar seus privilégios de usuário e seu usuário durante o processo.

Essa é a essência da razão pela qual o Windows é menos seguro que o linux / unix.

Corvo de fogo
fonte
2
Isso só é verdade se o contexto em que o processo estiver sendo executado tiver direitos "Atuar como parte do sistema operacional" (SE_TCB PRIVILEGE). Se você iniciar um processo com um contexto de segurança que não tenha o SE_TCB PRIVILEGE, o processo não poderá simplesmente "personificar" aleatoriamente (o NT-ism por assumir outro contexto de segurança) outro usuário. Se você estiver executando um aplicativo com o SE_TCB PRIVILEGE sem um bom motivo, poderá obter o que merece, IMO.
Evan Anderson
Portanto, a segurança é imposta por um "contexto" como aposto a uma regra de todo o sistema, e é por isso que o Windows é menos seguro que o unix / linux.
Fogo Corvo