It would be nice to add a lock date as well
https://imgur.com/pgzjumw
Agregar pais de pertenencia a IP banneadas
hgmnetwork Me parece una excelente idea ya que este bloqueo no aparece en el fail2ban y toca desactivar el servicio , podemos revisar a ver si lo podemos modificar !.
Justo probando he dado como hacerlo, realmente no es muy complicado lo raro es que segun he revisado solo aparece para mostrar asterisk y apache el resto no sale en caso de bloqueo, he podido añadirlo facilmente y explico aqui tambien como para compartirlo con los demás y se pueda añadir a mejoras y futuras actualizaciones
para añadir en el fail2ban que se muestre el apache-auth que es el acceso si tienen bloqueado por htaccess para que antes de entrar pida usuario y clave y lo muestre en las ips bloqueadas hacer lo siguiente
editar el fichero
vi /var/www/html/modules/sec_fb_banned/index.php
buscar donde pone
$respuesta = array();
exec('/usr/bin/issabel-helper fb_client status asterisk', $respuesta, $retorno);
$output = implode(" ",$respuesta);
$asteriskban = trim($output);
// $asteriskban = "192.168.1.3 192.168.1.178 192.168.6.28 192.168.216.223 192.168.6.162 192.168.23.41 192.168.9.2";
y justo debajo añadir el código con el jail del apache-auth
//añadido por hgmnetwork.com para el apache-auth que es el acceso por htaccess usuario y clave o web
$respuesta = array();
exec('/usr/bin/issabel-helper fb_client status apache-auth', $respuesta, $retorno);
$output = implode(" ",$respuesta);
$apacheautban = trim($output);
// $apacheautban = "192.168.1.3 192.168.1.178 192.168.6.28 192.168.216.223 192.168.6.162 192.168.23.41 192.168.9.2";
un poco mas abajo buscar
if(strlen($asteriskban)){
$asteriskbanarr= explode(" ",$asteriskban);
foreach ($asteriskbanarr as $v)
{
$rejected[]=array("id"=>$id,"jail"=>"asterisk","ip"=>$v);
$id++;
}
}
y añadir justo debajo
//añadido por hgmnetwork.com 05-02-2021 para el apache aut
if(strlen($apacheautban)){
$apacheautbanarr= explode(" ",$apacheautban);
foreach ($apacheautbanarr as $v)
{
$rejected[]=array("id"=>$id,"jail"=>"apache-auth","ip"=>$v);
$id++;
}
}
es muy importante poner
$rejected[]=array("id"=>$id,"jail"=>"apache-auth","ip"=>$v);
apache-auth ya que si se pone otra cosa al eliminar la ip no funcionara eso debe ser exacto al nombre del jail de iptables
se puede repetir con todos los jail que se quiera
y listo se reinicia el fail2ban y ya aparecen en la web también los apache-auth
espero les sirva de ayuda y se pueda poner en las próximas actualizaciones ya que tanto lo del país como mostrar los bloqueos de apache, correo, y otros jail creo que seria bueno por defecto.
MUCHAS GRACIAS!!
Nicolás ha mejorado y optimizado el Código y ya está para descargar y en próximas actualizaciones estará el apache-aut
https://github.com/IssabelFoundation/security/commit/bc6187f3a3a029c9d2820f9c3592f198df0162e4
- Edited
hgmnetwork Tengo una pregunta , resulta que si se bloquea por intentos a la plataforma WEB (poner mal la contraseña) , que tipo de bloqueo es ? .
Estuve mirando y bloquee una IP por intentos de bloqueos desde la pagina WEB , pero no me da la opción de desbloquear de la pagina WEB , se podría agregar esta opción de igual que hiciste con apache-aut ? , o definitivamente estoy mal !.
Muchas gracias !
Por ejemplo mira :
-A f2b-asterisk-udp -s 185.16.38.105/32 -j REJECT --reject-with icmp-port-unreach able
-A f2b-asterisk-udp -s 150.136.223.242/32 -j REJECT --reject-with icmp-port-unrea chable
-A f2b-asterisk-udp -j RETURN
-A f2b-issabel-gui -s 190.66.223.XX/32 -j REJECT --reject-with icmp-port-unreacha ble
-A f2b-issabel-gui -j RETURN
-A f2b-postfix -j RETURN
-A f2b-postfix-sasl -j RETURN
-A f2b-sshd -s 218.92.0.172/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -s 61.177.172.104/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -s 218.92.0.247/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -s 218.92.0.145/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -s 218.92.0.133/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -s 115.159.151.171/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -s 103.246.240.30/32 -j REJECT --reject-with icmp-port-unreachable
Esta es la IP bloqueada por acceso a la WEB errados
-A f2b-issabel-gui -s 190.66.223.XX/32 -j REJECT --reject-with icmp-port-unreacha ble
Quiero hacer lo que hiciste pero agregando este reglón que tipo de proceso es ? f2b-issabel-gui
Ferchoorias si se puede en el Código que añadir Nicolás es en el array añadir el Jail issabel-gui así aparecerá también ese
Bueno la función es "issabel-gui" , y ya parece como Issabel , es el tipo de bloqueo por WEB , seria modificar para que salga en la nueva versión , lo arregle como tu arreglaste el tuyo peor ya seria mirar y optimizarlo como lo dejo el señor Nicolás
Buen día
Será posible que nos ayuden con generar el rpm, y así actualizar.
Miro que alguien coloca los rpm.
Saludos.
hgmnetwork
Buena noche,
Con la nueva actualización del modulo de seguridad, ¿Se genera la actualización a lo que comentan?
Saludos.
insotec creo que si que ya quedó actualizado si actualizas el beta pero cuidado con las actualizaciones en produccion
Hola,
Muchas gracias por el aporte. Es util, pero la implementación debemos revisarla. Instalar otra base de geolocalización, que no se va a actualizar nunca más a menos que se descargue nuevamente y descomprima ese php no es lo ideal.
En Issabel ya estamos implementando las bases de MaxMind pero que lamentablemente requieren de un registro (que antes no), y estamos viendo la forma de usar las funciones nativas geoip de php que utiliza esas bases para poder utilizarlas desde php.
Tambien estamos considerando otras alternativas a MaxMind que no requieran registro, pero en nuestras pruebas las bases de MaxMind siguen siendo las más completas y fiables.
Estamos trabajando en este tema, y se añadirá la columna de país en los reportes de bloqueadas, una vez que unifiquemos criterios y veamos que base utilizar.
asternic genial esa mejora, el aportar el país es bueno para así poder más fácilmente ver, e incluso bloquear si se quiere por un país determinado.
- Edited
hgmnetwork Desde hace años que es posible bloquear por paises si se quiere, si es que xtables_addons esta instalado, desde el Firewall usando reglas GeoIP. También es posible bloquear todos los continentes, y permitir países individuales. Agregar la columna país en la lista de bloqueo es independiente de esta funcionalidad que existe desde hace varios años ya.
Estuve todo el día de hoy, y varios otros días hace meses revisando y analizando la cuestión de bases de geolocalización. Y es mucho más complejo de lo que les pueda parecer. MaxMind sentó las bases, creó librerías que están incluídas en todas las distros, incluído Centos (libreria y bases en paquetes GeoIP-*). Muchas utilidades y librerías de lenguajes utilizan estas bases (php-pecl-geoip por ejemplo), geoiplookup en consola (que es también utilidad de maxmind).
La cosa es que MaxMind desde hace un tiempo ya no sólo requiere registrarse con ellos y obtener un key para poder descargar las bases gratuitas, sino que está cambiando el formato de las bases de datos, y deprecando las anteriores. Con esta depreación, todas esas familias de herramientas que utilicen sus librerías dejarán de funcionar. Una alternativa es convertir las bases con formato nuevo en el formato legacy, y eso ya estamos haciendo desde que exigen registración.
Pero, y hay muchos más peros, los desarrolladores de xtables_addons están migrando de MaxMind a DB-IP. Hoy estuvimos mirando esa base y parece ser más precisa que la de MaxMind gratuita. Entonces muy contentos intententamos por varias horas incorporar esa nueva base como alternativa, y convertirla al formato MaxMind Legacy para poder ser utilizada por librerías nativas de php o geoiplookup en consola.
Aquí viene otro pero, las librerías MaxMind descargadas de GitHub y actualizadas hace días nomás, no aceptan a Kosovo como país, mientras que las bases de DB-IP si lo incluyen. Entonces, hay que parchear y recompilar las librerías GeoIP de Maxmind para agregar este país, un trabajo extra que no podemos evaluar si vale la pena puesto que MaxMind mismo anuncia que deprecará esa librería en Mayo de 2022.
y se imaginan como sigue la cosa... Algo que puede parecer muy sencillo, es una caja de pandora, un berenjenal o una lata de gusanos, la analogía que más les guste.
Y todo este esfuerzo bajo el riesgo de que DB-IP decida restringir las descargas como ya lo hizo MaxMind en su momento.
Veremos en los próximos días como termina esta historieta.
Si, se que por paises se puede hace tiempo, me referia a que si aparece en el bloqueo el Pais, se podria ver que paises son los que más atacan y así bloquearlos, incluso no se si se podria hacer directamente desde el Fail2ban al añadir la opción del pais que se pueda bloquear para que sea más fácil para manejar con el firewall, entiendo que es más complicado de realizar, pero a la hora de usabilidad seria más fácil y si no es posible al menos poder ver que paises es de donde más atacan y así poder en el firewall bloquearlos.
Genial la idea de la actualización de las ips, todo lo que sea seguridad, cuanto mas mejor. mis felicitaciones y mil gracias por el gran esfuerzo que realizan, no me cansaré de agradecerles al equipo de issabel todas las mejoras y el el esfuerzo que muy pocos valoran por desgracia.
asternic Nicolás como esta. Este sistema detección se puede implementar en la herramientas de firewall.
https://github.com/elpop/sipban
Hola @dariohimo , teniendo el realtime block list, que a diferencia de sipban es una lista que se nutre comunitariamente me parece no tiene sentido agregar otra capa de bloqueos, que además consumirá recursos del equipo. (AMI requiere de recursos intensivos). De todas maneras, los usuarios son libres de instalar sipban si lo desean siguiendo las instrucciones de la misma... no es complicado, y de paso los administradores aceitarán sus habilidades de consola e instalación de software.
Saludos,
No nos quedó otra que crear un paquete propio de geoip para issabel, usando las últimas librerías disponibles de maxmind y parcheándolas para agregar el país faltante, con soporte de descarga desde db-ip.com si no hay licencia de maxmind cargada, de modo que los usuarios que no hayan registrado con maxmind de todos modos tengan una base geolocalizada usable. Parece estar funcionando bien, con la ventaja que las herramientas nativas de geolocalizacion existentes van a usar dichas bases. Esto quiere decir que el agregado de la columna país en php usa funciones nativas de php, y require un paquete ya existente en repositorios e instalable por yum (php-pecl-geoip), y no requiere de algo externo. Asi que también se actualizará secuiryt fail2ban blocked para mostrar el país usando esta función nativa.