Security

From AAGRINDER wiki
Revision as of 20:33, 12 October 2019 by imported>Maze (→‎Authorization)
Jump to navigationJump to search

This page describes the current status of security and privacy in AAGRINDER.

Security

Authentication

In AAGRINDER, players authenticate with their passwords. The password is chosen when the account is created and needs to be at least 1 character long. The password may contain any characters.

The password is transmitted to the server in plaintext. However, if you are using a https connection, this transmission will be encrypted.

On the server, the password is hashed and salted using bcryptjs and then saved in a MySQL database. The relevant part of the code can be found here. The plaintext password does not persist in memory on neither the client or the server.

There is currently no functionality for changing an account's password. If you want your password changed, you should contact the server administrator to reset your account (progress in the game will not be lost).

There is an alternative mode called Running in insecure mode which can be enabled by toggling a server setting. We call it "insecure" to decrease the confusion between the similar words "authentication" and "authorization". If enabled, passwords will be completely ignored at login, and the client will not prompt the user for password.

Authorization

This section describes the additional privileges that may be granted to specific users at login.

Admin commands

Among the in-game commands that get executed on the server, some are in the group of admin commands, which prevents users from accessing these commands unless they have the admin role. The names of users with the admin role are specified in the admins.txt file in the server directory. This file needs to be edited manually.

Sudo commands

Disable authorization