Para ser honesto, soy pobre en la administración del servidor, pero mi jefe me pidió ayuda. Su servidor tiene un ancho de banda limitado de 2GB / día y hoy recibió una advertencia de la compañía de que lo excedió y usó ... 24GB.
Como es imposible porque era así, me preguntó si podía localizar el problema. No tengo idea de por dónde empezar o qué hacer.
Cualquier información sería útil, ¿cómo puedo averiguar qué está mal?
La máquina se está ejecutando en Ubuntu 12.04. Lo más curioso es que, según los diagramas recibidos del proveedor de alojamiento, solo se utilizó la transferencia saliente.
EDITAR
Gracias por las sugerencias, ejecutaré tcpdump e intentaré examinar el resultado.
tcpdump
página de manual y ver cómo configurarla para capturar solo los encabezados TCP / IP, descartando el resto de los datos del paquete.Respuestas:
Para un monitoreo inmediato, puede usar iftop . Esto le mostrará las conexiones activas actualmente y el ancho de banda que están utilizando. Una vez que haya identificado una conexión de alto tráfico, busque el número de puerto local y úselo
netstat
para encontrar a qué proceso pertenece la conexión.Para un monitoreo a más largo plazo, sugeriría algo como darkstat . Esto puede proporcionarle un desglose por host y puerto que podría permitirle averiguar con qué está relacionado el tráfico.
fuente
Recomiendo instalar ntop.
http://www.ntop.org/
Póngalo en una ubicación de puerta de enlace / enrutador host y observe el tráfico durante un día / semana. Ntop proporciona una interfaz de usuario web donde puede obtener un desglose por IP / puerto / protocolo.
fuente
Bueno, una captura de paquetes suele ser el primer lugar para comenzar en situaciones como estas. Asegúrese de que tcpdump esté instalado (
$ sudo apt-get install tcpdump
) y luego ejecute lo siguiente:Esto escribirá un registro de todos los paquetes en
packet.log
. Deje que se ejecute durante unos minutos, luego descargue ese archivo e inspeccione con Wireshark . Si el tráfico misterioso sigue ocurriendo, debería ser bastante obvio con una mirada superficial a través de los datos de captura de paquetes.fuente
Echa un vistazo a tcpdump . Puede volcar todo el tráfico de red (no solo tcp como su nombre lo sugiere), que luego puede leer con una aplicación como Wireshark. En Wireshark es muy fácil filtrar ciertos tipos de datos e incluso trazar gráficos de las E / S de la red.
Otra herramienta útil podría ser netstat, que muestra una lista de conexiones de red en curso. Quizás hay conexiones que no deberían estar allí. Tcpdump es mucho más útil (captura unos minutos, luego verifica si ya puedes ver la fuente), pero netstat puede darte una visión general rápida.
Al leer esto por cierto, mi primer pensamiento es que tienes malware en tu servidor o que se está utilizando para ataques de amplificación. Pero para examinar esto, primero deberá ejecutar tcpdump.
Editar: Tenga en cuenta que tcpdump probablemente deba ejecutarse como root, tal vez deba usarlo
sudo tcpdump
.Otra edición: dado que realmente no puedo encontrar una buena página web para vincular qué ataques de amplificación son en general, aquí hay una versión corta:
Los protocolos como DNS se ejecutan en UDP. El tráfico UDP no tiene conexión y, por lo tanto, puede suplantar fácilmente la dirección IP de otra persona. Debido a que una respuesta DNS generalmente es más grande que la consulta, esto se puede usar para un ataque DoS. El atacante envía una consulta solicitando todos los registros que el servidor DNS tiene en un nombre dado, y le dice al servidor DNS que la solicitud se originó en X. Esta X es el objetivo que el atacante quiere hacer. El servidor DNS luego amablemente responde, enviando la respuesta (grande, digamos 4kB) a X.
Esto es amplificación porque el atacante envía menos datos de los que X realmente recibe. DNS no es el único protocolo con el que esto es posible.
fuente
La mejor herramienta para esto es probablemente iftop , y fácilmente apt-get'able a través de sudo apt-get install iftop. Mostrará la salida de acuerdo con los nombres de host / IP del culpable:
¡No se olvide de las clásicas y poderosas utilidades sar y netstat en las versiones anteriores * nix!
Otra gran herramienta es nload , una gran herramienta para monitorear el ancho de banda en tiempo real y se instala fácilmente en Ubuntu o Debian con sudo apt-get install nload.
fuente
Después de buscar durante bastante tiempo cuál es el problema (más de 60 GB de ancho de banda en pocos días) descubrí que mi servidor era una fuente de ataque DDOS.
En primer lugar, intenté instalar Oracle DB en él, por lo tanto, creé un usuario Oracle. Los piratas informáticos de alguna manera lograron romper el paso para ese usuario (supongo que debería hacerlo más difícil :(), hicieron un directorio oculto debajo de la casa de Oracle, con un crontab allí, que ejecutó manualmente algunos demonios que inundaron el servidor de destino.
Además, los hackers crearon 2 nuevos usuarios en mi servidor: avahi y colord. ¿Qué debo hacer al respecto? Busqué en Google y parece que el software con el mismo nombre no es peligroso, pero eliminé esos usuarios (y Oracle también).
Además, borré toda la casa de Oracle, con todo lo que contiene.
Supongo que necesito asegurar más mi servidor, ya que puede ser atacado nuevamente, ¡gracias a todos por su ayuda!
fuente
Capturar todos los paquetes enviados en un día cuando excede su cuota de ancho de banda probablemente no sea el enfoque más sensato: ¿cómo va a obtener los datos del sistema para su análisis?
¿Qué acceso tienes en la caja? ¿Qué puertos están abiertos? ¿Ha verificado los registros de los servicios que se están ejecutando? Algo así como awstats resumirá los registros FTP, HTTP y SMTP (suponiendo que estos servidores estén configurados para registrar los datos en los registros). OTOH mrtg registrará y rastreará el uso de la red por punto final / puerto.
fuente
si crees que tu ancho de banda es apache, he tenido éxito con esta herramienta en el pasado
top apache
http://www.howtogeek.com/?post_type=post&p=324
fuente