m0wer on Nostr: There is an ongoing attack against JoinMarket makers where a random nick not serving ...
There is an ongoing attack against JoinMarket makers where a random nick not serving onion constantly sends !orderbook requests through directory servers. The makers and directories mostly cope with the load, but the log files, which have a hardcoded debug log level, grow several gigabytes per hour and crash many makers.
A solution is to setup hourly log rotation. In Debian systems, you can move logrotate from daily to hourly cron using:
```
dpkg-divert --add --rename --divert /etc/cron.hourly/logrotate /etc/cron.daily/logrotate
```
The default user data directory is `$HOME_DIR/.joinmarket`. Create a logrotate config:
```
/home/user/.joinmarket/logs/*.log {
hourly
size 100M
copytruncate
rotate 24
notifempty
missingok
}
```
To install and test, save the config to `/etc/logrotate.d/joinmarket-logs`, test it with `sudo logrotate -d /etc/logrotate.d/joinmarket-logs`, and force run manually with `sudo logrotate -f /etc/logrotate.d/joinmarket-logs` or wait for automatic hourly execution via cron.
Published at
2026-01-01 09:20:33 UTCEvent JSON
{
"id": "c3086ff73d6d77c3f138ac4d5ee8849ff85975e3fe215b5d169e7ffbb57f9016",
"pubkey": "7459d333af66066f066cf87796e690db3a96ff4534f9edf4eab74df2f207289b",
"created_at": 1767259233,
"kind": 1,
"tags": [
[
"r",
"wss://fiatjaf.com/",
"write"
],
[
"r",
"wss://relay.primal.net/",
"write"
],
[
"r",
"wss://relay.damus.io/",
"write"
],
[
"r",
"wss://bitcoiner.social/"
],
[
"r",
"wss://relay.nostr.com.au/",
"write"
]
],
"content": "There is an ongoing attack against JoinMarket makers where a random nick not serving onion constantly sends !orderbook requests through directory servers. The makers and directories mostly cope with the load, but the log files, which have a hardcoded debug log level, grow several gigabytes per hour and crash many makers.\n\nA solution is to setup hourly log rotation. In Debian systems, you can move logrotate from daily to hourly cron using:\n\n```\ndpkg-divert --add --rename --divert /etc/cron.hourly/logrotate /etc/cron.daily/logrotate\n```\n\nThe default user data directory is `$HOME_DIR/.joinmarket`. Create a logrotate config:\n\n```\n/home/user/.joinmarket/logs/*.log {\n hourly\n size 100M\n copytruncate\n rotate 24\n notifempty\n missingok\n}\n```\n\nTo install and test, save the config to `/etc/logrotate.d/joinmarket-logs`, test it with `sudo logrotate -d /etc/logrotate.d/joinmarket-logs`, and force run manually with `sudo logrotate -f /etc/logrotate.d/joinmarket-logs` or wait for automatic hourly execution via cron.",
"sig": "7d2c1b3ac2cfa5c9e417700071acb8a691e00f5b0db8029a6927d73db90d12dc55d2f236dce030668de68b5a2fe7e98bab20b7fadf11999e512d2f65c4274a73"
}