<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="135615" data-post-id="135615">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="OvermindDL1" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/OvermindDL1/120/2677_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  OvermindDL1
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="wolfiton" data-post="8" data-topic="23844">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/wolfiton/48/15884_2.png" class="avatar"> wolfiton:</div>
<blockquote>
<p>After searching a bit more on the Internet it appears that a <strong>table with unique salts combined with passwords</strong> can make an attacker’s life a bit harder.</p>
</blockquote>
</aside>
<p>A bit but not too much, with how sharded out you can do most hash functions, this is why bcrypt/argon2 is so much better.</p>
<aside class="quote no-group" data-username="wolfiton" data-post="8" data-topic="23844">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/wolfiton/48/15884_2.png" class="avatar"> wolfiton:</div>
<blockquote>
<p>Also a <strong>rate limiter</strong> may determine the <strong>hacker</strong> or in most cases <strong>the bot</strong> (automated attack server) to move on to easier targets.</p>
</blockquote>
</aside>
<p>Only for querying via the server, but that will be so slow even without rate limiting to be near worthless.  What will be done is to get a dump of the database, that is why every leak is via one of those.</p>
<aside class="quote no-group" data-username="wolfiton" data-post="8" data-topic="23844">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/wolfiton/48/15884_2.png" class="avatar"> wolfiton:</div>
<blockquote>
<p>If you like to review the info you can read it here from the <strong>Kaspersky blog</strong> <a href="https://www.kaspersky.com/resource-center/definitions/brute-force-attack" rel="noopener nofollow ugc">What is a brute force attack?</a></p>
</blockquote>
</aside>
<p>Seems accurate.</p>
<aside class="quote no-group" data-username="dimitarvp" data-post="9" data-topic="23844">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>This <em>may</em> be factually correct but it also centralizes authentication and gives the providers access to literally billions of social graphs.</p>
<p>This is not okay. Providers like Facebook and Google have a very poor track record of reusing such information to relentlessly chase you around with ads.</p>
</blockquote>
</aside>
<p>True, this is why original OpenID was so nice (and I strive to support it on a few things I build), that way people host their own authentication on whatever domain they themselves control.</p>
<aside class="quote no-group" data-username="dimitarvp" data-post="9" data-topic="23844">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>I like OAuth like everybody else due to it making the lives of users easier but let’s not pretend that centralisation of credentials is an innocent issue, especially when handed to corporations.</p>
</blockquote>
</aside>
<p>Yet, being honest, these corporations are the most likely ones to get the security right.</p>
<aside class="quote no-group" data-username="dimitarvp" data-post="9" data-topic="23844">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>In the meantime, a lot of libraries provide pretty okay security: CORS, form tokens, Argon / Bcrypt / Scrypt with hashes, salts and peppers, cookies expiring in 1 hour, etc.</p>
</blockquote>
</aside>
<p>Which works fine until they get access to the server anyway, which is the number one reason all those leaks happen.  Even with a fully bcrypt/argon2 hashed database (those have built-in unique salts) they can just add their own code to log the HTTP requests for example, passwords and all, and people have a surprising tendency to not notice those things for <em>years</em>.</p>
<aside class="quote no-group" data-username="dimitarvp" data-post="9" data-topic="23844">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>Let’s face the facts: if you use a modern library, you are <em>very</em> reasonably secure unless a state actor or spy agency targets you… In which case you are royally screwed anyhow.</p>
</blockquote>
</aside>
<p>Secure in that stuff sure, but you’d be surprised at how often those routes <em>aren’t</em> the cause of leaks.</p>
<aside class="quote no-group" data-username="danschultzer" data-post="10" data-topic="23844">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/danschultzer/48/4942_2.png" class="avatar"> danschultzer:</div>
<blockquote>
<p>You’ll remove that responsibility by using a third party with OIDC. I think a better alternative may be <a href="https://webauthn.guide" rel="noopener nofollow ugc">WebAuthn</a> that can forego passwords, and prevent phishing. I hope to <a href="https://github.com/danschultzer/pow/issues/6" rel="noopener nofollow ugc">implement it in Pow</a> at some point.</p>
</blockquote>
</aside>
<p>WebAuthn will be a huge help, if implemented well!</p>
<aside class="quote no-group" data-username="danschultzer" data-post="10" data-topic="23844">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/danschultzer/48/4942_2.png" class="avatar"> danschultzer:</div>
<blockquote>
<p>First rule of security is to never roll your own.</p>
</blockquote>
</aside>
<p>This is the Golden Rule of authentication.  Everyone gets it wrong, it’s just a matter of who gets it least wrong.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="135615" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/password-hacking-how-to-prevent/23844/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-135615" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="135615"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="135618" data-post-id="135618">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="wolfiton" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/wolfiton/120/15884_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  wolfiton
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Also this may be a new player to help with user identity <a href="https://sovrin.org" rel="noopener nofollow ugc">https://sovrin.org</a></p>
<p>Although it’s extremely risky to store your personal data in someone else’s server and trust them to keep you protected.</p>
<p>Has anyone used similar services based on blockchain?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="135618" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/password-hacking-how-to-prevent/23844/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-135618" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="135618"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="135620" data-post-id="135620">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="danschultzer" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/danschultzer/120/4942_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  danschultzer
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Pow Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>It’s a different problem they try to solve. Their focus is on KYC (e.g. for banks), not authentication.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="135620" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/password-hacking-how-to-prevent/23844/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-135620" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="135620"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="135624" data-post-id="135624">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dimitarvp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/120/38664_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dimitarvp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="OvermindDL1" data-post="12" data-topic="23844">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/overminddl1/48/2677_2.png" class="avatar"> OvermindDL1:</div>
<blockquote>
<p>Yet, being honest, these corporations are the most likely ones to get the security right.</p>
</blockquote>
</aside>
<p>That’s unequivocally true. Still, I’d prefer being 85% secure and anonymous (anonymity itself is a pretty powerful shield!) as opposed to 99.9% secure and my personal data harvested and used against me – as is the case with personally-identifiable information since forever.</p>
<aside class="quote no-group" data-username="OvermindDL1" data-post="12" data-topic="23844">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/overminddl1/48/2677_2.png" class="avatar"> OvermindDL1:</div>
<blockquote>
<p>Which works fine until they get access to the server anyway</p>
</blockquote>
</aside>
<p>True. At this point all bets are off, really.</p>
<aside class="quote no-group" data-username="OvermindDL1" data-post="12" data-topic="23844">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/overminddl1/48/2677_2.png" class="avatar"> OvermindDL1:</div>
<blockquote>
<p>Secure in that stuff sure, but you’d be surprised at how often those routes <em>aren’t</em> the cause of leaks.</p>
</blockquote>
</aside>
<p>Oh I know. Phishing remains <span class="hashtag-raw">#1</span> cause of account takeovers, be it normal emails or social profiles or sysadmin root password vaults. Zero-days are <span class="hashtag-raw">#2</span>. I believe <a class="mention" href="/u/wolfiton" rel="nofollow">@wolfiton</a> is concerned about the wrong thing – brute forces only worked for a few years back in the dial-up modem days with amateur-level authentication gateways. Brute-forcing of passwords hasn’t worked well in decades.</p>
<p>IMO hardening your HTTP listener and sanitising your user input are your best bets when you manage an app server by yourself. That’s one of the value propositions of the clouds: good luck hacking or DDoS-ing CloudFlare!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="135624" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/password-hacking-how-to-prevent/23844/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-135624" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="135624"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="135629" data-post-id="135629">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="wolfiton" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/wolfiton/120/15884_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  wolfiton
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="dimitarvp" data-post="15" data-topic="23844">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p><a class="mention" href="/u/wolfiton" rel="nofollow">@wolfiton</a> is concerned about the wrong thing</p>
</blockquote>
</aside>
<p>That maybe so, but don’t want to find out the hard way in productions that my applications are going down due to DDOS(Denial of service attacks ) or brute force password hacking or database dumps.</p>
<p>As they always say:</p>
<blockquote>
<p>better be wrong in dev, then in production</p>
</blockquote>
<p>Also</p>
<blockquote>
<p>better be safe then sorry</p>
</blockquote>
<p>I think this words posses a lot of wisdom.</p>
<p>Also appreciate all the ideas and solutions so far.</p>
<p>Thank you all!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="135629" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/password-hacking-how-to-prevent/23844/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-135629" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="135629"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="135776" data-post-id="135776">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="wolfiton" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/wolfiton/120/15884_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  wolfiton
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thank you all for the valuable informations and solutions to this topic.</p>
<p>I don’t think anyone else wants to add something more so i am closing it.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="135776" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/password-hacking-how-to-prevent/23844/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-135776" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="135776"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>