Skip to main content

Problems securing cPanel using ConfigServer Firewall suggestions...

Comments

15 comments

  • Spork Schivago
    I wonder if I could create the subdomain, whm.mydomain.com, and then redirect it to something like:
    /usr/local/cpanel/cgi-sys/swhmredirect.cgi
    From looking at the httpd.conf file, it seems that if someone goes to mydomain.com/securewhm, that's where they get redirected. Would that be possible? Thanks!
    0
  • cPanelMichael
    Hello :) You can simply enable the "Proxy Subdomains" feature in "WHM >> Tweak Settings". Setting them up manually is going to result in the same behavior as if you were to enable them through WHM. The security warning is to note that it makes it easier for a user to mask their identify by connecting only over port 80. Thank you.
    0
  • Spork Schivago
    Hello :) You can simply enable the "Proxy Subdomains" feature in "WHM >> Tweak Settings". Setting them up manually is going to result in the same behavior as if you were to enable them through WHM. The security warning is to note that it makes it easier for a user to mask their identity by connecting only over port 80. Thank you.

    Thank you cPanelMichael. I questioned whether it was really a security threat or not. Is there any chance you could just give me some basic steps on how to manually set it up without the proxy's though, so I don't see that nice pinkish / red warning in CSF? If it's too much trouble for you, I understand, and I'll just re-enable the Proxy Subdomain feature in WHM. I mean, if it's something where you have to give me 1,000 steps, don't worry about. If you decide to leave me instructions, you don't have to leave step-by-step ones. Just a brief idea of what I have to do. Ie, create various sub-domains or maybe setup virtual hosts using the vhost.local in the /var/cpanel/templates/apache2 directory. Thanks!
    0
  • cPanelMichael
    The following thread should help you get started: Custom Proxy Subdomain Thank you.
    0
  • Spork Schivago
    The following thread should help you get started: Custom Proxy Subdomain Thank you.

    So the only way to manually setup the whm.mydomain.com, cpanel.mydomain.com, etc, would be to manually setup the Proxy stuff? I was hoping there'd be a way to do it with removing the proxy stuff all together. If the only way is through the proxy stuff though, I'll just re-enable the option in the Tweak Settings
    0
  • cPanelMichael
    would be to manually setup the Proxy stuff

    Could you elaborate on what in particular you prefer to use to configure the proxy redirects? Thank you.
    0
  • Spork Schivago
    Could you elaborate on what in particular you prefer to use to configure the proxy redirects? Thank you.

    Sorry cPanelMichael. I'm very new to managing a server that's on the net. My understanding was I was getting the error message because those redirects were setup as a proxy. I thought there would be away to set them up without using the mod_proxy apache module all together. Like for example, maybe setting up, I think they're called subdomains. And having the subdomain, for example, whm.mydomain.com actually point to mydomain.com/whm or mydomain.com:. Then I wouldn't be using proxies at all. I think I just found my answer! I was googling to see if there was a way to use subdomains instead of proxy subdomains and I found this article:
    0
  • cPanelMichael
    Do I create some sort of security risk by creating those subdomains and not using the proxy subdomain redirects?

    It's acceptable to use the method suggested at the document you provided. The warning is to note that it won't allow visitors to access those services over port 80. Instead, visitors are redirected to the standard ports for the services. Thank you.
    0
  • Spork Schivago
    It's acceptable to use the method suggested at the document you provided. The warning is to note that it won't allow visitors to access those services over port 80. Instead, visitors are redirected to the standard ports for the services. Thank you.

    This is great cPanelMichael! That's exactly what I want to do! Now I just gotta figure out how to setup the subdomains so that they do that redirect stuff. I think I also need to create those dang DNS records. I really struggle with that stuff there! You've been a great helping answering all my questions and I really appreciate everything cPanelMichael! If I ever switch hosting companies and they don't provide cPanel / WHM, I'll be sure to purchase a copy! I'm also gonna spread the word around about how great you guys are, providing support, and how wonderfully easy your cPanel products making managing a website! Thank you!
    0
  • Spork Schivago
    cPanelMichael, I'm having issues. I got all the domain redirects working. I had trouble with three of them, webdisk, cpcalendars and cpcontacts. Turns out I needed to restart the cpsrvd daemon and then they worked fine. For some reason, they were showing up as using the old self signed cert, not the one I created from Let's Encrypt. That's fixed now.
    When I go to example.com and www.example.com, I get the message that this website isn't configured properly, etc. But when I go to the secured version, https://example.com and https://www.example.com, it loads the index.php script, as expected.
    Any ideas what's going on there and why it's not properly loading the index.php for non-encrypted traffic? What'd I'd really like to do is automatically redirect any http visitors to the SSL https web pages. I had this working, by editing the /var/cpanel/templates/apache2/vhost.local file and adding:
    Redirect permanent / https://[% wildcard_safe(vhost.servername) %]/
    This broke the subdomain redirects though so i had to remove it. Gotta figure out how to safely redirect everyone to https sites without it messing up the subdomain stuff. Thanks!
    0
  • Spork Schivago
    I think I found a work-around. I used a rewrite rule in an .htaccess file in the document root. Not the best solution, but at least it redirects them to the SSL stuff now.
    0
  • Infopro
    Enabling the proxy subdomains would be a lot less work to maintain don't you think?
    0
  • Spork Schivago
    Enabling the proxy subdomains would be a lot less work to maintain don't you think?

    How so? I mean I got the subdomain redirects setup now, so if I'm understanding everything right, I believe this means when I renew my SSL certs, I don't have to shutdown Apache, run letsencrypt-auto, restart Apache. I generate my own certs using Let's Encrypt. I had generated ones for stuff like whm.mydomain.com, webmail.mydomain.com, etc. But the way Let's Encrypt works, in order to generate a cert, it creates a directory on DocumentRoot called something like .well-known and inside that directory, a directory called acme-challenge or something along those lines. Then it puts a file there and tries going to whatever domains / subdomains I put down. Like whm.mydomain.com/.well-known/acme-challenge/secret_file. With the proxy's enabled, whenever Let's Encrypt tried going to the .well-known directory, it never worked. So the only way to do it was to use the stand-alone plugin, shutdown Apache, run letsencrypt-auto with the standalone installer, restart Apache. Now though, because I have subdomain redirects, if I'm not mistake, all I have to do is create one SSL cert for my main domain, and it should work for all the sub-domains as well, because they're just redirects. That means I shouldn't have to shutdown anything and can just use the normal webroot plugin. Unless I'm missing something. I mean, is there more work that I have to do that I don't know about? I really appreciate all the help and I'm sure you know more about this stuff than I do, so thanks for sharing and please let me know what work you're referring to...thanks!
    0
  • cPanelMichael
    I think I found a work-around. I used a rewrite rule in an .htaccess file in the document root. Not the best solution, but at least it redirects them to the SSL stuff now.

    I'm happy to see you were able to find a viable workaround. Thank you for updating us with the outcome.
    0
  • Spork Schivago
    As it turns out, the reason the reason the web pages weren't loading properly was because Chrome seems to ignore the meta-tags for cache control. The only solution I could find was to add this either to .htaccess per documentroot or in httpd.conf for a global solution. I'm just posting here in case anyone else runs into a similar problem.
    Header unset ETag Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" Header set Pragma "no-cache" Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
    It disables cache for all files. It can be customized a bit so things like pictures still get cached. At least now when I make a change, it gets updated as soon as I refresh the page. Thanks!
    0

Please sign in to leave a comment.