Eliminate XMPP Spam

It is possible to make spammers go away.

Now that I run an public XMPP service, I am beginning to get spam. It is my fault because I posted my XMPP Id on the donations page of this website.

I am against the idea of blocking incoming messages. I think that it is nearly impossibe to know in advance that a message is spam and should be blocked. It is not proper to pre-determine that a message from someone not in a recipient’s contacts is unwanted. If I configured that rule on the server, I would be blocking people trying to meet each other which is not useful.

The best way to block incoming spam is for the user to do it himself.

How to Block Spammers

This method of blocking spammers is terribly effective. It requires a desktop client. I have not found a way to do this in a mobile client, but your mobile client will benefit from the configuration.

Step One, get a spam message

You cannot start this without at least one incomming spam message, because to do it you will need a contact and a group.

Add the spammer to your contacts

I get two kinds of spam messages:

  • In Russian
  • In English, with an inviting query that sounds harmless, but is clearly for anyone who will just answer. For example “Are you there?” or “How are you?”

Do not respond! It sounds absurd, but add the spammer to your contacts. Once he is in your contacts add him to the group “BLOCKED”. Right-click the contact, and look for “Edit Groups”. Adding the first user to a group creates the group.

Create a Privacy List

There are two desktop XMPP clients I use that can create a privacy list. The most intuitive is PSI+. Gajim will also work.

  • On PSI+, right-click your username, look for “Privacy Lists” in the menu. Create a new list, or use the default list “blocked”. Add a rule to block everything for the group “BLOCKED”. My rule is: If Group is Blocked Deny All.
  • On Gajim, in the top menu, click accounts, XMPP ID, Advanced, Privacy Lists. A little window opens. You can add a new rule to the list “blocked” or create a new list. Select the desired list and click Edit. Click Add. Select “all in group BLOCKED”, and check the box “All (Including subscriptions)".

My Privacy List as shown on Gajim

Start moving spammers into the group “BLOCKED”

Whenever a spam comes in, just add the spammer to your contacts, then move the contact into the group “BLOCKED” by right-clicking the contact and following the pop-up menu to groups. You will never hear from that spammer again. If he tries to contact you, he will receive an error message <service‑unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas”/>.

On your client, just close the folder for “BLOCKED” so the spammer names don’t take up all of that space. An easy and effective solution!

On your mobile XMPP client, the only thing that changes is that fewer spams interrupt your day.

Outgoing spam is blocked by

People should know that is blocking outgoing spam. If someone starts blasting a bunch of messages to different XMPP IDs, the server picks up on it and blocks the IP address for 1 hour. Someone tries to do it about once a week and doesn’t get very far.