Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-03-2024
DarkSton DarkSton is offline
Miembro
 
Registrado: jun 2017
Posts: 64
Poder: 7
DarkSton Va por buen camino
Ayuda ámbito dw firewall

Nesesito una ayuda , tengo un servidor lo cual esta recibiendo muchos ataques, nesesito saber si se puede agrega ip a ambito de firewall desde delphi7
lo cual llegan 5 mil conexión fantasma y se satura mi servidor, con eso evitaría que 5 mil conexiones fantasmas se conecten , haber si alguien me ayudaba
Responder Con Cita
  #2  
Antiguo 19-03-2024
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Si solo quieres bloquear alguna IP, algo así:
Código Delphi [-]
uses
  ComObj;

procedure BlockIP(const IPAddress: string);
var
  fwPolicy2: OleVariant;
  fwRules: OleVariant;
  fwRule: OleVariant;
begin
  // Crear el objeto COM para administrar la política del Firewall de Windows
  fwPolicy2 := CreateOleObject('HNetCfg.FwPolicy2');
  
  // Obtener el objeto Rules
  fwRules := fwPolicy2.Rules;
  
  // Crear un nuevo objeto de regla de Firewall
  fwRule := CreateOleObject('HNetCfg.FWRule');
  
  // Establecer propiedades de la regla de Firewall
  fwRule.Action := NET_FW_ACTION_BLOCK;
  fwRule.Description := 'Bloquear tráfico desde o hacia ' + IPAddress;
  fwRule.Direction := NET_FW_RULE_DIR_IN;
  fwRule.Enabled := True;
  fwRule.InterfaceTypes := 'All';
  fwRule.RemoteAddresses := IPAddress;
  
  // Agregar la regla al Firewall
  fwRules.Add(fwRule);
end;
Para usarla:
Código Delphi [-]
BlockIP('Dirección_IP_a_bloquear');

Aunque mejor te recomiendo software específico para evitar esos ataques, incluso configuración del servidor web.
Responder Con Cita
  #3  
Antiguo 19-03-2024
DarkSton DarkSton is offline
Miembro
 
Registrado: jun 2017
Posts: 64
Poder: 7
DarkSton Va por buen camino
Muchas gracias por responder, lo que quiero es agregar ip a ámbito de firewall, asi solo las ip que estan en el ámbito de firewall puedan conectarse a mi servidor y los que no no podrá conectarse. Quiero en delphi7 agregar y si ya esta agregar , omitir la ip ya agregada pero que sea en una sola regla , seria de mucha ayuda.
Responder Con Cita
  #4  
Antiguo 20-03-2024
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Preguntando a chatgpt:

Código Delphi [-]
uses
  ComObj;

procedure AllowOnlySpecificIPs(const AllowedIPs: TStringList);
var
  fwPolicy2: OleVariant;
  fwRules: OleVariant;
  fwRule: OleVariant;
  i: Integer;
begin
  // Crear el objeto COM para administrar la política del Firewall de Windows
  fwPolicy2 := CreateOleObject('HNetCfg.FwPolicy2');
  
  // Obtener el objeto Rules
  fwRules := fwPolicy2.Rules;
  
  // Eliminar todas las reglas existentes
  fwRules.RemoveAll;
  
  // Crear una nueva regla de Firewall para cada IP permitida
  for i := 0 to AllowedIPs.Count - 1 do
  begin
    // Crear un nuevo objeto de regla de Firewall
    fwRule := CreateOleObject('HNetCfg.FWRule');
    
    // Establecer propiedades de la regla de Firewall
    fwRule.Action := NET_FW_ACTION_ALLOW;
    fwRule.Description := 'Permitir tráfico solo desde ' + AllowedIPs[i];
    fwRule.Direction := NET_FW_RULE_DIR_IN;
    fwRule.Enabled := True;
    fwRule.InterfaceTypes := 'All';
    fwRule.RemoteAddresses := AllowedIPs[i];
    
    // Agregar la regla al Firewall
    fwRules.Add(fwRule);
  end;
end;


Y así añades las IP permitidas:

Código Delphi [-]
var
  AllowedIPs: TStringList;
begin
  AllowedIPs := TStringList.Create;
  try
    AllowedIPs.Add('Dirección_IP_1');
    AllowedIPs.Add('Dirección_IP_2');
    // Agrega más direcciones IP si es necesario
    
    AllowOnlySpecificIPs(AllowedIPs);
  finally
    AllowedIPs.Free;
  end;
end;
Responder Con Cita
  #5  
Antiguo 20-03-2024
DarkSton DarkSton is offline
Miembro
 
Registrado: jun 2017
Posts: 64
Poder: 7
DarkSton Va por buen camino
Muchas gracias, mas tarde lo probare ojala guarde en una sola regla
Responder Con Cita
  #6  
Antiguo 20-03-2024
DarkSton DarkSton is offline
Miembro
 
Registrado: jun 2017
Posts: 64
Poder: 7
DarkSton Va por buen camino
tengo este error
[Error] Unit1.pas(47): Undeclared identifier: 'NET_FW_ACTION_ALLOW'
[Error] Unit1.pas(49): Undeclared identifier: 'NET_FW_RULE_DIR_IN'
Responder Con Cita
  #7  
Antiguo 21-03-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por DarkSton Ver Mensaje
tengo este error
[Error] Unit1.pas(47): Undeclared identifier: 'NET_FW_ACTION_ALLOW'
[Error] Unit1.pas(49): Undeclared identifier: 'NET_FW_RULE_DIR_IN'
Aquí define esas constantes de esta forma:

Código Delphi [-]
Const  
  NET_FW_IP_PROTOCOL_TCP = 6;  
  NET_FW_IP_PROTOCOL_UDP = 17;  
  NET_FW_ACTION_BLOCK = 0;  
  NET_FW_ACTION_ALLOW = 1;  
  NET_FW_RULE_DIR_IN = 1;

El resto de código es similar al que te han colocado antes.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 21-03-2024 a las 10:26:21.
Responder Con Cita
  #8  
Antiguo 21-03-2024
DarkSton DarkSton is offline
Miembro
 
Registrado: jun 2017
Posts: 64
Poder: 7
DarkSton Va por buen camino
ya lo probe , error el parametro no es correcto
Código Delphi [-]
// Agregar la regla al Firewall
    fwRules.Add(fwRule);
alli me lleva el error
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ámbito de firewall DarkSton Varios 2 10-07-2023 07:48:38
Diferenciar ámbito del programa ramiromd90 Varios 8 27-06-2013 09:01:36
Seleccionar ambito de apellidos por inicial fidel SQL 8 27-04-2006 09:13:32
Duda con el ámbito de variables cardomjar Varios 6 16-03-2005 12:45:52
Cuestión de ámbito jmdd OOP 2 08-02-2004 05:53:12


La franja horaria es GMT +2. Ahora son las 13:15:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi