Author

Topic: Please stop using rpcallowip=* in your Configuration Examples (Read 7167 times)

legendary
Activity: 1064
Merit: 1000
While you are at it maybe for people who set up exchanges on shared hosting all the ancient GCI-script etc advices saying to use chmod 777 could also be worth warning against...

-MarkM-


Yes, I have seen a bit of that also. I would also think those who have set up services would have more knowledge then the average newbie trying to set up a wallet.

Especially cringe worthy to me are coin service providers that use phpMyAdmin to manage databases on services that handle users coins. I admit to using it on coin explorers, mostly the server with the CCE3 test explorers, but never on any of my sites that handle other peoples coins (My pools). The command line console for mysql is not that hard to learn and use and MANY times more secure then phpMyAdmin.
Call me old fashioned, but I want as few ports and exposure to the Internet as possible when handling other peoples assets.
legendary
Activity: 2940
Merit: 1090
The loopback address ( 127.0.0.1 aka localhost ) works without needing special mention in the config file or commandline args.

Which of course is yet another reason not to run on a shared machine.

-MarkM-
member
Activity: 82
Merit: 10
Your help would be very appreciated
newbie
Activity: 11
Merit: 0
thank you for the info. So we don't even need rpcallowip= ?
With the user name and pass, do you create that yourself and make sure it matches the .conf?
Or do we use the shortcut target "-server" method for all coins?
sr. member
Activity: 277
Merit: 250
Thank you for your reminding  Smiley
legendary
Activity: 2940
Merit: 1090
While you are at it maybe for people who set up exchanges on shared hosting all the ancient GCI-script etc advices saying to use chmod 777 could also be worth warning against...

-MarkM-
o24
newbie
Activity: 42
Merit: 0
Thanks for the information
legendary
Activity: 1064
Merit: 1000
I have been noticing a trend of really bad configuration file examples lately. While most are harmless, one parameter poses a large security risk to the user.

Code:
rpcallowip=*

1. rpcallowip is only needed in special situations where one wants to allow the client/daemon to accept RPC connections outside the localhost. Generally solo miners who want to point their rigs to a single daemon on the network.

2. rpcallowip=*  tells the client/daemon to accept RPC connections from anybody-anywhere. If the rpcallowip setting is needed, restrict it to a certain IP address or network. For example:
Code:
rpcallowip=192.168.1.*

This will restrict connections to hosts 192.168.1.0 - 192.168.1.255(The typical private subnet used on home networks)

Other oddballs:

Code:
rpcport= or port=
Unless you need to change the RPC or P2P port from the default in the client/daemon, there is no need for this.
Code:
daemon=1 or listen=1
Any of these extra settings are not needed and they are on by default or in the case of daemon=1 normally passed as a command line option as it only effects the non gui command line daemon.


A typical user configuration file only needs:

Code:
server=1
This is even optional as it sets the QT client to accept RPC commands, but harmless if set and not used. Some QT clients need this to use the RPC console in the debug menu.

Code:
rpcuser=
Required for the most part

Code:
rpcpassword=
 Required for the most part.



Other useful parameters:

Code:
addnode=
 This gives the client/daemon a node to try every time it starts. Useful for new coins with no seed nodes hard coded in the source, or new coins with few nodes.

Code:
txindex=1
 This tells the client/daemon to build a full transaction index and allow one to retrieve non-wallet transactions typically through the "getrawtransaction 1" command. If added after the client has already started building or has built the block chain database, the switch "-reindex" will need to be used one time after the parameter has been added.




Jump to: