Skip to content

SousaPedro11/fail2ban-telegram

Repository files navigation

Fail2ban Telegram RestAPI

Rest API feita em Flask para notificar via Telegram os eventos do Fail2ban.

Requisitos

  • Aplicação com arquitetura REST
  • Receber uma requisição do tipo POST
  • Utilizar um bot para comunicar com o Telegram
  • Notificar no grupo o evento de acordo com o formato de entrada definido
  • Executar em container Docker

Tecnologias e Recursos

Preparação do Ambiente

Criar os arquivos contendo as variáveis de ambitente

  • Copiar os templates de arquivos:
cp flaskenv_example .flaskenv && cp env_example .env
  • Substituir os valores correspondentes às variáveis

Para executar em localhost na própria máquina

  • Instale o Python 3
  • Instale o pip
  • Atualize o pip
  • Instale o openssl-dev
  • Crie o ambiente virtual com:
python -m venv venv
  • Ative o ambiente virtual:
source ./venv/bin/activate
  • Instale os pacotes necessários com o pip:
pip install -r requirements.txt

Em Docker

  • Instale o Docker e Docker-compose
  • Crie a imagem a partir do DOCKERFILE (dockerfile_fail2ban_iec):
docker build -f ./dockerfile_fail2ban_iec -t fail2ban:alpine .

Executar a aplicação

Na própria máquina pelo terminal

  • Sem o servidor WSGI
flask run

ou

python -m flask run
  • Com o servidor WSGI
gunicorn --workers=5 --bind=0.0.0.0:5000 --access-logfile - --error-logfile - 'fail2ban:create_app()'

ou execute o startup.sh (deve estar habilitado para execução)

./startup.sh

Em docker (após criada a imagem)

docker run --name fail2ban-telegram -p 5000:5000 --restart=unless-stopped -d fail2ban:alpine

Em docker-compose

  • Para criar e executar a aplicalçao
docker-compose -f fail2ban_iec.yml up --build -d --remove-orphans
  • Para derrubar e remover container + imagem
docker-compose -f fail2ban_iec.yml down --rmi all -v --remove-orphans

About

RestAPI em Flask com python-telegram-bot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published