Data added from extensions.joomla.org and the FAQ config page for active scanner.
From our point of view the default settings are a balanced configuration for most Joomla! Installations. However I would encourage you to go through the settings and make your own choices.
Enable Active Scanner
By enabling the Active Scanner all the protections will be enabled on your Joomla! website.
Enable Active Scanner in the /administrator section
By setting this to Yes the PHP, JS and SQL protections will be triggered in the backend as well. This should only be enabled if you don't trust people that have access to your /administrator section.
This is useful if you don't trust people that have access to your administration from making mistakes or uploading malicious code.
Log All blocked attempts
By setting this to Yes, every single attempt that's stopped by RSFirewall! will be logged. This is useful for debugging your website in case you have false alerts. We recommend setting this to No once you are done so that automated attacks don't fill your log.
Remove the Joomla! generator meta tag
Removing the generator meta tag from your website's template will protect you from spambots or attackers that target Joomla! Websites. This will also prevent some prevent 3rd parties working out what CMS platform you are running for further attacks. This does not prevent fingerprinting attacks but is a good start to stop script kiddies.
Convert email addresses from plain text to images
This setting will convert all email addresses from plain text to images, in the same way as the Email Cloaking plugin will convert them to Javascript.
Joomlas inbuilt Email Cloaking Plugin is enabled by default that obfuscates email addresses by using Javascript but there might be times where it does not work or that a hacker can get around the prevention method. If an email is changed to an image hackers will not be able to read the emails addresses by using scripts so this is a very secure method of preventing scraping of your email addresses whilst still being able to display them to visitors.
Check core Joomla! Files integrity
Checks a few core Joomla! files for integrity, like the Joomla! login and index.php
This is a key feature of the active scanner and should always be used. Whenever your site is accessed RSFirewall will check the core Joomla! Files that have been accessed during the request to make sure their hashes match the internal hash database of RSFirewall which checks to see if they have been altered. This adds a proactive protection to your site allows you to stop a hack attempt at an early stage.
Monitor the following files for changes
If any of the following files will be changed, you will be alerted by email (if configured) and an entry will be posted in the System Log.
This section allows you to add your own files that you want to monitor for changes, such as your template files. If you want a suggestion for suitable files to monitor use the following as an example:
Open File Manager
This opens a modal box with a file browser that allows you to select what files you want to monitor. This is optional as you can manually adding the files to the list.
Grab IP from Proxy Headers
Some servers are behind a proxy or firewall and will not provide the correct IP. If this is your case, contact the proxy provider and ask them through what header are they sending the real IP. Otherwise just leave these all checked by default and RSFirewall! will attempt to grab the IP by looking through all of them.
by default the following is set
PHP Protections - enable protections for (GET)
SQL Protections - enable protections for (GET)
JS Protections - enable protections for (POST)
why are, (POST),(POST),(GET) respectivly not turned on by default. Am I not fully protect without these or if i turn them on will it break my site?
If you are using a standard Joomla! installation, then use the standard active scanner settings provided by RSFirewall!.
The reason why $_POST is not enabled for the PHP or SQL sections is that standard Joomla! article, or module editing work with $_POST. Having this enabled would increase the chances of raising false positives, blocking the legitimate actions that are being performed. If you have tight control on the users that are allowed to perform such actions (or if these actions are performed only in the backend for example) you won't be needing to perform checks on the $_POST variable. Keep in mind that $_GET related attacks are more frequent then $_POST ones as well.
The File Inclusion settings should be left on unless you really need to turn them off for debugging or running some of your custom code. Well written extensions will not require LFI/RFI to work.
Local file inclusion (LFI)
This disallows directory traversal techniques (such as controller=../../../etc/passwd) that might allow an attacker to read sensitive files by exploiting poorly coded extensions.
Remote file inclusion (RFI)
This disallows access to URLs (such as controller=http://www.malicious-site.com/exploit.txt) that might allow an attacker to download and run malicious scripts by exploiting poorly coded extensions.
Enable protections for
Inspect the selected system variables for PHP injections.
PHP $_POST and $_GET Defaults
Enable protections for
Inspect the selected system variables for SQL injections.
SQL $_POST and $_GET Defaults
Enable protections for
Inspect the selected system variables for XSS/JS injections.
JS $_POST and $_GET Defaults
Filter Javascript
By setting this to Yes, the Javascript will be filtered instead of the connection being dropped.
Every file upload that is being performed, ends up in the $_FILES variable. RSFirewall! checks this particular variable for attack vectors as well.
Filter Uploads
By settings this to Yes, the uploads will be deleted instead of the connection being dropped.
Filter uploads by deleting the file(s) instead of the connection being dropped. This alloes data still to be accepted but delete the potential malicious file which is better for customer interaction.
Check for multiple file extensions
Uploading files with multiple extensions might trick you or any other user that the file has a safe extension.
Verify if uploaded files have multiple extensions
Check for known malware
Verify uploaded files for known malware patterns, such as PHP shell scripts.
Banned Extensions
Files with the following extensions will be deleted as soon as they've been uploaded to the temporary directory on your server. If you enable the "Multiple extensions check", this will check all the files extensions, as opposed to the last one.
Don't upload files with the configured list of banned extensions
Deny access to the following User Agents
Select the User Agents you want to prevent from accessing your site.
The following User Agents are usually automated requests to your website and should not be allowed.
Protect against DoS (Denial of Service) attacks for User Agents (perl, cURL, Java or empty User Agents)
Protect forms from abusive IPs
Enabling this option will protect your forms from abusive IPs by checking if they exist in a PBL list.
Protect forms from abusive IPs - checks if IPs of form submitters exist in the Spamhaus XBL and SBL lists.
If the IP is in a PBL then the submission will be blocked.
Deny access to the following referrers
Referers are visitors coming from another website (domain). You can block multiple domains by specifying them each on a new line. You can also use wildcards, such as *.domain.com which will block any requests coming from all subdomains of domain.com (eg. www.domain.com, images.domain.com etc). Remember to add domain.com to the list as well, otherwise only subdomains will be blocked when using wildcards. You can also use wildcards anywhere in the domain name, eg. blocked-domain.*, blocked*domain.com
Deny access to the following referers - Referers are visitors coming from another website(domain). You can block multiple domains by specifying them each on a new line. You can also use wildcards, such as *.domain.com which will block any request coming from all subdomains of domain.com(e.g www.domain.com, images.domain.com etc.).
Automatic blacklisting
Automatic blacklisting will automatically add to the blacklist repeat offenders based on the minimum number of attempts specified below.
Enable automatic blacklisting(even for the backend login): if repeated threats are detected with the same IP address, this will automatically be added to the Blacklist area
Automatic blacklisting for /administrator login
With this option enabled, failed backend logins will lead to an automatic ban. This option is independent from the CAPTCHA challenge configurable below.
Same as above but for the admin area
# of attempts
This is the minimum number of attempts before the attacker will be added to the blacklist and banned from your website.
Enable CAPTCHA
This will prompt a CAPTCHA security code in the /administrator section. CAPTCHA will appear after the number of failed login attempts you specify below.
# of failed attempts
Activate CAPTCHA after this number of failed login attempts a CAPTCHA will show up in the /administrator section login page.
Capture login attempts
By enabling this, everytime a user fails to login in the /administrator section will trigger an event in the System Logs.
Store Passwords
Set whether to store the passwords used in the failed login attempts or not.
Protect the following users from any changes
This will create a snapshot of the selected users. If any changes will happen to any of them, it will get reverted back immediately. If you want to update your snapshot, you will have to deselect all the users, press Apply and then select the users again and finally Save the configuration.
Protect Joomla! users from any changes
Disable access to the Joomla! Installer
By setting this to Yes, the Joomla! installer will no longer be accessible.
You would use this when you have multiple admins and do not want them to have access to the installer to prevent over enthusiastic admins from breaking your site.
e.g. Perhaps you are in situation where you have multiple backend users. Would you like them to be able to install anything on your Joomla! ? It basically ads an extra layer of protection for the installer access.
Disable the creation of new Administrators
By setting this to yes, new users that can login in the /administrator section will be deleted as soon as they are created. Keep in mind that new users (such as the ones added in the Registered group) will not be affected, unless you are trying to add Super Administrator rights to them (in this case, they will be deleted as well).
This feature is a second line of defense. Should a hacker get basic access to your site this feature prevents him from getting administrator rights to your Joomla! Installation. It can also be used to prevent other admins on your site giving administrator rights out to other Joomla! Users.
ps, all of these question and answers should be added to your documentation as they are the first thigns that popped into my head whilst learnign your software.
https://www.rsjoomla.com/my-support-tickets/view-ticket/138571-protections-configuration.html
Me
by default the following is set
PHP Protections - enable protections for (GET)
SQL Protections - enable protections for (GET)
JS Protections - enable protections for (POST)
why are, (POST),(POST),(GET) respectivly not turned on by default. Am I not fully protect without these or if i turn them on will it break my site?
advide please (PS> RSFirewall documentation should be a little bigger for sucha complicated product, which is great)
Alexandru Plapana
Hello,
Note that there is no predefined set of settings that can be applied for each and every website. Each website has its own requirements and this propagates to security related settings as well. For example you can't restrict the usage of a particular PHP function (that are commonly used by hack related scripts) if one of your installed extensions is using it. On the other hand why wouldn't you restrict if none of your extensions is using it ?
There is no such thing as full protection of an website - security applications won't ever be able to provide 100% protection, but it can help you reduce the chances of your site being hacked. Tighter security settings, can increase the chances of false positives and can affect the overall site functionality and even performance.
You are more then welcome to enable the protections, but you will have to test your site and make sure that it doesn't affect the overall functionality.
Regards!
Me
Hi,
unfortunately you have turned into management as this is a pointless answer but probably sounds great to you.
If you offer settings in a product you have to be able to tell me why they are there, in what circumstances you would use them, this would be an excellent feature for your documentation.
FYI: i know the difference between POST and GET but i am unsure on how to apply these settings of your firewall in a real life situation.
Please can you look into this and perhaps get me some real examples of why i would use them, leave as is etc...
You must understand that 99% of your cusrtomers will never touch these settings and this is why you dont get much feedback about them. some people might not even know the difference between post and get.
An example would be:
"If you have a standard joomla site wiht no 3rd part plugins or extensions turn GET and POST on for PHP/javascript/SQL to ge better protection"
Thanks
Alexandru Plapana
Hello,
If you are using a standard Joomla! installation, then use the standard active scanner settings provided by RSFirewall!.
If you actually hover over the options themselves you will notice additional explanations on this. The reason why $_POST is not enabled for the PHP or SQL sections is that standard Joomla! article, or module editing work with $_POST. Having this enabled would increase the chances of raising false positives, blocking the legitimate actions that are being performed. If you have tight control on the users that are allowed to perform such actions (or if these actions are performed only in the backend for example) you won't be needing to perform checks on the $_POST variable. Keep in mind that $_GET related attacks are more frequent then $_POST ones as well.
Regards!
Me
the explanation you have just given me is great. This should be in the manual somewhere.
I did read the tooltips before i posted, but the tool tips tell you what the option does but not why you would choose it and the consequences.
thanks
Alexandru Plapana
Hello,
I am glad that i could help.
Let me know if you require further assistance.
Regards!
before i start i do appreciate all of the time you spend answering my questions but i have a few follow up question just to plug the hole in your documentation. You can have a copy of my notes when i am done:
I need the answers to these because i am going to be running my own custom modules, code and whatever so i want to be as safe as possible without killing my site
After reading the responses from RSFirewall and the active scanner configuration faq page and the tooltips in the software I need to answer the following
PHP
SQL
JS
General
This is for information I have not really done anything with or is to general to go elsewhere.
Follow the steps mentioned below to register the domain "quantumwarp.uk":
According to .UK policies, the domain can only be registered by the owner of "quantumwarp.co.uk". So you need to enter the details and proceed with the registration.
Please make sure that the details of the domain "quantumwarp.uk" that you enter in our panel, matches the details of "quantumwarp.co.uk". Only then, the domain can be registered and will be active in your panel.
A lot of users use POP3 and SMTP to send and receive emails from their yahoo email account. I recently had a customer who was using Outlook to get emails via POP from Yahoo and Outlook started requesting a username and password. I verified the username and password were correct by login into yahoo.com and they worked fine. The settings in Outlook all seemd fine aswell and as a precaution I reset the password which also made no difference.
When I analysed the errors sent back while sending an email using the Yahoo system a MR1212 error was highlighted and this let me to idetify the problem and solution. I used SMTP Diagnostics to generate the email reports.
Failed email report
.................... SMTP Diagnostics Report Trial version. Visit http://www.smtpdiagnostics.com/ for more information. 12/01/2017 13:03:10 Elapse time: 0:00:03.422 .................... Email address: not-real@yahoo.co.uk Outgoing mail server (SMTP): smtp.mail.yahoo.co.uk Port: 465 My outgoing server (SMTP) requires authentication User name for outgoing server (SMTP): not-real@yahoo.co.uk Password for outgoing server (SMTP): *********** Subject: [SMTP Diagnostics] Send Test Message: Send test from SMTP Diagnostics. .................... Connecting to mail server. Connected. 220 smtp.mail.yahoo.com ESMTP ready EHLO Dell 250-smtp.mail.yahoo.com 250-PIPELINING 250-SIZE 41697280 250-8 BITMIME 250 AUTH PLAIN LOGIN XOAUTH2 XYMCOOKIE AUTH LOGIN 334 VXNlcm5hbWU6 bWNnYWZmaWdhbnNAeWFob28uY28udWs= 334 UGFzc3dvcmQ6
Successful email report
.................... SMTP Diagnostics Report Trial version. Visit http://www.smtpdiagnostics.com/ for more information. 12/01/2017 13:03:54 Elapse time: 0:00:00.641 .................... Email address: not-real@yahoo.co.uk Outgoing mail server (SMTP): smtp.mail.yahoo.co.uk Port: 465 My outgoing server (SMTP) requires authentication User name for outgoing server (SMTP): not-real@yahoo.co.uk Password for outgoing server (SMTP): *********** Subject: [SMTP Diagnostics] Send Test Message: Send test from SMTP Diagnostics. .................... Connecting to mail server. Connected. 220 smtp.mail.yahoo.com ESMTP ready EHLO Dell 250-smtp.mail.yahoo.com 250-PIPELINING 250-SIZE 41697280 250-8 BITMIME 250 AUTH PLAIN LOGIN XOAUTH2 XYMCOOKIE AUTH LOGIN 334 VXNlcm5hbWU6 bWNnYWZmaWdhbnNAeWFob28uY28udWs= 334 UGFzc3dvcmQ6 bWNnYWZmczEyMzQ= 235 2.0.0 OK RSET 250 flushed MAIL FROM: <not-real@yahoo.co.uk> 250 OK , completed RCPT TO:<not-real@yahoo.co.uk> 250 OK , completed DATA 354 Start Mail. End with CRLF.CRLF . 250 OK , completed QUIT Disconnected. 221 Service Closing transmission ....................
Yahoo have recently changed their account security settings disabling POP and SMTP
We may block email applications that use a no longer recommended sign in method from accessing Yahoo accounts. We recommend upgrading to an app with up-to-date sign in security measures to better protect your account.
We have to enable POP and SMTP but the setting is not named that well.
Yahoo Account --> account security --> allow apps that use less secure sign-in
Looks like this
Should look like this
This is a really frustrating issue that took me ages to figure out. I am running xampp on a windows PC and not matter what type password I used I could not get it to authenticate a user so I ended up using the root account.
Solution
xampp does not like the %, you must use localhost when adding a user in phpMyAdmin
This is a growing area of Joomla, Content Construction Kit. There are many CCKs out there but some are dead projects, some are very limited and some use Joomla's article system. There are no real outstanding CCK yet but I am hoping there will be soon.
I imagine a CCK would allow me to build a asimple directory of any type and if need can be expanded to have a more complex role.
I am going to list here all the CCKs I have looked at.
This is a very simple to use application from Micropsft to capture your screen. It is getting a bit dated though.
The free version is crippled but the paid version is not bad.
Links
This is my research on how the K2 attachments work and where it uploads the files.
When simple attaching
When attaching a file already on the server
Both
A thought exercise for me to compare Joomla against Wordpress
Wordpress Better?