Escuché que los sistemas basados en Linux son mejores para la seguridad. Aparentemente no tienen virus y no necesitan software antivirus. Incluso mi universidad afirma esto: se niegan a tener Windows en sus servidores, lo cual es una verdadera lástima porque queríamos usar el marco .NET para crear algunos sitios web.
La única razón por la que puedo ver que Linux es más seguro es porque es de código abierto, por lo que teóricamente los errores se detectarían y solucionarían antes.
Sé un poco sobre cómo funcionan los sistemas operativos, pero realmente no he profundizado en cómo Linux y Windows implementan su sistema operativo. ¿Alguien puede explicar la diferencia que hace que los sistemas basados en Linux sean más seguros?
Respuestas:
No creo que un sistema operativo sea "seguro". Una configuración particular de un sistema operativo tiene un grado particular de resistencia a los ataques.
Probablemente me criticarán por ser un "apologista de Microsoft" aquí, pero este hilo está muy forzado hacia las generalizaciones sobre "Windows" que no son ciertas.
Windows 1.0 - 3.11, 95, 98 y ME están basados en DOS. Este linaje de sistemas operativos no tenía ninguna seguridad en el sentido formal (espacios de direcciones protegidos, separación de modo kernel / usuario, etc.). Afortunadamente, cuando estamos hablando de "Windows" hoy no estamos hablando de estos sistemas operativos.
La familia de sistemas operativos Windows NT (Windows NT 3.5, 3.51, 4.0, 2000, XP, 2003, Vista, 2008 y 7) ha tenido un sistema de seguridad muy razonable "diseñado" desde el lanzamiento inicial en 1992. El sistema operativo fue diseñado con el "Libro Naranja" de TCSEC en mente y, aunque no es perfecto, creo que está razonablemente bien diseñado e implementado.
Windows NT fue "multiusuario" desde el principio (aunque la funcionalidad de múltiples usuarios que recibieron una interfaz gráfica de usuario simultáneamente desde el mismo servidor no se produjo hasta Citrix WinFrame en la era de Windows NT 3.51). Hay una separación de modo kernel / usuario, con protección de espacio de direcciones que depende de las funciones de hardware subyacentes de la MMU y la CPU. (Yo diría que es muy "Unix-y", pero en realidad es muy "VMS-y").
El modelo de permisos del sistema de archivos en NTFS es bastante "rico" y, aunque tiene algunas verrugas en relación con la "herencia" (o la falta de ella, vea ¿Cómo solucionar el defecto de diseño Mover / Copiar NTFS? ), No ha sido hasta los últimos 10 años más o menos que los sistemas operativos estilo Unix han implementado una funcionalidad similar. (Novell NetWare le ganó a Microsoft en este caso, aunque creo que MULTICS los había derrotado a ambos ...> smile <)
El administrador de control de servicios, incluido el sistema de permisos para controlar el acceso a los programas de servicio de inicio / detención / pausa, está muy bien diseñado y tiene un diseño mucho más robusto que las diversas arquitecturas "init.d" script "(más bien como" acuerdos de caballeros " ") en muchas distribuciones de Linux.
El administrador de objetos ejecutivos (ver http://en.wikipedia.org/wiki/Object_Manager_(Windows) ), que es más o menos análogo al sistema de archivos / proc y al sistema de archivos / dev combinado, tiene un modelo ACL que es similar al sistema de archivos y mucho, mucho más rico que cualquier modelo de permiso que conozco para / proc o / dev en cualquier distribución de Linux.
Si bien podríamos debatir los méritos y desventajas del registro, el modelo de permisos para las claves en el registro es mucho más detallado que el modelo de configuración de permisos en archivos en el directorio / etc. (Me gustan especialmente los comentarios de Rob Short sobre el registro en su entrevista "Behind the Code":http://channel9.msdn.com/shows/Behind+The+Code/Rob-Short-Operating-System-Evolution Rob fue una de las personas principales detrás del registro de Windows inicialmente, y creo que es seguro decir que él no necesariamente feliz con cómo salieron las cosas.)
Linux en sí mismo es solo un núcleo, mientras que Windows es más análogo a una distribución de Linux. Estás comparando manzanas y naranjas para compararlas así. Estoy de acuerdo en que Windows es más difícil de "desmantelar" que algunos sistemas basados en Linux. Algunas distribuciones de Linux, por otro lado, se envían con mucha "basura" activada también. Con el advenimiento de los diversos sabores "incrustados" de Windows, es posible (aunque no para el público en general) construir "distribuciones" de Windows que difieren en su comportamiento de los valores predeterminados de Microsoft (excluyendo varios servicios, cambiando los permisos predeterminados, etc.) .
Las diversas versiones de Windows han tenido su parte de valores predeterminados mal elegidos, errores que permitieron a los usuarios no autorizados obtener privilegios, ataques de denegación de servicio, etc. Los núcleos de Unix (y muchas aplicaciones basadas en Unix que se ejecutan de forma predeterminada como root) han tenido los mismos problemas Microsoft ha hecho un trabajo increíble, desde Windows 2000, para facilitar la compartimentación de aplicaciones, ejecutar programas con los menos privilegios y eliminar funciones innecesarias del sistema operativo.
En resumen, supongo que lo que digo es que la configuración específica de un sistema operativo dado para sus necesidades, con respecto a la seguridad, es más importante que el tipo de sistema operativo que está utilizando. Las distribuciones de Windows y Linux tienen capacidades muy similares con respecto a las características de seguridad. Puede aplicar técnicas de seguridad sólidas (privilegios mínimos, instalación limitada de componentes opcionales, mecanismos de autenticación criptográficamente seguros, etc.) en cualquier sistema operativo. Si realmente lo haces o no, eso es lo que importa.
fuente
Otra cosa que no se menciona es que la seguridad en Windows es mucho más opaca que en Linux.
Por ejemplo, puedo ver un par de archivos de texto y ver exactamente qué está ejecutando mi servidor web. IIS? No tanto: puede ver los resultados de la configuración a través de la herramienta GUI, pero hay configuraciones ocultas. Luego tiene que usar un conjunto diferente de herramientas para revisar las ACL en los archivos, etc.
Es lo mismo con la mayoría de los programas en el mundo de Windows: es muy difícil comprender rápidamente exactamente qué está afectando el entorno de tiempo de ejecución, entre el registro y las ACL.
fuente
No sé sobre esa comparación de permisos de archivos ... cuando era administrador de UNIX / Linux, NT4 tenía archivos ACL que eran mucho más granulares que los permisos de estilo tradicional '777' de UNIX / Linux. Los permisos no lo son todo, por supuesto, y estoy seguro de que las distribuciones modernas de Linux al menos hacen que las ACL de grano fino estén disponibles, incluso si no se implementan de manera predeterminada. En mi opinión, los conceptos sudo y raíz siempre han existido en UNIX, aunque Windows ha estado agregando estos conceptos de manera constante y probablemente ahora estén a la par.
Mi propia interpretación es que, dado que el código del kernel de Linux, y muchos de sus controladores y utilidades, están abiertos, es probable que se haya revisado mucho más a fondo y se corrija con mucha más frecuencia por errores de codificación que pueden conducir a vulnerabilidades remotas que un hacker puede explotar. La teoría dice, en mi cabeza de todos modos, que dado que Linux no es propiedad de una corporación, puede explorar el objetivo de seguridad más completamente que una corporación. Las empresas deben ganar dinero; mientras que los grupos de código abierto simplemente no tienen esta restricción.
Es mucho más fácil ingresar a un sistema Linux y simplemente apagar todo el sistema de ventanas, demonios RPC, etc., puede obtener un sistema basado en Linux o BSD en uno o dos puertos abiertos con un mínimo de paquetes instalados y aún Tener un sistema muy útil muy fácilmente. Esto probablemente tiene más que ver con la herencia de UNIX como SO de desarrollador; todo fue construido para ser modular, no demasiado interconectado. Esto conduce a un sistema mucho más configurable donde simplemente puede eliminar cosas que no son relevantes. No creo que sea tan fácil fortalecer los servidores de Windows de esta manera.
El grupo OpenBSD ha llevado este concepto al extremo. El objetivo principal número uno del programa es revisar cada línea de código para detectar posibles fallas de seguridad. La prueba está en el pudín, se ha encontrado un número increíblemente bajo de vulnerabilidades para OpenBSD a lo largo de los años debido a esta atención al detalle casi fanática (uso la palabra con respeto).
Las corporaciones, si bien hacen un software maravilloso (MSSQL, Exchange, Windows Server 2003 son maravillosas en mi libro), solo tienen objetivos diferentes.
fuente
En mi opinión, si se configuran suficientemente bien, los sistemas basados en Linux son más seguros que los sistemas Windows. Algunas de las razones son:
Transparencia y abundantes herramientas de red simples: por ejemplo, es muy fácil para el administrador de Linux ver la configuración actual del firewall escribiendo "iptables -L -n" en el shell. También puede ver qué puertos están abiertos en la máquina ejecutando "nmap" desde otra máquina Linux. Esto hace que la vida sea mucho más fácil, ya que puede especificar con precisión qué puertos tienen acceso y desde qué direcciones, etc.
Archivos de registro de texto en una ubicación: los archivos de registro basados en texto en una ubicación "/ var / log" son fáciles de respaldar y analizar. Además, las herramientas como logwatch, que pueden monitorear estos archivos de registro y enviarle correos electrónicos con líneas importantes, hacen las cosas muy fáciles. Incluso podemos escribir nuestras propias herramientas para analizar los archivos de registro y encontrar la información que nos interesa. Los registros incluso se pueden exportar a un servidor remoto de syslog en caso de que no queramos registros en el mismo servidor.
No se preocupe por los virus: si los virus son menos en Linux porque hay menos sistemas basados en Linux O porque todos los usuarios aman Linux o porque Linux es más seguro. El motivo no importa. Si al final Linux tiene menos amenaza de virus, entonces es algo bueno de Linux. Personalmente, he visto a personas instalar dos antivirus, anti-spyware y anti-adware en la misma máquina. Todas estas herramientas de protección consumen mucha CPU y memoria.
Soporte para muchos lenguajes de programación: es muy fácil codificar en Linux. C, C ++, Python, Perl, Java, etc. simplemente funcionan sin necesidad de instalar ningún paquete adicional. (Esto en caso de que instale una gran distribución como Fedora que viene en DVD). Se agrega a la seguridad ya que podemos realizar tareas repetitivas mediante la codificación. Entonces, si comete un error y hay un problema, sería con todas las cuentas y sería fácil de detectar y solucionar. Si tuviéramos que hacer los mismos cambios en una gran cantidad de cuentas / directorios a mano, podríamos cometer errores en uno o dos y podría llevar mucho tiempo encontrarlos. También podemos corregir los errores y buscar errores simples usando el código. Dado que todos los archivos de configuración, archivos de información del usuario, archivos de registro, etc. están en texto, es muy fácil codificar lo que queramos lograr y hay muchas maneras de hacer lo mismo.
Código fuente abierto: dado que probablemente muchas personas han visto el código, es muy raro que algún spyware / adware sea parte de las aplicaciones que vienen con Linux. También puede ver el código fuente si la seguridad es muy importante para algún servicio y ver cómo funciona. Si sabe exactamente cómo funciona, entonces conoce las limitaciones y cuándo se romperá. De hecho, si existen limitaciones de seguridad bien conocidas que se habrían documentado en las páginas man, el sitio web del paquete y en los comentarios en los archivos de configuración. Los desarrolladores no tienen nada que perder al decir que si usa nuestra herramienta en tal escenario, entonces es arriesgado. Es posible que no sea lucrativo para las organizaciones que venden software decir limitaciones para el software y haría que su software se viera mal y podría reducir la venta / ganancia.
Gratis e interoperabilidad: aunque esto no está relacionado con la seguridad. Para la universidad donde los costos son importantes, los sistemas basados en Linux son mucho más económicos que los sistemas basados en Windows y no hay necesidad de comprar licencias para el sistema operativo, así como para el software adicional que instalaríamos después de instalar el sistema operativo. En lo que respecta a la interoperabilidad, podemos conectarnos desde máquinas Linux a otros sistemas operativos y compartir archivos fácilmente. En Linux podemos montar muchos sistemas de archivos, incluidos FAT, NTFS, HFSPLUS. Podemos compartir cosas usando ftp, http, ssh, samba, nfs, etc. y todas estas cosas vienen instaladas o pueden instalarse con un solo comando. Otros sistemas operativos generalmente ofrecen solo una opción para compartir cosas.
Pero si no se configuran correctamente los sistemas basados en Linux pueden causar más problemas, entonces uno puede imaginar. Muchos usuarios pueden iniciar sesión en la máquina al mismo tiempo y hacer casi todo desde Shell. Es muy fácil dejar puertas traseras, troyanos en caso de que el firewall no esté configurado correctamente. El atacante puede eliminar el archivo de registro o manipularlo para ocultar sus huellas. El atacante puede codificar en la máquina atacada ya que todos los editores, compiladores y depuradores están disponibles una vez que el atacante tiene acceso a la shell. Todos los servidores ftp, http, se pueden ejecutar desde la cuenta de usuario, pero no en puertos seguros (1-1024). Por lo tanto, el atacante puede descargar el código del servidor http, compilarlo y ejecutar el servidor http en el puerto 6000 para que parezca X Server.
Por lo tanto, los sistemas Linux son más seguros siempre que el administrador sepa lo que está haciendo o, al menos, se moleste en buscar información en páginas de manual y documentación antes de hacer algún cambio nuevo.
fuente
La seguridad del servidor es más que solo el sistema operativo. Yo diría que un factor más importante en la seguridad del servidor es la persona que ejecuta el servidor y cuán cuidadosos han sido al bloquear las cosas.
Dicho esto, si la universidad es una tienda de Linux, no le permitirán usar un servidor de Windows independientemente de los datos que encuentre en la seguridad del servidor de Windows. Investigaría usando Mono (www.mono-project.com) si desea usar el marco .Net.
fuente
Transparencia
ps auxf
y sabrá qué servicios se están ejecutando, en qué cuenta.netstat -lnp
y sabrá qué programas tienen qué puertos TCP abiertos.iptables -L
y sabes qué reglas tiene tu firewall.strace
olsof
inspeccionar la actividad del proceso.ls -lah
otree -pug
y sepa exactamente qué propiedad y permisos tiene una carpeta completa./var/log
y se pueden inspeccionar con una simple "búsqueda a través de archivos"./etc
. Buscar archivos de texto, archivarlos o aplicar control de versiones (subversion / git) es realmente fácil.Sistema de permisos claro
ls
modo de color).$HOME
y/tmp
.Opciones de seguridad avanzadas
sudo
, los usuarios y los procesos pueden tener permisos para ejecutar solo unos pocos comandos administrativos.Puntos únicos para entrada y elevación privilegiada
sudo
contactar un servicio DBus que verifica primero PolicyKit. Esos programas SetUID se pueden encontrar con un solo comando "Buscar en todos los archivos".ssh
. Es un túnel SSL con verificación de clave pública / privada.Procesos en segundo plano seguros
Buenas herramientas de auditoria
nmap
,ncat
auditoría de seguridad hacen fácil.Buenas actualizaciones de seguridad.
lsof | grep =
).Todo lo mencionado aquí se entrega o todas las distribuciones principales de Linux, es decir, Red Hat, Debian, openSUSE o Ubuntu.
fuente
Linux fue diseñado para ser un sistema multiusuario desde el principio, por lo que tiene un sistema de permisos mucho más fuerte que Windows. También se diseñó para que no se ejecute con derechos administrativos (acceso raíz), por lo que todos los programas están diseñados para no necesitar los derechos. Esto significa que si su cuenta se ve comprometida, todo el sistema no lo está.
Parte de esto probablemente también proviene del hecho de que las personas que ejecutan Linux son (en términos generales), más técnicos y, por lo tanto, menos propensos a cometer los estúpidos errores que provocan que las computadoras sean pirateadas.
fuente
Desde mi punto de vista, en Windows tienes menos control que en Linux. Endurecer Windows es ... más difícil :). Aunque cualquier herramienta depende de las habilidades del portador, consideraría lo siguiente:
Entonces, aunque prefiero Linux sobre Windows, creo que no debe confiar en las instalaciones predeterminadas.
fuente
La mayoría de las publicaciones anteriores se han centrado en la intrusión, y se ha hecho un buen trabajo cubriendo ese punto, uno de los puntos de su pregunta fue sobre los virus. Las principales razones por las que las distribuciones de Linux tienen menos problemas con los virus son que hay más cuadros de Windows que Linux y Mac juntos. Los creadores de virus quieren obtener el mayor rendimiento por su dinero, por lo tanto, escriben para Windows.
Todos los sistemas son capaces de intrusiones e infectarse. Cualquiera que le diga algo diferente, ya sean sus instructores u otros, sean tontos o tengan propiedades frente al mar en Utah para venderlo.
fuente
A juzgar por las correcciones de seguridad en TODO el software en estos días, creo que el problema no es el software sino la cantidad de escritorios que ejecutan Windows. Este es el objetivo, crear botnets. Si Linux realmente crece en el espacio del escritorio, también será atacado más. Creo que Mac OSX ya está viendo esto.
fuente
Hay una razón muy importante por la que Linux y OpenBSD tienen el potencial de ser más seguros que Windows. Esa es la capacidad del sistema operativo para cortafuegos de ataques de red.
En Windows, los paquetes de red entrantes han estado expuestos a partes importantes del sistema operativo mucho antes de que un firewall de Windows pueda rechazar el paquete. En Linux, con IPTables o con OpenBSD con PF, puede aislar paquetes falsos mucho antes en el proceso del sistema operativo que recibe un nuevo paquete de red, lo que reduce la exposición.
Sin embargo, una vez que abra un puerto y ejecute un servicio en él, es decir, haga que una computadora en red sea útil, estará tan seguro como el código que ejecuta ese servicio.
fuente
No existe un sistema operativo que sea más seguro que otro. Todo depende del conocimiento de las personas que administran el sistema.
Me he reunido y trabajado con algunos administradores * nix extremadamente talentosos a lo largo de los años y pudieron configurar un servidor * nix extremadamente seguro. Sin embargo, péguelos frente a un host de Windows y no tendrían idea de cómo bloquear la máquina. Lo mismo ocurre a la inversa, sé una cantidad decente sobre la seguridad de un host de Windows, pero me puse frente a un cuadro * nix y no tendría idea de lo que estaba haciendo.
Ningún sistema operativo es más o menos seguro que el otro. Claro que podríamos hablar sobre la historia de las plataformas y usar eso para debatir cuál ha sido más seguro con el tiempo, pero no estamos hablando de los sistemas operativos * nix de hace 10 años y de implementar Windows NT 4 en entornos de producción. . Estamos hablando de sistemas operativos modernos (o al menos deberíamos estarlo) y cuáles pueden estar mejor protegidos.
Vi a alguien decir algo en una respuesta sobre los paquetes que llegan al firewall de Windows que tocan más partes del sistema operativo que el firewall de Linux. Por pregunta para él, ¿quién demonios confía en un firewall de software que se ejecuta en el host? Para eso están los firewalls de punto final / front end. Para proteger la red. El host que ejecuta un servicio tiene un servicio expuesto. El trabajo de los anfitriones es garantizar que ese servicio no se vea comprometido. Es el trabajo de los dispositivos de red frente a él para evitar que otros paquetes lleguen de Internet a los otros servicios del host.
Una vez que la red está debidamente protegida, todo depende de qué tan segura esté la aplicación que se ejecuta en el host. ¿Esa aplicación tiene desbordamientos de búferes que pueden ser explotados? ¿Hay alguna forma dentro de la aplicación expuesta para llegar al sistema operativo y de alguna manera obtener un mayor nivel de permisos? Si no, es una aplicación bien asegurada. Si los hay, entonces tiene un problema que necesita ser expuesto.
Si alguien no considera otro sistema operativo en su centro de datos, eso es una señal de ignorancia (va para una tienda de todo Linux, así como una tienda de todo Windows). Ambos sistemas operativos tienen usos y deben usarse como tales. Ninguno de los dos es mejor o peor que el otro. (Y sí, tenemos un par de máquinas Linux en nuestro entorno que manejan servicios de producción).
fuente
No hay necesidad de maldecir a su universidad por el uso de servidores Linux, para sus requisitos específicos, como dijo AdamB, use Mono (www.mono-project.com). Por lo general, los profesores con interés en el sistema operativo prefieren Linux, incluso cualquier entusiasta del sistema operativo preferiría Linux, por simples curiosidades sobre cómo funcionan las cosas en la práctica de los libros.
Linux ahora sigue DAC (control de acceso discrecional) es un sistema más inteligente para el control de acceso. Como se mencionó en otras respuestas, sí, Linux era multiusuario y, por lo tanto, el sistema de control de acceso mejoró que otros.
Pero la seguridad a la que se refiere se parece a la seguridad del servidor, que no es tanto un problema del sistema operativo como la totalidad de los problemas de la red del servidor. donde me refiero a las listas de control de acceso de cortafuegos, enrutador, etc. Las actualizaciones son gratuitas, de por vida. está abierto, así que ha probado mucho, lo cual es muy importante.
Además de la seguridad, la viabilidad económica hace de Linux la mejor opción para los servidores, donde hay muy pocos, pero se supone que las aplicaciones ejecutan o alojan servicios. Y estas aplicaciones están muy bien portadas para ellos. Por ejemplo, Apache.
Creo que no fue solo la seguridad, sino otros factores que hacen que la mayoría del resto de la universidad opte por Linux en los servidores.
fuente
Si bien hay muchas respuestas excelentes aquí, solo quiero agregar que no existe un sistema operativo seguro.
Se sabe que si un humano creó una plataforma 'segura', entonces otro humano puede encontrar agujeros en esa plataforma con el tiempo.
Estoy de acuerdo en que las dos primeras oraciones de Evan resumen mejor la seguridad del sistema operativo:
Por lo tanto, no importa si comparamos GNU / Linux, los sistemas BSD (Free / Open / Net), Microsoft, Windows, Mac OSX, Symbian, PalmOS, Cisco IOS, AIX, QNX, Solaris, z / OS o cualquiera de los otros "sistemas operativos" que ejecutan cosas como su televisor, reproductor de MP3, horno de microondas, etc., etc.
Cada uno de estos tiene una parte del todo que tiene la capacidad de ser explotada por un determinado individuo.
Por esta razón, la mayoría de los vendedores tienen documentos técnicos sobre cómo configurar sus sistemas para que tengan una configuración lo más segura posible. Esto significa utilizar otras tecnologías para minimizar el área de superficie.
p.ej:
fuente
El hecho de la seguridad del sistema operativo con respecto a los frameworks es un poco más que un simple problema de tipo kernel. Individualmente, cada uno de los marcos tiene sus mecanismos de seguridad compatibles. La especificación de cuenta multiusuario dentro de Microsoft Windows permite un poco más de flexibilidad en términos de implementación masiva, sin embargo, con Linux tiene la capacidad de controlar desde el principio: los entresijos de los permisos y la delegación.
El nivel de seguridad de .NET Framework tiene que ver principalmente con la política de su grupo, la configuración de consola de powershell y neth. La razón es la telemetría del núcleo en parámetros de acceso de bajo nivel con solicitudes de acceso dinámico en la memoria. Los marcos de Linux a menudo requieren un nivel de atención similar, pero principalmente tiene que ver con los indicadores que especifica cuando configura el idioma. Linux, cuando está configurado correctamente, es más seguro que la seguridad configurada de Microsoft Windows. Aunque en un nivel de configuración "decente"; Las herramientas pueden deslizarse directamente a través de su IIS y pasar directamente a sus servicios mediante el uso de un GUID específico. Linux general permite más control de aspecto que
Puntos principales:
Estatuas del gobierno:
Opiniones personales:
Cada sistema operativo tiene el potencial de ser más seguro que el resto fuera de la caja. Tomando la comparación cruda de los marcos que operan con una mayor seguridad con Linux o Windows, tendría que decir que la parte principal de la seguridad web es usar el marco más incompatible pero eficiente. De esta manera, se vuelve mucho más difícil engancharse a los permisos de acceso del disco duro nativo y los identificadores de la biblioteca. De esta manera, tiene un tazón soldado en la parte superior de su sistema operativo. Como Evan había dicho con los permisos NTFS y / proc o / dev. Si usa algo que no puede hablar con él; Es más difícil de romper.
Lo que aprendí del desarrollo web es que nunca subestimes tu marco. .NET tiene permisos para crear volúmenes montados compartidos y mecanismos de control para clústeres de SQL Server; mientras que Apache Source puede hacer lo mismo con los sistemas operativos que usan Linux. Es una pregunta bastante decente, aunque debería decir que Linux permite más seguridad en el control de aspectos individuales y las restricciones y la supervisión en varios idiomas; mientras que Windows tiene el amplio poder de auditar y registrar con una interfaz de depuración lógica de alto nivel. Ambos son comparables, eventualmente se reduce a "qué tan bien, ¿lo encierras?" Y "¿cuántas campanas y silbatos hay?" en el marco. Apache tiene más mejoras de seguridad adicionales;
En el momento actual que compara PHP en Linux o Windows, es bastante obvio que hay más extensiones que puede usar dentro de un sistema operativo Linux; Windows tiene un nivel de administración de permisos diferente sobre PHP, lo que dificulta la administración de directorios y el acceso a archivos. Dentro de Apache, por ejemplo, XAMPP, LAMPP o WAMP, creo que Windows es un poco menos seguro teniendo en cuenta el hecho de que sus restricciones en el firewall son más fáciles de violar porque comparte las mismas reglas de túnel que su navegador web. Linux, por otro lado, puede usar grupos de aplicaciones y otros mecanismos de seguridad de nivel de paquete que son mucho más complicados de emular. Windows requeriría que use todos los aspectos del sistema operativo para hacer que la red sea más segura.
IIS (en un servidor Microsoft, no Windows Client) en Windows con ASP.NET con las últimas mezclas SEC_ATL también puede ser muy seguro.
Solo Apache solo, es posible que desee ejecutarlo con Linux para habilitar el controlador de nivel superior e inferior, SMIME, códec y valores de nivel de paquete. Si bien Windows requeriría que instale mecanismos de seguridad superpuestos que de otro modo obstruirían su tráfico un poco más de lo que le gustaría si se trata de ejecutar miles de servidores.
Con Linux, cuanto más delgado sea el núcleo y más óptimo para la seguridad de la red, mejor (como fusionarse en Apache con NSLUG).
Con Windows, es mejor que programe módulos Powershell y seguridad de superposición adicional para su marco ASP.NET y configure su política de grupo a USGS porque la mayoría de las veces realmente lo necesita para cerrar el tipo de tráfico que Linux negará automáticamente y no pensará acerca de.
Igualmente pueden ser fuertes. Fuera de la caja, una distribución en vivo de Linux será más fuerte que un Microsoft Windows Server sin configurar que acaba de configurar con el asistente.
Con el tiempo, Linux superará a Windows en el juego de seguridad. Los servidores Debian 3 son aún más fuertes hoy que Microsoft Server 2008 R2 de fábrica y adivinan qué pueden soportar las mismas tecnologías sin una reconstrucción del núcleo. Debian todavía puede fumarlo, y lo he visto con mis propios ojos.
Aunque como se ha dicho antes, estoy seguro. Se trata del personal con el que trabajas y tu atención a los detalles. Eso siempre hace la mayor diferencia cuando se trata de trabajar en una red de servidores grande.
fuente
Predominantemente, creo que Linux se considera una opción más segura debido a su uso ubicuo del software de código abierto.
La tranquilidad surge de la idea de que "la comunidad" se dará cuenta de que si se agrega algo sospechoso en algún lugar (por ejemplo, si openSSH de repente comenzó a llamar a casa con contraseñas), no se quedaría por mucho tiempo.
Pero no puedo reiterar lo suficiente lo que otros han dicho anteriormente: la seguridad depende en gran medida de la configuración: a quién le importa si openSSH no llama a casa si no tiene un firewall, una contraseña raíz nula y PermitRootLogin habilitado en sshd;)
fuente
Respuesta corta: inicialmente, UNIX fue diseñado para ser seguro; Windows fue diseñado para ser simple. Ahora, los descendientes de UNIX pretenderán ser más simples para sus usuarios; Windows pretende ser más seguro.
Aún no se han conocido
fuente
Las versiones anteriores de Windows tenían aplicaciones que se ejecutaban en el mismo espacio de direcciones, por lo que podían caminar punteros entre ellos. También confiaron en la multitarea cooperativa y, a veces, no cooperaron.
Incluso las primeras versiones de Linux / Unix tenían particiones entre aplicaciones y entre O / S y la capa de aplicación. El corte de tareas, aunque no siempre es ideal, fue al menos justo.
Por lo tanto, el legado de Unix (o Linux) para sistemas más robustos que necesitan una mayor disponibilidad.
¿Todavía se aplica todo esto hoy? Esa es otra pregunta.
fuente
Ahora que NT ha alcanzado a Unix en muchos de los lugares previamente deficientes, los permisos de archivos y la protección de la memoria ya no son grandes problemas de diferenciación.
Pero ... a. En los sistemas Unix, todo el acceso a todos los dispositivos pasa a través de archivos, por lo que la seguridad se puede administrar fácilmente. Por ejemplo, ¿sabe cómo evitar que el usuario X acceda a la tarjeta de sonido en Windows sin dejar de permitir al usuario Y? En Unix, ese tipo de cosas es fácil.
si. La estructura del directorio es mucho más sensata. (Por ejemplo, una aplicación de usuario solo necesita tener acceso de escritura a su carpeta de inicio, etc.) Sin embargo, esto también ha mejorado en Windows en los últimos años.
re. Esto es un problema: SELinux (y la función de sandbox "Seatbelt" de Trusted Solaris y Mac OS). Esto se conoce como NDAC (Control de acceso no discrecional). Si está ejecutando una distribución de sistema operativo con estas características, entonces hay esencialmente dos capas de seguridad que se ejecutan simultáneamente, el DAC (sistema de permisos) normal que Unix siempre ha tenido y las versiones modernas de Windows tienen, y además de eso, el "firewall de aplicaciones" que imponen SELinux y sistemas similares. Por ejemplo, puede establecer una política que diga que el servidor web Apache puede escribir en / tmp y leer desde / var / www y / etc / apache. Cualquier otro acceso al disco será denegado independientementede permisos. Del mismo modo, puede especificar que solo acepte conexiones entrantes en el puerto 80 y no realice conexiones salientes. Entonces, incluso si hay un error que permitiría a alguien hacer algo muy malo, e incluso si Apache se ejecutara como root, no importaría, la política lo evitaría. Esto requiere una penalización de velocidad (muy pequeña) y puede ser una molestia si está utilizando una configuración inusual, pero en el caso normal puede aumentar su nivel de seguridad en gran medida tanto en Unix como en Windows.
mi. Capas: los sistemas Unix se componen de muchas más capas discretas y servicios que se pueden intercambiar. Esto significa que pueden analizarse individualmente para verificar su corrección y seguridad, intercambiarse, etc. Para casi cualquiera de estos, no hay necesidad de reiniciar. Esta es una gran ventaja en los sistemas de tipo servidor. Además, es más fácil deshabilitar (y desinstalar) cosas que no necesita en un sistema Unix. Por ejemplo, ¿por qué ejecutar una GUI en un servidor web? Aumenta la superficie de ataque y ocupa RAM.
F. Para aquellos que dijeron que Windows NT fue diseñado desde cero para la seguridad ... eso es cierto, el kernel fue diseñado desde el principio con funciones avanzadas de seguridad y multiusuario, pero hay dos problemas principales: 1. El pobre historial de seguridad de Microsoft , y 2. El sistema operativo en su conjunto fue diseñado para tener compatibilidad con aplicaciones heredadas de Windows, lo que significó muchos compromisos. Unix siempre ha sido multiusuario, por lo que las aplicaciones no tienen una gran sorpresa cuando se aplica la seguridad, lo que significa menos compromisos.
fuente
Hay varias razones por las cuales los sistemas basados en Linux a menudo se consideran más seguros que los sistemas Windows.
Uno es la habilidad del dueño. Si entra en Best Buy o Wal-mart (aquí en los EE. UU.) Y compra una computadora sin pensarlo mucho, ejecutará Microsoft Windows. Eso significa que hay una gran cantidad de sistemas Windows ejecutados por personas que no tienen idea. Como casi nadie compra una computadora Linux por accidente (al menos desde que Microsoft contraatacó en las netbooks), la mayoría de los usuarios de Linux saben algo acerca de las computadoras o alguien más lo ha configurado. Esto se aplica a todos los entornos donde hay personas que no saben lo que están haciendo; los que no ejecutan Windows y los que sí ejecutan varios sistemas operativos diferentes.
Uno es el número de atacantes. Microsoft Windows es un objetivo mucho más atractivo, debido a todas las máquinas mal administradas que existen. Hay muchos objetivos de Linux de alto valor, pero generalmente están bien administrados (junto con muchos de los objetivos de Windows de alto valor). Para una aproximación razonable, nadie se dirige a las computadoras Linux en general.
Uno es la cultura. En cualquier entorno Unix / Linux, existe una clara distinción entre las cuentas raíz y de usuario, y en casi todos los casos las personas trabajan en sus cuentas de usuario cuando no necesitan ser root. La distinción no es, en mi experiencia, tan fuerte en entornos Windows, ya que cada usuario normalmente tendrá una cuenta, con los privilegios asociados. Ahora estoy en mi computadora de trabajo, donde tengo una cuenta, una cuenta de administrador. Todo lo que hago lo hago una cuenta con altos privilegios. Cuando vaya a casa a mi caja de Linux, haré casi todo en una cuenta de privilegios limitados y escalaré cuando sea necesario. Mi esposa tuvo que discutir mucho para obtener dos cuentas en su computadora en el trabajo, una su cuenta de administrador normal y otra una cuenta de privilegios limitados para poder ver si los usuarios regulares tienen los privilegios de ejecutar lo que escribe.
Uno es la compatibilidad con versiones anteriores. Si bien Unix no comenzó como un sistema operativo seguro, al principio obtuvo seguridad. Los programas para Linux no requieren ejecutarse como root a menos que realmente hagan funciones de root. Windows, por otro lado, ejecuta una gran cantidad de programas que requieren cuentas de administrador porque eso es lo que los desarrolladores ejecutaron y probaron (ver párrafo anterior), y esos desarrolladores generalmente no eran conscientes de la seguridad, y eso solía funcionar bien. Ese es el gran problema que Microsoft estaba tratando de resolver con UAC. No creo que sea una solución particularmente buena, pero para ser sincero, Microsoft no va a encontrar una buena solución aquí (no creo que dejar caer la compatibilidad con versiones anteriores sea una buena solución aquí).
Esto lleva al hecho de que la mayoría de los problemas de seguridad a gran escala estarán en los sistemas de Microsoft, independientemente de los méritos de los modelos de seguridad, y la percepción de que Microsoft tiene los grandes problemas de seguridad. Por la heurística de disponibilidad, el hecho de que las personas puedan pensar en más problemas de seguridad de Microsoft sesga su juicio.
Esas son, en mi opinión, las razones válidas. No he tocado la seguridad real del sistema operativo, ya que no sé si Windows o una distribución de Linux es más vulnerable que la otra cuando la ejecuta un administrador experto. Linux tiene la ventaja del código abierto, ya que cualquiera puede encontrar y corregir errores, mientras que Microsoft ha instituido prácticas de seguridad que pueden o no funcionar mejor. (Si quisiera ejecutar un sistema operativo realmente seguro, elegiría OpenBSD, un sistema operativo de código abierto que se esfuerza por ser seguro). Ambos sistemas operativos tienen buenos sistemas de permisos (mi preferencia es la de Unix, pero otras personas razonables no están de acuerdo).
Por supuesto, existen malas razones para considerar que los sistemas operativos son menos seguros. Algunas personas tienen un sistema operativo favorito y no pierden la oportunidad de hablar mal de otros. A algunas personas no les gusta Microsoft o Richard Stallman o alguna otra persona u organización, y denigran los sistemas operativos asociados. Algunas personas no se han dado cuenta de que Microsoft ha cambiado con los años, ya que no hace tanto tiempo que a Microsoft realmente no le importaba la seguridad, y Windows realmente era menos seguro que Linux.
fuente
No hay otra razón real que no sea la inercia. He visto a muchos defensores de Linux argumentando en contra de Windows (y no solo en el lado de la seguridad) que en la superficie parecen válidos, pero que, cuando cavas un poco, solo se aplican a Windows 3.1 o 95/98.
Lo he dicho antes, pero aunque Windows puede tener más parches / etc., estas son correcciones para las vulnerabilidades de seguridad que se han identificado . Y no son los que se han solucionado los que deben preocuparse, ¿verdad? Tampoco creo que ser de código abierto sea intrínsecamente más seguro. La aplicación de sus propios parches puede estar bien para un usuario doméstico, pero un usuario corporativo o administrador siempre querrá que Real Thing esté certificado para funcionar (y que haya sido probado completamente) con una variedad de aplicaciones, y que esté certificado para no romperse La próxima actualización del kernel. Lo mismo se aplica a las correcciones de la comunidad FOSS.
Entonces, en mi libro, es una mezcla de inercia, prejuicio y estar incrustado en la cultura UNIX con exclusión de alternativas.
fuente
Los procesos en Linux / Unix no pueden cambiar sus privilegios después de que se les asigne un usuario, los procesos en Windows pueden cambiar sus privilegios de usuario y cambiar su usuario durante el proceso.
Esta es la esencia de por qué Windows es menos seguro que Linux / Unix.
fuente