vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3 Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=187)
-   -   Making your Admincp More secure! (https://vborg.vbsupport.ru/showthread.php?t=197510)

iNRoC 11-27-2008 10:00 PM

Making your Admincp More secure!
 
Hi guys, over my relatively short time as an administrator of a few forums, I've learned a few "tricks" that will throw off some of the more "Noobish" people who have a desire to hack your forum. I figured I would go ahead and post them

Trick # 1:Rename your admincp folder

This is actually a surprisingly little known feature of vbulletin. Rename the admincp on your hosting space to anything else, the more random, the better. Open up your config.php inside the /includes/ folder, and find the line containing

PHP Code:

$config['Misc']['admincpdir'] = 

and change the variable stored there to the name of your directories new name. Basically, this will make it so anyone who doesn't know the exact location of your admincp, cant find it.

Trick #2: The Dummy Admin Panel

This one goes well with trick #1. Goto your admin panel's login screen,and go to your browsers File-> Save As page, and save the .php file to your HD. Now, open edit out the personal data in that admincp (look around the form data for "hidden" fields), and upload it to a directory on your server. Basically, the idea here is to make a non-functional admincp login page, to fool people into thinking they have the right URL when they really don't.

Trick #3: The IP Deny .htaccess

Now, this trick involve knowing all of your admin's IP addresses. If your administrators do not have "rotating" IP's, then you can use a simple .htaccess file to allow only you and your administrators IP ranges to access the admin panel. Quite an efficient way of safeguarding your admin panel

Trick #4: A Passworded .htaccess

If your admin's do have dynamic IP addresses, there is another .htaccess solution you can use, though this one is a little less secure. Simply create a .htaccess that requires a username and password, this give double password protection on the panel, making it harder to get it. The downside is, if someone gives out the password, its useless :/

Trick #5: The Multi Hash

Now this is one you'll have to figure out on your own, its a little bit tricky to pull off, and PHP/SQL knowledge is required. The current login system for all the users for vbulletin is a MD5 hash, which is encrypted in your sql database itself. Now, to login, the system takes your input, encrypts it, and compares it to the result in the database. When hackers use scripts/exploits to try and pull a password from your database, it comes out as a hash, which they then have to run a dictionary attack against(It takes forever to brute force a MD5 password) Now, a few webmasters have found ways to "multi-hash" the login script, so that it would be something like this user input ->hash ->hash -> hash -Compare result to db. This effectively hinders any hacker from getting your hash and decrypting it, as a dictionary attack would not work on it.

Trick #6 (Though not a trick at all): Picking your staff

Above all, probably the most important thing to ever remember. Don't be generous with giving Moderator/ Admin/ Cpanel/ FTP access. Unless the user is someone you can trust, and has at least a little experience, theres no reason to let anybody in any control panel.

Posted by an administrator by my site. Org post: http://onehitwebdev.com/forum/showthread.php?t=44

Triky 11-30-2008 07:16 PM

Quote:

Trick #5: The Multi Hash
Can you please post some links to let us understand how do we do this?

codershark 12-01-2008 03:15 AM

Yes can you write more about "Multi Hash" ? How, I can do that ?

iNRoC 12-06-2008 02:39 PM

Quote:

Originally Posted by codershark (Post 1676166)
Yes can you write more about "Multi Hash" ? How, I can do that ?

Multi-Hash is not easy at all. It involves knowledge and training in SQL.

Lynne 12-06-2008 03:52 PM

Nice article! It's so easy to take some steps to make this area of your board more secure, yet many admins don't bother.

iNRoC 12-06-2008 08:51 PM

Quote:

Originally Posted by Lynne (Post 1679661)
Nice article! It's so easy to take some steps to make this area of your board more secure, yet many admins don't bother.

It's actually an important step in security. If you don't edit the config.php file, it makes it even more secure because then if someone hacks an admin account, theyll have a harder time finding the admincp.

jca2112 12-07-2008 03:25 PM

Quote:

Originally Posted by iNRoC (Post 1674749)
Trick #2: The Dummy Admin Panel

The Dummy Admin Panel seems like a really good idea.

Has anyone made a mod/hack/script along these lines?

For example, a Fake Admin Login page that writes the IP addresses of login attempts to a file and/or email sent to the admin? That would make it easy to be alerted to login attempts and make it easy to ban users/IPs/etc. that go snooping for the Admin Panel.

Unfortunately that very same idea is essentially an exploit -- it could be used to do harm to the real vBulletin admin. Redirecting legitimate login attempts to the Fake Admin Login page in order to capture REAL username and passwords.

Is there something like this available that also couldn't be used to do evil things?

iNRoC 12-09-2008 04:51 PM

Ill make you a page for it soon.

CarlitoBrigante 12-09-2008 08:56 PM

All good ideas, even though the multi-hash thing is the less important of the bunch, in my opinion, especially if you use some password that is very difficult to guess, containing numbers and special chars.

Also, In our experience (we have been PHP coders for nearly 10 years and we work often in vbulletin.org Paid forums), 95% of the hacked vBulletin sites were hacked through other means completely unrelated to vBulletin. You need to go through all the following - believe me, it is very likely an hacker is using any of the methods below, so any changes to vB would prove worthless.

- Make sure that ALL your server's password are VERY difficult to find out. A safe password would be something like "djhdd832gd92@". Check carefully for FTP accounts you have forgotten about - sometimes clients gave out FTP accounts to techs and forgot to remove them.
- Yeah, FTP is also not very secure, so if you can switch to another system like SCP,SFTP or simply to using an encrypted channel with FTP, do it. Anyhow, in a lot of cases this is difficult or impossible to do (especially on shared servers).
- Change MySQL passwords to something very difficult to guess (this is fundamental on shared servers; I have seen too many 'mickeymouse' and 'test' passwords for MySQL databases!)
- Make 200% sure that direct root login to your server is disabled. Create a wheel account used to login to the server via SSH (possibly, not called admin). Never use telnet (is there still somebody using it these days?)
- Obvious, but remember to install always a Firewall (important!) in your server.
- Make sure your server's software is updated. There are gazillions of security holes left open if you do not do so.
- Install a Brute Force Detection system for FTP or shell logins.
- Change periodically all your admin passwords in vBulletin.
- Install /tmp folder in your server on a separate partition, and make it unexec (not that useful, but can stop a bunch of attacks).
- Make sure that you are not using old add-ons with security holes. Check the add-on page on vbulletin.org to see if there are updates. vBulletin.org will also send you notifications via e-mail when a product is updated. Enter a valid and often used e-mail in your vBulletin.org account!
- Check all your files in vBulletin for suspicious versions. There is an option in vBulletin to do this in the ACP. And if you have been hacked, re-upload your vBulletin files, always!
- Make sure that there are not weird scripts into your writable directories.
- If possible at all, avoid writable directories in paths accessible via a web browser. This is often not supported by some hacks or add-ons, even though some popular products (like photoplog) work perfectly also if you specify a path outside the public web directory (using ../ in your path, in the case of photoplog).
- This will be invaluable but is often not implemented because it takes some server resources and because it can be a pain to admin. But if you have a regulard administrator, on Linux, use products like SELinux, grsecurity, AppArmor to protect your server from bad guys. Hardened kernels are also good to have!

There are loads of other things to check, and having but server security is the first thing to take care of. All the tips above are great and should be followed, but consider them the final part of your security improvements. Security is always a multi-layered thing; each layer alone is completely worthless. Anything in this world, not only computers, is as secure and strong as its weakest part ;)

Milad 12-09-2008 09:39 PM

vBulletin encrypts the password twice. md5 ( salt + md5 (password))


All times are GMT. The time now is 08:17 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01337 seconds
  • Memory Usage 1,751KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete