SMTP beállítások lementése biztonságosan?
Adott egy C# alkalmazás, amely SMTP-t használ. Meg lehet adni magában a forráskódban a címet, portot, felhasználót, jelszót. Viszont így mindig csak akkor lehet módosítani, hogyha a kódba átírjuk és újra fordítjuk és több felhasználó sem tudna sajátokat megadni.
Adatbázisba tárolni nem lehet, hiszen a jelszót titkosítani kéne, ha a jelszót titkosítom, akkor újra és újra meg kéne adni a jelszót minden egyes alkalommal. Ha csinálok egy beállítási lehetsőget, hogy megadhassa, akkor azt is minden bezárással újra és újra be kell írni, hiszen magában a forráskódban már nem tud tárolódni. Csak addig amíg a szoftver aktív, de akkor is a memóriában van bent.
Milyen módon lehetne ezeket tárolni, hogy minden egyes megnyitás után a korábbi beállítások megmaradjanak?
(Szerveren lehetne azt tudom, de szerver nélkül?). Esetleg helyi gépen a szoftver mellett valamilyen állományban vagy valamerre?
Úgy látom gondolkodás nélkül ide böktél valamit, amit már a kérdésben is leírtam, hogy nem jó. Másrészt amúgy se titkosítanék ezzel az eljárással. Vannak jobbak....
Szóval tegyül fel beírja valaki a jelszót egyszer, én azt letitkosítom és ugyebár a standard eljárással titkosítva eltárolom az adatbázisba a salt-al együtt. Na oké. De, hogy marad meg a programban mentve a jelszó, ha kilép? Hiszen, ha legközelebb visszalép a szoftver nem tudja beírni a jelszót, hiszen akkor vissza kellene fejteni a titkosítást, amit ugyebár nem lehet ... Ez csak úgy működik, hogyha minden egyes alkalommal megadja az SMPT jelszót ... azt letitkosítja megint hozzá veszi a salt-ot és összehasonlítja, ha egyezik akkor valid.... De, ahogy írtam nekem olyan biztonságos tárolási mód kell, ahova nem kell beírkálni minden egyes alkalommal a jelszót.
Registry-ben eltárolod titkosítva, de a titkosító algoritmust elrejted a programkódban, így csak az fogja tudni, aki ismeri a program forrását is.
Ha linux, akkor pedig ugyanez, csak registry helyett benyomod egy konfigurációs fájlba.
Megjegyzem mezei titkosító algoritmus, sőt plain text is elegendő lehet akár, ha a konfigurációt nem osztod meg a világgal (777).
Biztonságos megközelítés: Registry, Regndszer környezeti változó.
Kódba és projekt alapú "environment"-be szenzitív adatot ne tegyünk.
- 1) Git alapján visszakereshető, ha netán pl. opensource lesz, így a kódba égetni sem javasolt
- 2) Lehet, hogy több példányban is fog futni, így más-más adatra van szükség, azaz projekt "prod" environment kilőve.
Bár én az: adatbázisok, smtp és hasonló paraméterezéseit indításnál adom meg. Mondjuk Java-zni szoktam, így JVM paramétereket szoktam megadni:
pl.: java -jar -Dspring.db.user=user -Dspring.db.password=password ServerApp.jar
(ez egy megoldás)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!