Podemos ver en los registros de nginx que hay una dirección IP que hace cosas desagradables.
¿Cómo podemos bloquearlo con un pf
comando y luego permanentemente con el /etc/pf.log
? ¿Cómo podemos bloquear un x.x.x.x/24
para esa IP? Es un ejemplo: 1.2.3.4
ACTUALIZACIÓN: no, parece que OpenBSD no tiene el archivo permitir / denegar en / etc. Y AFAIK, el mejor consejo para bloquear direcciones IP abusivas es usar pf.
# cd /etc
# ls -la|egrep -i 'deny|allow'
# uname -a
OpenBSD foo.com 5.4 GENERIC.MP#0 amd64
#
Respuestas:
La mejor manera de hacer esto es definir una tabla y crear una regla para bloquear los hosts, en
pf.conf
:Y luego agregue / elimine dinámicamente direcciones IP:
Otros comandos de 'tabla' incluyen
flush
(eliminar todo)replace
yshow
. Miraman pfctl
para más.Si desea una lista más permanente, puede guardarla en uno (o más) archivos. En
pf.conf
:También puede agregar nombres de host en lugar de direcciones IP. Consulte la sección "Tablas" de
man pf.conf
yman pfctl
.Nota : Los ejemplos anteriores suponen que la interfaz de Internet es
fxp0
, cambie según su configuración. Además, tenga en cuenta que las normas enpf.conf
son evaluados de forma secuencial y parablock
opass
reglas es la última regla de coincidencia que se aplica. Con este conjunto de reglasy después de agregar 1.2.3.4 y 192.168.0.10 a la
badhosts
tablatodo el tráfico desde y 1.2.3.4 192.168.0.10 será bloqueada pero el segundo anfitrión será capaz de hacer conexiones al puerto otros equipos de los 80 debido a que los
pass
partidos de reglas y anula lablock
regla.fuente
block in from <badhosts>
. No necesita especificar la interfaz o lato any
parte.Según otras respuestas, no está claro que necesite crear una tabla real de los hostias que está tratando de bloquear.
Esto va en el archivo pf.conf, por ejemplo, tengo dos archivos badguys, 1 y 2 badguys1 es para aquellos que van y vienen, y badguys2 es para listas negras permanentes.
Entonces, si necesita agregar una dirección IP de alguien que es una molestia por un período de tiempo, agréguelo a badguys1.
Ahora, en su archivo pf.conf tiene esto. En mi ejemplo, uso en1, porque esa es mi interfaz WiFi. Ajústelo a la interfaz en la que se encuentre su red.
Ahora puede agregar direcciones temporales a badguys1. (NO badhosts, ese es un nombre para las tablas)
Aunque dice 1 tabla creada, en realidad agrega la ip, no crea una nueva tabla. Ahora, si buscas en badguys1, verás la nueva IP.
fuente
Obtuve esta información del sitio web y perdóname por mi mal conocimiento de
OpenBSD
, pero aquí está. Echa un vistazo a esta URL . Según esto, establece que para bloquear una IP usted:echo '123.123.123.123' >> /etc/pf.blocked.ip.conf
Entonces reiniciarías el firewall:
O, para agregar sin reiniciar el tipo de firewall:
pfctl -t blockedips -T add 111.222.333.444
Ahora para verificar si se ha agregado, escriba:
pfctl -t blockedips -T show
Actualización: Tal vez esto ayudaría.
Abra el siguiente archivo en vi:
vi /etc/pf.conf
Agregue la siguiente línea de código:
table <blockedips> persist file "/etc/pf.blocked.ip.conf" ext_if="bge0" # interface connected to internet
Después de ese punto, intentaría reiniciar el firewall y confirmar que la IP está bloqueada escribiendo:
fuente
pfctl -f /etc/pf.conf
es suficiente.man pf.conf
, se sorprenderá de lo buenas que son las páginas de manual de OpenBSD. Además, lospf.conf
archivos deben leerse como un todo (el orden en el que se colocan las reglas es crucial), por lo que copiar y pegar líneas individuales suele ser una mala idea. Cree el archivo y latable
regla (eso es correcto), pero o bien comparte supf.conf
archivo completo o depende de usted averiguar lablock
regla adecuada y su ubicación en el archivo.ext_if="bge0"
macro y por qué no tiene una regla de bloqueo , criticaré su respuesta, porque está incompleta (es decir, no es una respuesta adecuada), independientemente del esfuerzo que le dedique. Además, mi comentario sobre los CÓMO se abordó en el OP, no usted (disculpas, debería haberlo dejado claro).