Thanks for share!

2009/8/15 Maximiliano Guzman <[email protected]>

> +1 Nice article. Thanks
>
>
> On Fri, Aug 14, 2009 at 12:05 PM, Alpha Blue <
> [email protected]> wrote:
>
>>
>> ================================
>> SSH Magic and Rails Development
>> ================================
>> (i) Security:
>>
>> Security is the most important piece when working with sandbox or
>> production platforms on your server.  I've learned this the hard way
>> actually when approx. 3 years ago, someone hacked my PHP site by going
>> through phpmyadmin remotely and adding a special admin account to
>> vbulletin where they setup and staged a phishing site from my very own
>> server.
>>
>> When I posed the question a few days ago of what to use to administrate
>> your database, I was reminded of the fact that all remote utilities that
>> access your site, if not properly secured, can make your sandbox and
>> production environments very vulnerable.
>>
>> SSH:
>>
>> SSH is one of the few local utilities you can use that, when properly
>> configured, is incredibly safe to administrate your site, and in a few
>> moments, I'll even show you how you can develop with it.
>>
>> How is SSH safe?
>>
>> First, you can setup what port you want to connect from and exclude all
>> other connecting ports.  So, if you setup your port on say, and this is
>> just an example, 24000, someone would have to know the port even to use
>> SSH.
>>
>> Secondly, you can add SSL certificates private/public to further limit
>> the connectivity to your site via SSH.  This means that a person wanting
>> to connect with SSH will not only have to know the port, the username,
>> the password, they would also have to have key paired certificates on
>> their machine that matched what was on your remote server.
>>
>> SSH Tunneling
>>
>> Tunneling from a secure SSH connection is much safer than accessing a
>> remote browser and working with your site.  Tunneling has various uses,
>> especially if you want to connect and administrate your database.
>>
>> Windows and Putty
>>
>> I work from a windows environment but I know that most of you already
>> know what SSH is and how to access whatever tool you wish to use to do
>> it with.  I like to use Putty when connecting securely through SSH on
>> both my sandbox/production platforms.
>>
>> Here are the steps to enable tunneling:
>>
>> 1.  Open putty, select your saved session and click Load.
>> 2.  In the far left pannel, under Connection, expand the section for
>> SSH.
>> 3.  Click Tunnels.
>> 4.  In the source port type 3306 (or whatever port your db is using)
>> 5.  In the destination type 127.0.0.1:3306
>> 6.  Click ADD.
>>
>> You will see L3306 127.0.0.1:3306, or something similar listed.
>>
>> 7.  Click Sessions in the left hand panel.
>> 8.  Save your session so it includes tunnels.
>> 9.  That's it.  Tunnels are now usable with putty.
>>
>> Administrating Your Database using SSH
>>
>> There's actually a few ways to do this.  Once you have putty open,
>> launched, and connected to your server, a tunnel is open between you and
>> your server securely.  You can open any local database administration
>> tool on your machine and if you enter in localhost port 3306 and type in
>> your database credentials, it will automatically connect through the
>> tunnel to your database.
>>
>> What tools can you use locally to do this with?
>>
>> 1.  MySQL Query Browser (if using mysql)
>> 2.  PG Admin (if using postgres)
>> 3.  PHPMyAdmin (if using wamp locally)
>>
>> Wait a second, did I just see you put up phpmyadmin?  I thought you said
>> it was unsecure?
>>
>> Well, not if you are using it locally.  My local computer has the
>> security equivallent of Fort Knox.  I'm not using a remote version of
>> phpmyadmin.  I'm using a local version of phpmyadmin with WAMP and have
>> no external broadcasting enabled.  In order for someone to access a
>> local phpmyadmin on my machine, they would have to be able to connect to
>> my machine.
>>
>> So, secure SSH and tunneling has allowed me to administrate the server
>> through an SSH console and also to administrate my database using any of
>> my favorite local utilities.  What else can it allow?
>>
>> Rails Development on Sandbox
>>
>> I use netbeans 6.7 (great features and works tremendously well when you
>> have a windows box - it works well with linux too).
>>
>> If I open up netbeans, because the SSH tunnel is open, when I start the
>> server for development, it will contact and utilize the development
>> database on the server my tunnel is open to.  So, if you have a sandbox
>> server for testing and you secure SSH tunnel to it, you can open up your
>> favorite development utility and connect straight to the development
>> database there.
>>
>> Summary
>>
>> SSH is fantastic.  Use it.  Learn about it.  Secure it.  When properly
>> configured, you can do a lot more things than you realize.
>> --
>> Posted via http://www.ruby-forum.com/.
>>
>>
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to