If your Confluence site is public-facing you may be affected by spammers.
To prevent spammers:
- Enable Captcha. See Preventing and Cleaning Up Spam.
- Run Confluence behind an Apache webserver and create rules to block the spammer's IP address.
Blocking Spam at Apache or System Level
If a spam bot is attacking your Confluence site, they are probably coming from one IP address or a small range of IP addresses. To find the attacker's IP address, follow the Apache access logs in real time and filter for a page that they are attacking.
For example, if the spammers are creating users, you can look for
Compare the actual spam users being created with the log entries to make sure you do not block legitimate users. By default, Apache logs the client's IP address in the first field of the log line.
Once you have the offender's IP address or IP range, you can add it to your firewall's blacklist. For example, using the popular Shorewall firewall for Linux you can simply do this:
To block an IP address at the Apache level, add this line to your Apache vhost config:
You can restart Apache with a "graceful" command which will apply the changes without dropping any current sessions.
If this still does not stop the spam, then consider turning off public signup.
By 'profile spam', we mean spammers who create accounts on Confluence and post links to their profile page.
If you have had many such spam profiles created, the easiest way to delete them is via SQL.
To delete a spam profile:
- Shut down Confluence and back up your database.
Note: This step is essential before you run any SQL commands on your database.
Find the last real profile:
- Look through the bodies of the profile pages until you find where the spammer starts. You may have to identify an number of ranges.
Find the killset:
If you're using Confluence 5.6 or earlier use the SQL commands below:For Confluence 5.6 and earlier...
- Once the spam has been deleted, restart Confluence and rebuild the index. This will remove any references to the spam from the search index.