You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
253 lines
3.9 KiB
253 lines
3.9 KiB
---
|
|
|
|
Alias: [""]
|
|
Tag: [""]
|
|
Date: 2022-03-10
|
|
DocType:
|
|
Hierarchy:
|
|
TimeStamp:
|
|
location:
|
|
CollapseMetaTable: Yes
|
|
|
|
---
|
|
|
|
Parent:: [[Selfhosting]], [[Server Alias]], [[Server Cloud]], [[Server Tools]], [[Server VPN]]
|
|
|
|
---
|
|
|
|
 
|
|
|
|
```button
|
|
name Save
|
|
type command
|
|
action Save current file
|
|
id Save
|
|
```
|
|
^button-ConfiguringTelegrambotsNSave
|
|
|
|
 
|
|
|
|
# Configuring Telegram bots
|
|
|
|
 
|
|
|
|
```ad-abstract
|
|
title: Summary
|
|
collapse: open
|
|
This note allows to configure Telegram bots for pairing with certain services.
|
|
```
|
|
|
|
 
|
|
|
|
```toc
|
|
style: number
|
|
```
|
|
|
|
 
|
|
|
|
---
|
|
|
|
 
|
|
|
|
### Linking services with a Telegram bot
|
|
|
|
 
|
|
|
|
#### Creating a Telegram Bot
|
|
|
|
1. In Telegram, look for '@BotFather'
|
|
2. Initialise with `/start`
|
|
3. Create bot with `/newbot`
|
|
|
|
Record the Token from the message from *BotFather*.
|
|
|
|
 
|
|
|
|
#### Getting the Bot's Chat ID
|
|
|
|
In a terminal, run:
|
|
|
|
```ad-command
|
|
title: Telegram Chat ID
|
|
~~~bash
|
|
curl https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getUpdates | jq .message.chat.id
|
|
~~~
|
|
```
|
|
|
|
|
|
 
|
|
|
|
#### Linking Logwatch
|
|
|
|
Please see full documentation [[GitHub - fxkjdlogwatch-telegram-bot Send logwatch results to your telegram account|here]].
|
|
|
|
 
|
|
|
|
#### Linking monit
|
|
|
|
Please see full documentation [[GitHub - matriphemonit2telegram A simple script to send Monit alerts using Telegram bot.|here]].
|
|
|
|
 
|
|
|
|
#### Linking fail2ban
|
|
|
|
Please see full documentation [[GitHub - deividgdtfail2ban_telegram_notifications Sending fail2ban notifications using a Telegram bot|here]] for SSH monitoring.
|
|
|
|
##### Postfix Monitoring
|
|
|
|
In order to monitor SMTP connections through Fail2Ban, a few steps need to be taken.
|
|
|
|
1. Open the conf file
|
|
|
|
```ad-path
|
|
~~~bash
|
|
/etc/fail2ban/jail.conf
|
|
~~~
|
|
Or
|
|
~~~bash
|
|
/etc/fail2ban/jail.local
|
|
~~~
|
|
```
|
|
|
|
 
|
|
|
|
2. Edit Postfix & create Postfix-auth
|
|
|
|
```ad-code
|
|
~~~bash
|
|
[postfix]
|
|
|
|
enabled = true
|
|
maxretry = 3
|
|
bantime = 1h
|
|
filter = postfix[mode=aggressive]
|
|
telegram
|
|
mode = more
|
|
port = smtp,465,submission
|
|
logpath = %(postfix_log)s
|
|
backend = %(postfix_backend)s
|
|
|
|
[postfix-auth]
|
|
enabled = true
|
|
bantime = 1h
|
|
filter = postfix.auth
|
|
action = iptables-multiport[name=postfix, port="http,https,smtp,submission,pop3,pop3s,imap,imaps,sieve”, protocol=tcp]
|
|
telegram
|
|
logpath = /var/log/mail.log
|
|
ignoreip = 127.0.0.1/8
|
|
maxretry = 3
|
|
~~~
|
|
```
|
|
|
|
 
|
|
|
|
3. Create postfix.auth filter
|
|
|
|
```ad-path
|
|
/etc/fail2ban/filter.d/postfix.auth.conf
|
|
```
|
|
|
|
 
|
|
|
|
```ad-code
|
|
~~~bash
|
|
[Definition]
|
|
failregex = lost connection after AUTH from (.*)\[<HOST>\]
|
|
ignoreregex =
|
|
~~~
|
|
```
|
|
|
|
 
|
|
|
|
4. Restart fail2ban
|
|
|
|
```ad-command
|
|
~~~bash
|
|
sudo systemctl restart fail2ban
|
|
~~~
|
|
```
|
|
|
|
 
|
|
|
|
---
|
|
|
|
 
|
|
|
|
### Current bots
|
|
|
|
 
|
|
|
|
#### Logwatch and Monit
|
|
|
|
A bot has been created for [[Configuring Monit|monit]] and Logwatch.
|
|
|
|
 
|
|
|
|
```ad-credentials
|
|
title: Credentials
|
|
| Variable | Value
|
|
| - | -
|
|
| Name | Logwatch_servers
|
|
| Username | [mbvservers_bot](https://t.me/mbvservers_bot)
|
|
| Token | 5218097204:AAEnsZLTk4TTk-X-MceuoIGX0IQWLkngM4E
|
|
| Chat ID | 1622082350
|
|
```
|
|
|
|
 
|
|
|
|
#### Alias Server
|
|
|
|
```ad-credentials
|
|
title: Credentials
|
|
| Variable | Value
|
|
| - | -
|
|
| Name | Alias Server
|
|
| Username | [AliasServer_bot](https://t.me/AliasServer_bot)
|
|
| Token | 5152026161:AAEz4uzDmu8NwrQ5keVmeQNoW4crFVNA0Mg
|
|
| Chat ID | 1622082350
|
|
```
|
|
|
|
 
|
|
|
|
#### Cloud Server
|
|
|
|
```ad-credentials
|
|
title: Credentials
|
|
| Variable | Value
|
|
| - | -
|
|
| Name | Cloud Server
|
|
| Username | [CloudServer_mfxm_bot](https://t.me/CloudServer_mfxm_bot)
|
|
| Token | 5195880175:AAHn9EeBWX0tNszSX4MvWUtJ2I3K8wmCIKw
|
|
| Chat ID | 1622082350
|
|
```
|
|
|
|
 
|
|
|
|
#### Tools Server
|
|
|
|
```ad-credentials
|
|
title: Credentials
|
|
| Variable | Value
|
|
| - | -
|
|
| Name | Tools Server
|
|
| Username | [Tools_mfxm_bot](https://t.me/Tools_mfxm_bot)
|
|
| Token | 5084726395:AAGCxr7VvG_fsrO7JWexlQgPt3dtwCijKjY
|
|
| Chat ID | 1622082350
|
|
```
|
|
|
|
 
|
|
|
|
#### VPN Server
|
|
|
|
```ad-credentials
|
|
title: Credentials
|
|
| Variable | Value
|
|
| - | -
|
|
| Name | VPN Server
|
|
| Username | [VPN_mfxm_bot](https://t.me/VPN_mfxm_bot)
|
|
| Token | 5159102890:AAFt6QIaUiWZsskc9CFveJBHORjmZYgzTiE
|
|
| Chat ID | 1622082350
|
|
```
|
|
|
|
 
|
|
  |