-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Security el GR
ASF currently supports the following encryption methods as a definition of ECryptoMethod
:
Τιμή | Όνομα |
---|---|
0 | ΑπλόΚείμενο |
1 | AES |
2 | ProtectedDataForCurrentUser |
3 | EnvironmentVariable |
4 | Αρχείο |
Η ακριβής περιγραφή και σύγκριση αυτών είναι διαθέσιμη παρακάτω.
Για τη δημιουργία κρυπτογραφημένου κωδικού πρόσβασης, π.χ. για χρήση SteamPassword
, θα πρέπει να εκτελέσετε κρυπτογράφηση
εντολή με την κατάλληλη κρυπτογράφηση που επιλέξατε και τον αρχικό κωδικό απλού κειμένου. Κατόπιν, βάλτε την κρυπτογραφημένη συμβολοσειρά που έχετε ως SteamPassword
bot config property, και τελικά άλλαξε το PasswordFormat
σε αυτό που ταιριάζει με την επιλεγμένη μέθοδο κρυπτογράφησης. Μερικές μορφές δεν απαιτούν εντολή κρυπτογράφησης
, για παράδειγμα EnvironmentVariable
ή File
, απλά βάλτε την κατάλληλη διαδρομή γι 'αυτούς.
Αυτός είναι ο πιο απλός και ανασφαλής τρόπος αποθήκευσης ενός κωδικού πρόσβασης, που ορίζεται ως ECryptoMethod
του 0
. Το ASF αναμένει ότι η συμβολοσειρά θα είναι ένα απλό κείμενο - ένας κωδικός πρόσβασης στην άμεση μορφή του. Είναι το πιο εύκολο στη χρήση, και 100% συμβατό με όλες τις ρυθμίσεις, ως εκ τούτου είναι ένας προεπιλεγμένος τρόπος αποθήκευσης μυστικών, εντελώς ανασφαλής για ασφαλή αποθήκευση.
Θεωρείται ασφαλής από τα σημερινά πρότυπα, AES τρόπος αποθήκευσης του κωδικού πρόσβασης ορίζεται ως ECryptoMethod
του 1
. Το ASF αναμένει ότι η συμβολοσειρά θα είναι μια βάση με βάση το 64-κωδικοποιημένο ακολουθία χαρακτήρων που θα οδηγήσει σε συστοιχία byte με κρυπτογράφηση AES μετά τη μετάφραση, που τότε θα πρέπει να αποκρυπτογραφηθεί χρησιμοποιώντας το διάνυσμα αρχικοποίησης και το κλειδί κρυπτογράφησης ASF.
Η παραπάνω μέθοδος εγγυάται την ασφάλεια εφόσον ο εισβολέας δεν γνωρίζει το κλειδί κρυπτογράφησης ASF το οποίο χρησιμοποιείται για αποκρυπτογράφηση, καθώς και κρυπτογράφηση των κωδικών πρόσβασης. ASF σας επιτρέπει να καθορίσετε το κλειδί μέσω --cryptkey
παράμετρο γραμμής εντολών, το οποίο θα πρέπει να χρησιμοποιήσετε για μέγιστη ασφάλεια. Αν αποφασίσετε να το παραλείψετε, το ASF θα χρησιμοποιήσει το δικό του κλειδί που είναι γνωστό και κωδικοποιημένο στην εφαρμογή, που σημαίνει ότι οποιοσδήποτε μπορεί να αντιστρέψει την κρυπτογράφηση ASF και να πάρει αποκρυπτογραφημένο κωδικό πρόσβασης. Εξακολουθεί να απαιτεί κάποια προσπάθεια και δεν είναι τόσο εύκολο να γίνει, αλλά εφικτό, Αυτός είναι ο λόγος για τον οποίο θα πρέπει σχεδόν πάντα να χρησιμοποιείτε κρυπτογράφηση AES
με το δικό σας --cryptkey
το οποίο διατηρείται μυστικό. Η μέθοδος AES που χρησιμοποιείται στο ASF παρέχει ασφάλεια που θα πρέπει να ικανοποιεί και είναι μια ισορροπία μεταξύ της απλότητας του PlainText
και της πολυπλοκότητας του ProtectedDataForCurrentUser
, αλλά συνιστάται ιδιαίτερα να το χρησιμοποιήσετε με προσαρμοσμένο --cryptkey
. Εάν χρησιμοποιηθεί σωστά, εγγυάται αξιοπρεπή ασφάλεια για ασφαλή αποθήκευση.
Επί του παρόντος, ο πιο ασφαλής τρόπος κρυπτογράφησης του κωδικού πρόσβασης που προσφέρει το ASF, και πολύ ασφαλέστερο από τη μέθοδο AES
που εξηγείται παραπάνω, ορίζεται ως ECryptoΜέθοδος
του 2
. Το μεγαλύτερο πλεονέκτημα αυτής της μεθόδου είναι ταυτόχρονα το μεγαλύτερο μειονέκτημα - αντί να χρησιμοποιείτε κλειδί κρυπτογράφησης (όπως στο AES
), τα δεδομένα είναι κρυπτογραφημένα χρησιμοποιώντας τα διαπιστευτήρια σύνδεσης του παρόντος συνδεδεμένου χρήστη, που σημαίνει ότι είναι δυνατή η αποκρυπτογράφηση των δεδομένων μόνο στο μηχάνημα στο οποίο κρυπτογραφήθηκε, και εκτός από αυτό, μόνο από τον χρήστη που εξέδωσε την κρυπτογράφηση. This ensures that even if you send your entire Bot.json
with encrypted SteamPassword
using this method to somebody else, he will not be able to decrypt the password without direct access to your PC. Αυτό είναι ένα εξαιρετικό μέτρο ασφαλείας, αλλά ταυτόχρονα έχει ένα μεγάλο μειονέκτημα ότι είναι λιγότερο συμβατό, καθώς ο κωδικός πρόσβασης που κρυπτογραφείται με αυτή τη μέθοδο θα είναι ασύμβατος με οποιονδήποτε άλλο χρήστη καθώς και με το μηχάνημα - συμπεριλαμβανομένου του δικού σας αν αποφασίσετε να ε. . επανεγκαταστήστε το λειτουργικό σας σύστημα. Ακόμα, είναι μια από τις καλύτερες μεθόδους αποθήκευσης κωδικών πρόσβασης και αν ανησυχείτε για την ασφάλεια του PlainText
, και δεν θέλουν να βάλουν κωδικό κάθε φορά, τότε αυτό είναι το καλύτερο στοίχημά σας αρκεί να μην χρειάζεται να έχετε πρόσβαση στις ρυθμίσεις σας από οποιοδήποτε άλλο μηχάνημα από το δικό σας.
Παρακαλείστε να σημειώσετε ότι αυτή η επιλογή είναι διαθέσιμη μόνο για μηχανές που χρησιμοποιούν λειτουργικό σύστημα Windows από τώρα.
Αποθήκευση βασισμένη σε μνήμη, ορίζεται ως ECryptoMethod
του 3
. Το ASF θα διαβάσει τον κωδικό πρόσβασης από τη μεταβλητή περιβάλλοντος με το συγκεκριμένο όνομα που καθορίζεται στο πεδίο του κωδικού πρόσβασης (π.χ. SteamPassword
). Για παράδειγμα, ρύθμιση SteamPassword
σε ASF_PASSWORD_MYACCOUNT
και PasswordFormat
σε 3
θα προκαλέσει το ASF να αξιολογήσει τη μεταβλητή περιβάλλοντος ${ASF_PASSWORD_MYACCOUNT}
και να χρησιμοποιήσει ό, τι έχει οριστεί ως κωδικός πρόσβασης λογαριασμού.
Η αποθήκευση με βάση το αρχείο (πιθανώς εκτός του καταλόγου ρυθμίσεων ASF) ορίζεται ως ECryptoMethod
του 4
. Το ASF θα διαβάσει τον κωδικό πρόσβασης από τη διαδρομή αρχείου που καθορίζεται στο πεδίο κωδικού πρόσβασης (π.χ. SteamPassword
). Η καθορισμένη διαδρομή μπορεί να είναι είτε απόλυτη, είτε σε σχέση με την τοποθεσία "σπίτι" του ASF (ο φάκελος με τον κατάλογο config
μέσα, λαμβάνοντας υπόψη το --path
όρισμα γραμμής εντολών). Αυτή η μέθοδος μπορεί να χρησιμοποιηθεί για παράδειγμα με μυστικά Docker, που δημιουργούν τέτοια αρχεία για τη χρήση, αλλά μπορούν επίσης να χρησιμοποιηθούν έξω από το Docker αν δημιουργήσετε το κατάλληλο αρχείο μόνοι σας. Για παράδειγμα, ρύθμιση SteamPassword
σε /etc/secrets/MyAccount. ass
και PasswordFormat
to 4
θα προκαλέσει το ASF να διαβάσει /etc/secrets/MyAccount. ass
και να χρησιμοποιήσετε ό, τι είναι γραμμένο σε αυτό το αρχείο ως τον κωδικό πρόσβασης λογαριασμού.
Θυμηθείτε να βεβαιωθείτε ότι το αρχείο που περιέχει τον κωδικό πρόσβασης δεν είναι αναγνώσιμο από μη εξουσιοδοτημένους χρήστες, καθώς αυτό καταπολεμά ολόκληρο το σκοπό της χρήσης αυτής της μεθόδου.
Εάν η συμβατότητα δεν είναι πρόβλημα για εσάς, και είστε εντάξει με τον τρόπο που λειτουργεί η μέθοδος ProtectedDataForCurrentUser
, είναι η επιλογή που προτείνεται για την αποθήκευση του κωδικού πρόσβασης στο ASF, καθώς παρέχει την καλύτερη ασφάλεια. AES
μέθοδος είναι μια καλή επιλογή για τους ανθρώπους που εξακολουθούν να θέλουν να κάνουν χρήση των ρυθμίσεων τους σε οποιαδήποτε μηχανή θέλουν, ενώ το PlainText
είναι ο πιο απλός τρόπος αποθήκευσης του κωδικού πρόσβασης, αν δεν σας πειράζει ότι κάποιος μπορεί να αναζητήσει σε JSON αρχείο ρύθμισης παραμέτρων γι 'αυτό.
Please keep in mind that all of those 3 methods are considered insecure if attacker has access to your PC. Το ASF πρέπει να είναι σε θέση να αποκρυπτογραφήσει τους κρυπτογραφημένους κωδικούς πρόσβασης, και αν το πρόγραμμα που εκτελείται στο μηχάνημά σας είναι σε θέση να το κάνει, τότε οποιοδήποτε άλλο πρόγραμμα που τρέχει στην ίδια μηχανή θα είναι σε θέση να το κάνει, πάρα πολύ. ProtectedDataForCurrentUser
είναι η πιο ασφαλής παραλλαγή όπως το ακόμη και άλλοι χρήστες που χρησιμοποιούν τον ίδιο υπολογιστή δεν θα είναι σε θέση να το αποκρυπτογραφήσουν, αλλά είναι ακόμα δυνατό να αποκρυπτογραφήσετε τα δεδομένα αν κάποιος είναι σε θέση να κλέψει τα διαπιστευτήρια σύνδεσης και τις πληροφορίες του μηχανήματος, εκτός από το αρχείο ρύθμισης ASF.
Για προηγμένες ρυθμίσεις, μπορείτε να χρησιμοποιήσετε EnvironmentVariable
και File
. Έχουν περιορισμένη χρηστικότητα, το EnvironmentVariable
θα είναι μια καλή ιδέα αν προτιμάτε να αποκτήσετε κωδικό πρόσβασης μέσω κάποιου είδους προσαρμοσμένης λύσης και να το αποθηκεύσετε στη μνήμη αποκλειστικά, ενώ το File
είναι καλό για παράδειγμα με το μυστικά Docker. Και οι δύο είναι χωρίς κρυπτογράφηση, ωστόσο, έτσι ώστε να μετακινήσετε βασικά τον κίνδυνο από το αρχείο ρύθμισης ASF σε ό, τι επιλέγετε από αυτά τα δύο.
Εκτός από τις μεθόδους κρυπτογράφησης που καθορίζονται παραπάνω, είναι επίσης δυνατό να αποφευχθεί ο πλήρης καθορισμός κωδικών, για παράδειγμα ως SteamPassword
χρησιμοποιώντας μια κενή συμβολοσειρά ή null τιμή
. Το ASF θα σας ζητήσει τον κωδικό σας όταν απαιτείται, και δεν θα το αποθηκεύσετε οπουδήποτε, αλλά θα κρατήσετε στη μνήμη της τρέχουσας εκτελούμενης διαδικασίας, μέχρι να το κλείσετε. Ενώ είναι η πιο ασφαλής μέθοδος αντιμετώπισης των κωδικών πρόσβασης (δεν έχουν αποθηκευτεί πουθενά), είναι επίσης το πιο ενοχλητικό καθώς πρέπει να εισάγετε τον κωδικό πρόσβασής σας χειροκίνητα σε κάθε εκτέλεση ASF (όταν απαιτείται). Αν αυτό δεν είναι ένα πρόβλημα για σας, αυτό είναι καλύτερο στοίχημα ασφάλεια-σοφά σας.
Το ASF δεν υποστηρίζει κανένα τρόπο αποκρυπτογράφησης των ήδη κρυπτογραφημένων κωδικών πρόσβασης, καθώς οι μέθοδοι αποκρυπτογράφησης χρησιμοποιούνται μόνο εσωτερικά για την πρόσβαση των δεδομένων στο εσωτερικό της διεργασίας. Αν θέλετε να επαναφέρετε τη διαδικασία κρυπτογράφησης, π.χ. για τη μετακίνηση του ASF σε άλλο μηχάνημα όταν χρησιμοποιείτε ProtectedDataForCurrentUser
, απλά επαναλάβετε τη διαδικασία από την αρχή στο νέο περιβάλλον.
Το ASF υποστηρίζει επί του παρόντος τις ακόλουθες μεθόδους κατακερματισμού ως ορισμό της μεθόδου EHashingMethod
:
Τιμή | Όνομα |
---|---|
0 | ΑπλόΚείμενο |
1 | Κρυπτογράφηση |
2 | Pbkdf2 |
Η ακριβής περιγραφή και σύγκριση αυτών είναι διαθέσιμη παρακάτω.
Για να δημιουργηθεί μια έκταση, π.χ. για χρήση IPCPassword
, θα πρέπει να εκτελέσετε hash
εντολή με την κατάλληλη μέθοδο κατακερματισμού που επιλέξατε και τον αρχικό κωδικό απλού κειμένου. Κατόπιν, βάλτε το hashed string που έχετε ως IPCPassword
ASF config property, και τελικά αλλάξτε το IPCPasswordFormat
σε αυτό που ταιριάζει με την επιλεγμένη μέθοδο κατακερματισμού σας.
Αυτός είναι ο πιο απλός και ανασφαλής τρόπος κατακερματισμού ενός κωδικού πρόσβασης, που ορίζεται ως EHashingMethod
του 0
. Το ASF θα δημιουργήσει hash που ταιριάζει με την αρχική είσοδο. Είναι το πιο εύκολο στη χρήση, και 100% συμβατό με όλες τις ρυθμίσεις, ως εκ τούτου είναι ένας προεπιλεγμένος τρόπος αποθήκευσης μυστικών, εντελώς ανασφαλής για ασφαλή αποθήκευση.
Θεωρείται ασφαλής από τα σημερινά πρότυπα, SCrypt τρόπος κατακερματισμού του κωδικού πρόσβασης ορίζεται ως EHashingMethod
του 1
. Το ASF θα χρησιμοποιήσει την εφαρμογή SCrypt
χρησιμοποιώντας μπλοκ 8
, 8192
επαναλήψεις, 32
μήκος κατακερματισμού και κλειδί κρυπτογράφησης ως άλας για τη δημιουργία της σειράς bytes. The resulting bytes will then be encoded as base64 string.
Το ASF σας επιτρέπει να καθορίσετε το αλάτι για αυτή τη μέθοδο μέσω της παράστασης --cryptkey
γραμμής εντολών, που θα πρέπει να χρησιμοποιήσετε για μέγιστη ασφάλεια. Αν αποφασίσετε να το παραλείψετε, το ASF θα χρησιμοποιήσει το δικό του κλειδί που είναι γνωστό και κωδικοποιημένο στην εφαρμογή, σημαίνει ότι το hashing θα είναι λιγότερο ασφαλές. Εάν χρησιμοποιηθεί σωστά, εγγυάται αξιοπρεπή ασφάλεια για ασφαλή αποθήκευση.
Θεωρείται αδύναμος από τα σημερινά πρότυπα, Pbkdf2 ο τρόπος κατακερματισμού του κωδικού πρόσβασης ορίζεται ως EHashingMethod
του 2
. Το ASF θα χρησιμοποιήσει την εφαρμογή Pbkdf2
χρησιμοποιώντας επαναλήψεις 10000
, 32
μήκος κατακερματισμού και κλειδί κρυπτογράφησης ως αλάτι, με SHA-256
ως αλγόριθμο hmac για τη δημιουργία του πίνακα bytes. The resulting bytes will then be encoded as base64 string.
Το ASF σας επιτρέπει να καθορίσετε το αλάτι για αυτή τη μέθοδο μέσω της παράστασης --cryptkey
γραμμής εντολών, που θα πρέπει να χρησιμοποιήσετε για μέγιστη ασφάλεια. Αν αποφασίσετε να το παραλείψετε, το ASF θα χρησιμοποιήσει το δικό του κλειδί που είναι γνωστό και κωδικοποιημένο στην εφαρμογή, σημαίνει ότι το hashing θα είναι λιγότερο ασφαλές.
Αν θέλετε να χρησιμοποιήσετε μια μέθοδο κατακερματισμού για την αποθήκευση ορισμένων μυστικών, όπως το IPCPassword
, συνιστούμε να χρησιμοποιήσετε το SCrypt
με προσαρμοσμένο αλάτι, καθώς παρέχει μια πολύ αξιοπρεπή ασφάλεια κατά των ωμοτομών προσπαθειών. Pbkdf2
προσφέρεται μόνο για λόγους συμβατότητας, κυρίως επειδή έχουμε ήδη μια λειτουργική (και απαραίτητη) εφαρμογή της για άλλες περιπτώσεις χρήσης σε όλη την πλατφόρμα Steam (π. χ. . καρφίτσες γονέων). Εξακολουθεί να θεωρείται ασφαλής, αλλά αδύναμη σε σύγκριση με εναλλακτικές λύσεις (π.χ. SCrypt
.
![]() |
![]() |
![]() |
![]() |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
---|---|---|---|
- 🏡 Αρχική
- 🔧 Παραμετροποίηση
- 💬 Συχνές Ερωτήσεις
- ⚙️ Ρύθμιση (ξεκινήστε εδώ)
- 👥 Εξαργύρωση παιχνιδιών παρασκηνίου
- 📢 Εντολές
- 🛠️ Συμβατότητα
- 🧩 ItemsMatcherPlugin
- 📋 Διαχείριση
- ⏱️ Επιδόσεις
- 📡 Απομακρυσμένη επικοινωνία
- 👪 Κοινή χρήση Steam με την οικογένεια
- 🔄 Ανταλλαγές