Cómo evitar que mi sitio web sea pirateado

en primer lugar, escanee su sitio web para

Vulnerabilidades. los más comunes

Las vulnerabilidades son sqli, xss, dnn, sqli string

vulnrelbilty base, rfi, lfi etc.

puede usar la herramienta Acunetix WVS para escanear su

sitio web.

Comprueba tu sitio web si el hacker todavía tiene

acceso.

compruebe si hay algún shell de php

subido Hay un shell php llamado “404”.

Cuando lo abra, puede ver un

mensaje de que no se encontró la página. A

identificarlo, abrir la página presionar ctrl + a. Ahora

debes ver un texto aria. Si lo encuentras ve

a su panel de control elimine el archivo.

Shell es como una puerta trasera para un hacker, si

el sitio web se desgrana, el hacker puede acceder, eliminar,

editar o agregar datos en su sitio web, no

importa que haya cambiado su contraseña de cpanel o

cambió la url.

Actualiza tus códigos, scripts.

Si la entrada del usuario se inserta sin modificación

en una consulta SQL, luego la aplicación

se vuelve vulnerable a la inyección SQL, vea

el siguiente script:

$ unsafe_variable = $ _POST

[‘entrada del usuario’];

mysql_query (“INSERT INTO` table`

(`columna`) VALORES

(‘$ unsafe_variable’) “);

Eso es porque el usuario puede inyectar cualquier dato

valor similar ‘); Tabla DROP TABLE; – y

la consulta se convierte en:

INSERTAR EN `tabla` (` columna`)

VALORES (‘valor’); MESA PLEGABLE

mesa;-‘)

el desarrollador puede resistir por encima de la vulnerabilidad con

Actualización simple en la base de datos sqli:

Estas son declaraciones SQL que se envían

y analizado por el servidor de bases de datos

por separado de cualquier parámetro. De esta manera

es imposible para un hacker inyectar malicioso

SQL

Hay 2 formas de lograr esto:

1. Usando PDO (para cualquier base de datos compatible

manejar

$ stmt = $ pdo-> prepare (‘SELECCIONAR *

empleados DONDE nombre =: nombre ‘);

$ stmt-> execute (array (‘nombre’ =>

$ nombre));

foreach ($ stmt como $ row) {

// hacer algo con $ row

}

2. Usando MySQLi (para MySQL):

$ stmt = $ dbConnection-> prepare

(‘SELECCIONAR * DE los empleados DONDE n

=? ‘);

$ stmt-> bind_param (‘s’, $ nombre);

$ stmt-> execute ();

$ resultado = $ stmt-> get_result ();

while ($ row = $ result-> fetch_ass

()) {

// hacer algo con $ row

}

Si está utilizando una base de datos que no sea

MySQL, hay un segundo controlador específico

opción a la que puede hacer referencia (p. ej. pg_prepare

() y

pg_execute () para PostgreSQL). PDO es el

opción universal. Configurar correctamente el

conexión Tenga en cuenta que cuando se utiliza PDO para

acceder a una base de datos MySQL real preparada

las declaraciones no se usan por defecto. Arreglar

esto necesita deshabilitar la emulación de

declaraciones preparadas Ejemplo de

crear una conexión usando PDO es:

$ dbConnection = nueva PDO

(‘mysql: dbname = dbtest; host = 127.0.0.1

‘contraseña de usuario’);

$ dbConnection-> setAttribute

(DOP :: ATTR_EMULATE_PREPARES, falso);

$ dbConnection-> setAttribute

(DOP :: ATTR_ERRMODE,

PDO :: ERRMODE_EXCEPTION);

En el ejemplo anterior, el modo de error no es

estrictamente necesario, pero se recomienda

agréguelo. De esta manera, el script no se detendrá con

un error fatal cuando algo sale mal.

Y le da al desarrollador la oportunidad de

detectar cualquier error que se arroje n como

PDOExceptions.

Sin embargo, lo que es obligatorio es el primero.

línea setAttribute (), que le dice a PDO que

deshabilitar las declaraciones preparadas emuladas y

use declaraciones preparadas reales. Se asegura

que la declaración y los valores no son

analizado por PHP antes de enviarlo al

Servidor MySQL (dando un

posible hacker no hay posibilidad de inyectar

SQL malicioso).

Sin embargo, puede configurar el juego de caracteres en el

opciones del constructor, es importante

tenga en cuenta que las versiones ‘anteriores’ de PHP (<5.3.6)

silenciosamente ignoró el parámetro charset en el

DSN. Explicación Lo que sucede es que el

La instrucción SQL que pasa para preparar es

analizado y compilado por el servidor de bases de datos.

Especificando parámetros

(ya sea un? o un parámetro con nombre como: nombre

en el ejemplo anterior) el desarrollador da

comando al motor de base de datos donde

quiere filtrar. Entonces cuando llamas

ejecutar, la declaración preparada se combina

con los valores de los parámetros que especifique. los

Lo importante aquí es que el parámetro

los valores se combinan con el compilado

declaración, no una cadena SQL. inyección SQL

funciona engañando al guión para que incluya

cadenas maliciosas cuando crea SQL para

enviar a la base de datos. Entonces enviando el

SQL real por separado de los parámetros,

limita el riesgo de terminar con

algo que no pretendías.

Cualquier parámetro que envíe cuando use un

declaración preparada solo será tratada como

instrumentos de cuerda

(sin embargo, el motor de la base de datos puede hacer algo

de optimización para que los parámetros puedan terminar

como números también, por supuesto). En el ejemplo

arriba, si la variable $ name contiene

‘Sarah’;

ELIMINAR DE los estudiantes el resultado sería

simplemente sea una búsqueda de la cadena “‘Sarah’;

BORRAR DE los estudiantes “, y no

terminar con una mesa vacía. Otro beneficio

con el uso de declaraciones preparadas es que si usted

ejecutar la misma declaración más veces en

la misma sesión solo se analizará y

compilado una vez, dándote algunas ganancias de velocidad.

preguntaste sobre cómo hacerlo

un inserto, aquí hay un ejemplo (usando PDO):

$ readyStatement = $ db-> prepare

(‘INSERTAR EN LA tabla (columna) VALORES

(:columna)’);

$ readyStatement-> execute (array

(‘column’ => $ unsafeValue));

¿Se pueden usar las declaraciones preparadas para

Consultas dinámicas?

Mientras que el desarrollador todavía puede usar preparado

declaraciones para los parámetros de consulta, el

estructura de la consulta dinámica en sí no puede

ser parametrizado y ciertas características de consulta

No se puede parametrizar.

Para estos escenarios específicos, la mejor acción

tomar es usar un filtro de lista blanca que restringe

Lo posible

valores.

// Lista blanca de valores

// $ dir solo puede ser ‘DESC’ o ‘ASC

$ dir =! empty ($ dirección)?

‘DESC’: ‘ASC’ ;.

si no tienes control sobre el sitio web

desarrollo, entonces será difícil para ti.

Mejor, llame a un experto para solucionar su problema.

también debes leerlo:

https://www.quora.com/What-are-s…

Si no tienes suficiente dinero para contratar a un

experto, luego encuéntrame en facebook, te ayudaré a

arregla tus problemas

Espero haberte ayudado.

cualquier duda no dude en preguntar!

  • Mantenga el software actualizado

Puede parecer obvio, pero asegurarse de mantener todo el software actualizado es vital para mantener su sitio seguro. Esto se aplica tanto al sistema operativo del servidor como a cualquier software que pueda estar ejecutando en su sitio web, como un CMS o un foro. Cuando se encuentran agujeros de seguridad del sitio web en el software, los hackers intentan abusar de ellos rápidamente.

Si está utilizando una solución de alojamiento administrado, entonces no necesita preocuparse tanto por aplicar actualizaciones de seguridad para el sistema operativo, ya que la empresa de alojamiento debería encargarse de esto.

Si está utilizando software de terceros en su sitio web, como un CMS o un foro, debe asegurarse de aplicar rápidamente cualquier parche de seguridad. La mayoría de los proveedores tienen una lista de correo o una fuente RSS que detalla cualquier problema de seguridad del sitio web. WordPress, Umbraco y muchos otros CMS le notifican las actualizaciones disponibles del sistema cuando inicia sesión.

  • inyección SQL

Los ataques de inyección SQL son cuando un atacante usa un campo de formulario web o parámetro de URL para obtener acceso o manipular su base de datos. Cuando usa Transact SQL estándar, es fácil, sin saberlo, insertar código falso en su consulta que podría usarse para cambiar tablas, obtener información y eliminar datos. Puede evitar esto fácilmente utilizando siempre consultas parametrizadas, la mayoría de los idiomas web tienen esta característica y es fácil de implementar.

  • XSS

Los ataques de secuencias de comandos entre sitios (XSS) inyectan JavaScript malicioso en sus páginas, que luego se ejecuta en los navegadores de sus usuarios y puede cambiar el contenido de la página o robar información para enviarla al atacante. Por ejemplo, si muestra comentarios en una página sin validación, un atacante podría enviar comentarios que contengan etiquetas de script y JavaScript, que podrían ejecutarse en el navegador de cualquier otro usuario y robar su cookie de inicio de sesión, permitiendo que el ataque tome el control de la cuenta de cada usuario que vio el comentario. Debe asegurarse de que los usuarios no puedan inyectar contenido JavaScript activo en sus páginas.

Esta es una preocupación particular en las aplicaciones web modernas, donde las páginas ahora están construidas principalmente a partir del contenido del usuario, y que en muchos casos generan HTML que luego también es interpretado por marcos front-end como Angular y Ember. Estos marcos proporcionan muchas protecciones XSS, pero la combinación de la representación del servidor y el cliente también crea nuevas y más complicadas vías de ataque: no solo inyecta JavaScript en el HTML, sino que también puede inyectar contenido que ejecutará código insertando directivas Angulares o usando Ember ayudantes

Otra herramienta poderosa en la caja de herramientas del defensor XSS es la Política de seguridad de contenido (CSP). CSP es un encabezado que su servidor puede devolver, que le dice al navegador que limite cómo y qué JavaScript se ejecuta en la página, por ejemplo, para no permitir la ejecución de secuencias de comandos no alojadas en su dominio, no permitir JavaScript en línea o deshabilitar eval (). Mozilla tiene una excelente guía con algunas configuraciones de ejemplo. Esto dificulta el trabajo de los scripts de un atacante, incluso si pueden ingresarlos a su página.

  • Error de mensajes

Tenga cuidado con la cantidad de información que proporciona en sus mensajes de error. Proporcione solo errores mínimos a sus usuarios, para asegurarse de que no filtren secretos presentes en su servidor (por ejemplo, claves API o contraseñas de bases de datos). Tampoco proporcione detalles completos de excepciones, ya que estos pueden hacer que los ataques complejos como la inyección SQL sean mucho más fáciles. Mantenga errores detallados en los registros de su servidor y muestre a los usuarios solo la información que necesitan.

  • Validación del lado del servidor / validación de formulario

La validación siempre debe hacerse tanto en el navegador como en el servidor. El navegador puede detectar fallas simples como campos obligatorios que están vacíos y cuando ingresa texto en un campo de solo números. Sin embargo, se pueden omitir, y debe asegurarse de verificar estas validaciones y un servidor de validación más profundo, ya que de lo contrario podría provocar la inserción de código malicioso o código de script en la base de datos o podría causar resultados no deseados en su sitio web.

  • Contraseñas

Todos saben que deberían usar contraseñas complejas, pero eso no significa que siempre lo hagan. Es crucial usar contraseñas seguras para el servidor y el área de administración del sitio web, pero igualmente importante es insistir en buenas prácticas de contraseña para que sus usuarios protejan la seguridad de sus cuentas.

Las contraseñas siempre deben almacenarse como valores cifrados, preferiblemente utilizando un algoritmo de hash unidireccional como SHA. El uso de este método significa que cuando autentica a los usuarios, solo compara los valores cifrados. Para mayor seguridad del sitio web, es una buena idea usar las nuevas contraseñas.

Múltiples cosas, algunas para hacerlo usted mismo, algunas para subcontratar:

  1. Servidor protegido: aloje su aplicación en un servidor / nube seguro de un proveedor de nube genuino.
  2. Certificado SSL : Esto es para garantizar una comunicación segura de datos a través de la red.
  3. Prevenir la inyección de SQL : esto se puede hacer mediante una codificación efectiva.
  4. Protéjase contra virus / troyanos : utilice un servicio profesional de terceros para monitorear todas sus estaciones de trabajo en busca de virus / malwares / troyanos.
  5. Seguridad completa del sitio web : Esto es para proteger su sitio web orientado al usuario de todos los fraudes en línea. Proteja su sitio web de bots, raspadores y piratas informáticos utilizando un servicio de terceros como InfiSecure – Detección de bots y prevención de raspado web | InfiSecure

[Divulgación completa: soy el cofundador de InfiSecure, una sólida plataforma de seguridad web]

La mayoría de los sitios web son propensos a CSRF, ataques de inyección y otras vulnerabilidades similares. Estos no deben estar presentes cuando el sitio web se activa (en un entorno de producción), ya que permitirá a los piratas informáticos hacer pedidos, eliminar cuentas de usuario y muchas actividades maliciosas.

Como mencionan muchos de ustedes, la mayoría de los puntos se mencionan correctamente. Pero hay algunos más que deben incluirse, si desea que un sitio web de comercio electrónico sea seguro para los consumidores:

  • La prueba de penetración debe realizarse para el sitio web de forma regular, es decir, mensual o trimestralmente. También se requiere un escaneo de vulnerabilidades regular a través de escáneres automáticos para descubrir las vulnerabilidades fáciles de explotar.
  • Parchee sus servidores regularmente para nuevas actualizaciones de seguridad.
  • Monitoree el tráfico y los registros del sitio web regularmente.
  • Introduzca banderas rojas y conciencia de seguridad en su organización (entre sus empleados), ya que el empleado de su organización puede ser blanco de filtrar información crítica o hackear cuentas, supuestamente esto es lo que sucedió en el caso de un hack de eBay.
  • Debe haber un sistema de detección de intrusos (IDS) y / o un sistema de prevención de intrusos (IPS).
  • Auditoría de pedidos en su plataforma para buscar discrepancias de forma proactiva. Busque órdenes sospechosas y otros detalles.
  • Realice una prueba exhaustiva para detectar vulnerabilidades lógicas, ya que los sitios web de comercio electrónico se ven afectados principalmente por fallas lógicas. Estas fallas son más difíciles de detectar, mucho más complejas de ejecutar y tienen un inmenso impacto en el negocio.

También hay cosas de las que un usuario puede ocuparse para fortalecer la seguridad de su cuenta:

  • Establezca una contraseña segura en las plataformas de comercio electrónico. El propietario de la aplicación puede implementar una política de contraseña segura, para que los usuarios no puedan tener una contraseña débil.
  • Nunca comparta los detalles de su tarjeta / credenciales bancarias netas con nadie.
  • Nunca confíes en un correo electrónico de un sitio web de comercio electrónico, verifica la autenticidad del mismo. También en este caso, el propietario de una aplicación de comercio electrónico puede configurar la autenticación de correo electrónico con la ayuda de registros SPF y DKIM que no permitirán que nadie se haga pasar por los correos electrónicos.
  • No haga clic en un enlace para ir al sitio web para realizar una compra, ya que puede ser redirigido a un sitio web falso que se ve exactamente igual. Por lo tanto, siempre escriba la URL en el navegador en lugar de hacer clic desde una fuente poco confiable, como correos electrónicos. Por ejemplo, puede estar usando un sitio web https: bc.com donde el sitio web real es https://sbc.com
  • Cada vez que realice un pago / sea redirigido a una pasarela de pago, verifique el https en el icono de URL y candado verde en el navegador. También asegúrese de ser redirigido en la pasarela de pago del banco auténtico. Aquí se aplica la misma regla de “bc” frente a “sbc”.
  • Puede hacer su SDLC como un SDLC seguro. Esto se puede lograr al obtener una revisión segura del código fuente por parte de una organización que opera en este dominio.
  • Puede realizar un escaneo automático de su aplicación. Sin embargo, no lo preferiría si tienes poco presupuesto.
  • Haga una prueba de penetración exhaustiva realizada en mi organización que se ocupa de este dominio (como se indicó anteriormente).
  • Además, para analizar el estándar de seguridad actual de su aplicación, puede probar nuestra herramienta en línea: Seguridad de la aplicación
  • Te sugiero que sigas algunas fuentes de información en el reino infosec. Esto lo mantendrá actualizado de todas las vulnerabilidades más recientes en el mundo de la seguridad de las aplicaciones. Te sugiero que sigas el siguiente blog para lo mismo: http://www.tothenew.com/blo g / category / technology / appsec /

Hay diferentes tipos de vulnerabilidades que los operadores de sitios web deben tener en cuenta. Uno de los más comunes, y a lo que sospecho que te refieres, es un ataque de fuerza bruta.

La fuerza bruta se lleva a cabo mediante scripts simples (bots) que un atacante usa para adivinar continuamente un nombre de usuario y contraseña. Obviamente, esto puede requerir una infinidad de intentos antes de tener éxito, por lo que el proceso se automatiza con el bot.

Si los intentos de fuerza bruta son exitosos y sucede con un inicio de sesión administrativo en su sitio web, es posible que el atacante pueda secuestrar su sitio web, alterar el contenido, redirigir su tráfico, robar datos privados, etc.

Puede establecer reglas en sus formularios de inicio de sesión para disuadir este tipo de comportamiento, como limitar el número de intentos permitidos en un lapso de tiempo. Muchos bots se han ajustado a esto, por lo que necesitarás tener capas de seguridad adicionales.

Como otros han dicho, ninguna solución puede protegerlo contra todo tipo de ataque todo el tiempo, pero dependiendo de la tecnología de su sitio web, ciertamente hay varias herramientas y servicios que le brindan una defensa sólida.

Nota: Trabajo en Access Watch y nuestra empresa ofrece un producto SaaS para proteger su sitio web contra ataques de fuerza bruta, así como muchas otras amenazas del sitio web.

Estas cosas deberían ayudarlo a proteger su sitio web.

1) Realice una evaluación de seguridad y corrija las vulnerabilidades si se descubren
2) tener buenos IDS, IPS, firewall / equilibrador de carga
3) revise los registros regularmente para identificar ataques.

Todavía ningún sitio es a prueba de piratería, debe actualizar los parches de instalación de software, etc. para conocer los pasos más detallados, visite OWASP

espero que esto ayude

Intenta los siguientes pasos,

  1. Obtenga SSL para su sitio web
  2. Mantenga las plataformas y los guiones actualizados
  3. Bloquee sus permisos de directorio y archivo
  4. Use la mejor seguridad del sitio web software

Aquí está la guía de HackerCombat sobre cómo no ser hackeado …

  • ¡Sigue actualizando!
  • Use antivirus y otro software de seguridad
  • Tenga cuidado con los archivos adjuntos y enlaces
  • Sepa cómo administrar contraseñas
  • Copia de seguridad de archivos, actualiza tus copias de seguridad
  • Ir para la autenticación de dos factores
  • Use una red privada virtual
  • Usar complementos de seguridad es bueno

1-Su servidor debe estar protegido. Esta es la parte principal importante de su lista de verificación de seguridad.
2-Tus códigos de script, como PHP, JavaScript, ASP, .Net deben codificarse perfectamente.
3-Su base de datos debe estar protegida y todas las consultas a la base de datos deben verificarse contra los agujeros de inyección SQL.
4-Mantenga sus contraseñas de hosting, FTP y CMS fuertes y seguras.
5-Todas sus estaciones de trabajo, como computadoras portátiles y PC que use para conectarse a su servidor y su sitio web, deben verificarse contra virus y troyanos.
6-Mantenga siempre una copia de seguridad de sus archivos y bases de datos importantes.

Sin embargo, esté siempre listo para que ocurra un hackeo. Nunca puede hacer que su sitio web sea 100% a prueba de piratería.

No puedes, siempre prepárate para ser hackeado algún día. Otros dieron una buena respuesta a esto (unidad de respaldo, monitoreo, base de datos salada, etc.).
Sin embargo, agregaré algo que nos impide ser paranoicos. Es la misma estrategia que proteger su hogar: siempre sea el “menos propenso a ser robado” de su vecindario.
Reddit puede permitirse la autenticación faltante en dos pasos, pero será compatible porque Twitter / FB, etc … lo hacen.
Amazon realmente debería ofrecer autenticación en dos pasos, pero no lo haga porque muy pocos minoristas en línea lo hacen.

Para proteger los datos y la comunicación entre el cliente y el servidor, debe cifrar su sitio web con el Certificado SSL (Secure Socket Layer).

El certificado SSL utiliza el algoritmo Secure Hash para proteger el sitio web y sus datos. Crea un canal de comunicación seguro entre el servidor web y el cliente, por lo que la información estará segura y los hackers no podrán violarla.

El sitio web de redes sociales, los sitios web de comercio electrónico y otros sitios web del sector pequeño y mediano están utilizando el Certificado SSL por seguridad.

Para saber qué tipo de conjuntos de certificados SSL visita mejor aquí .

¿Sitio web? nada, estarás a salvo en su mayoría. Aplicación web: ¡entonces debes tomar medidas!

Escribir un buen código en sí mismo es una forma de proteger su sitio web. Asegúrese de codificar de tal manera que no deje escapatorias para que los hackers aprovechen y exploten su sitio web.

Si no está seguro de si ha hecho que su aplicación web sea segura, ¡solo trate de cubrir toda la lista de las 10 principales vulnerabilidades de OWASP, ya que esa es la que la mayoría de los hackers probablemente usarán …!

Al igual que otras respuestas, no hay una forma segura de ser 100 por ciento voluntario para que no seas pirateado. Pero, puedes ponerte muy por delante del juego siguiendo las pautas aquí, OWASP.

Hay muchas formas de proteger su sitio web. Puede limitar la cantidad de aplicaciones de terceros que están conectadas a su sitio. Agregar autenticación de dos pasos ayudará. ¿Su sitio usa SSL? Ese es probablemente el primer paso a tomar. Recomiendo hablar con http://SSL.com u otro vendedor acreditado de SSL y explicarle su situación exacta, ellos podrán configurarlo.

No puedes! No hay nada como la seguridad impenetrable del software.

Lo mejor que puede hacer es tener suficiente seguridad para que los “piratas informáticos” piensen que no vale la pena “piratear” su sitio web.

código de forma segura, esa es la mejor solución de ser pirateado