Bir web sitesi nasıl güvenli hale getirilir?


87

Bir şirketin iş verilerini saklaması için küçük bir web uygulaması oluşturmam gerekiyor ... Yalnızca şirket içindekiler onu kullanacak, ancak çalışanların uygulamaya çeşitli konumlardan bağlanabilmesi için kamuya açık alanda barındırmayı planlıyoruz . (Şimdiye kadar yalnızca dahili olarak barındırılan web uygulamaları oluşturdum)

Güvenli bir bağlantı (https) kullanmam gerekip gerekmediğini veya sadece form kimlik doğrulamasının yeterli olup olmadığını merak ediyorum.

Https derseniz, bazı sorularım var:

  1. Web sitemi https için hazırlamak için ne yapmalıyım? (Kodu / Yapılandırmayı değiştirmem gerekiyor mu)
  2. SSL ve https bir ve aynı ...
  3. Lisans veya başka bir şey almak için birisine başvurmam gerekiyor mu?
  4. Tüm sayfalarımın güvenliğini mi yoksa sadece giriş sayfasını mı yapmam gerekiyor?

İnternette cevap arıyordum, ancak tüm bu noktaları alamadım ... Herhangi bir teknik inceleme veya diğer referanslar da yardımcı olabilirdi ...

Daha fazla bilgiye ihtiyacınız olursa sormaktan çekinmeyin.

Teşekkürler

  • Raja

Herkese merhaba ... Herkese teşekkürler ... Tüm cevaplarınız çok yardımcı oldu ... Burada bir cevap seçmek haksızlık olur ... (ÖYLESİNE bu tür durumlar için bir hüküm olmalı). dolayısıyla, ben ... Seçilen cevap diğer cevaplar kadar eşit derecede önemlidir bir cevap seçilir ve diğerleri upvoted ...
Kral

3
Bilgilerin ne kadar gizli olduğuna (örneğin, kişisel bilgiler federal yasalara tabi olabilir) ve şirketle hangi ilişkiniz ve sözleşmeniz olduğuna bağlı olarak, ek ihtiyatlı çalışma, aşağıdaki durumlarda sorumlu olup olmayacağınızı düşünmek isteyebilirsiniz. birisi siteyi hack'ledi.
huynhjl

Sertifikayı sunucunuza yükledikten sonra, IIS'de web sitenize https eklemek için tek yapmanız gereken siteye gidip "Bağlamaları Düzenle", https'yi seçmek ve sertifikayı seçmek.
bgmCoder

Yanıtlar:


49

Web sitemi https için hazırlamak için ne yapmalıyım? (Kodu / Yapılandırmayı değiştirmem gerekiyor mu)

Güvenli kodlama için en iyi uygulamaları aklınızda tutmalısınız (burada iyi bir giriş: http://www.owasp.org/index.php/Secure_Coding_Principles ), aksi takdirde ihtiyacınız olan tek şey doğru ayarlanmış bir SSL sertifikasıdır.

SSL ve https bir ve aynıdır ..

Hemen hemen evet.

Lisans veya başka bir şey almak için birisine başvurmam gerekiyor mu?

Bir sertifika yetkilisinden bir SSL sertifikası satın alabilir veya kendinden imzalı bir sertifika kullanabilirsiniz. Satın alabileceklerinizin fiyatı çılgınca değişiyor - yılda 10 dolardan yüzlerce dolara. Örneğin, bir çevrimiçi mağaza açarsanız bunlardan birine ihtiyacınız olacaktır. Kendinden imzalı sertifikalar, dahili bir uygulama için uygun bir seçenektir. Bunlardan birini geliştirme için de kullanabilirsiniz. IIS için kendinden imzalı bir sertifikanın nasıl ayarlanacağına dair iyi bir öğretici: Kendinden İmzalı Sertifikaları Kullanarak IIS 7.0'da SSL'yi Etkinleştirme

Tüm sayfalarımı mı yoksa sadece giriş sayfasını mı güvenli hale getirmem gerekiyor?

Yalnızca ilk kullanıcı girişi için değil, her şey için HTTPS kullanın. Çok fazla bir ek yük olmayacak ve kullanıcıların uzaktan barındırılan uygulamanızdan gönderdiği / aldığı verilerin, ele geçirilirse dış taraflarca okunamayacağı anlamına gelecektir. Gmail bile artık varsayılan olarak HTTPS'yi etkinleştiriyor.


1
Ayrıca ücretsiz TLS sertifikaları da edinebilirsiniz, yani Let's encrypt
1615903

8

Ne tür iş verileri ? Ticari sırlar ya da insanların görmesini istemedikleri şeyler ama ortaya çıkarsa, büyük bir anlaşma olmaz mı? Ticari sırlardan, finansal bilgilerden, müşteri bilgilerinden ve genellikle gizli olan şeylerden bahsediyorsak. O zaman o rotadan aşağı inmeyin bile.

Güvenli bir bağlantı (https) kullanmam gerekip gerekmediğini veya sadece form kimlik doğrulamasının yeterli olup olmadığını merak ediyorum.

Her zaman güvenli bir bağlantı kullanın.

Kodu / Yapılandırmayı değiştirmem gerekiyor mu

Evet. Olmayabilir. Bunu sizin için bir uzmanın yapmasını isteyebilirsiniz.

SSL ve https bir ve aynı ...

Çoğunlukla evet. İnsanlar genellikle bunlardan aynı şey olarak bahseder.

Lisans veya başka bir şey almak için birisine başvurmam gerekiyor mu?

Muhtemelen sertifikanızın bir sertifika yetkilisi tarafından imzalanmasını istiyorsunuz. Size veya müşterinize biraz paraya mal olacak.

Tüm sayfalarımın güvenliğini mi yoksa sadece giriş sayfasını mı yapmam gerekiyor?

Başta https kullanın. Site dahili kullanıcılar için tasarlanmışsa, performans genellikle bir sorun değildir.

İnternette cevap arıyordum, ancak tüm bu noktaları alamadım ... Herhangi bir teknik inceleme veya diğer referanslar da yardımcı olabilirdi ...

Bazı işaretçiler için buradan başlayın: http://www.owasp.org/index.php/Category:OWASP_Guide_Project

SSL'nin, web sitenizi internetten erişildiğinde güvenli hale getirmenin küçük bir parçası olduğunu unutmayın. Çoğu bilgisayar korsanlığını engellemez.


Bilginin çok gizli olup olmadığını sorarak ve internete
koymamanızı önererek

7

Sanırım sitenizin Kimlik Doğrulaması ve SSL ile karıştırıyorsunuz.

Sitenizi SSL'ye geçirmeniz gerekiyorsa, web sunucunuza bir SSL sertifikası yüklemeniz gerekir. Symantec vb. Gibi yerlerden birinden kendiniz için bir sertifika satın alabilirsiniz. Sertifika, diğer şeylerin yanı sıra sizin genel / özel anahtar çiftinizi de içerecektir.

Kaynak kodunuzda herhangi bir şey yapmanız gerekmeyecek ve yine de Form Kimlik Doğrulamanızı (veya başka herhangi birini) sitenizde kullanmaya devam edebilirsiniz. Sadece bu, web sunucusu ile istemci arasında gerçekleşen herhangi bir veri iletişimi sertifikanız kullanılarak şifrelenecek ve imzalanacaktır. İnsanlar sitenize erişmek için güvenli HTTP (https: //) kullanır.

Daha fazla bilgi için bunu görüntüleyin -> http://en.wikipedia.org/wiki/Transport_Layer_Security


3

İş verileri için, veriler özelse güvenli bir bağlantı kullanırdım, aksi takdirde form kimlik doğrulaması yeterlidir.

Güvenli bir bağlantı kullanmaya karar verirseniz, lütfen web sitelerinin güvenliğini sağlama konusunda deneyimim olmadığını unutmayın, sadece kendi kişisel deneyimim sırasında karşılaştıklarımı geri alıyorum. Yine de yanılıyorsam, lütfen beni düzeltmekten çekinmeyin.

Web sitemi https için hazırlamak için ne yapmalıyım? (Kodu / Yapılandırmayı değiştirmem gerekiyor mu)

Web sitenizde SSL'yi (Güvenli Yuva Katmanı) etkinleştirmek için bir sertifika ayarlamanız gerekir, kod veya yapılandırma değiştirilmez.

Ben kullanarak, dahili bir web sunucusu için SSL sağladı OpenSSL'yi ve ActivePerl gelen bu online öğretici . Bu daha geniş bir kitle için kullanılıyorsa (benim izleyicilerim 10 kişiden azdı) ve kamu malıysa, profesyonel alternatifler aramanızı öneririm.

SSL ve https bir ve aynı ...

Tam olarak değil, ama el ele gidiyorlar! SSL, web sitesini görüntülerken verilerin şifrelenmesini ve şifresinin çözülmesini sağlar https, güvenli web sitesine erişmek için gereken URI'dir. Erişmeye çalıştığınızda http://secure.mydomain.combir hata mesajı görüntülediğini fark edeceksiniz .

Lisans veya başka bir şey almak için birisine başvurmam gerekiyor mu?

Bir lisans almanız gerekmez, bunun yerine bir sertifika almanız gerekir. Örnek olarak VeriSign gibi güvenli web siteleri ile profesyonel hizmetler sunan şirketlere bakabilirsiniz .

Tüm sayfalarımın güvenliğini mi yoksa sadece giriş sayfasını mı yapmam gerekiyor?

Sertifikanız etkinleştirildikten sonra, altına mydomain.comdüşen her sayfa *.mydomain.comgüvence altına alınacaktır.


1

4. Tüm sayfalarımı güvenli hale getirmem gerekiyor mu yoksa sadece giriş sayfasını mı ...

Giriş sayfasını https altında tutmanız yeterli

bu, diğer sayfalara göz atarken ek yük olmamasını sağlayacaktır. koşul, web yapılandırmasında doğru kimlik doğrulama ayarlarını sağlamanız gerektiğidir. Bu, oturum açmamış kullanıcıların kimlik doğrulaması gerektiren sayfalara göz atamamasını sağlamak içindir.


3
Sitenizin yalnızca bir bölümünü TLS altında sunmak güvenli değildir. Etkin bir saldırgan, SSLStrip'i kullanabilir ve sözde korumalı sayfalara erişebilir.
Tobu

1

@balalakshmi doğru kimlik doğrulama ayarlarından bahsetti. Kimlik doğrulama sorunun sadece yarısıdır, diğer yarısı yetkilendirmedir.

Form Kimlik Doğrulaması ve buna benzer standart kontroller kullanıyorsanız <asp:Login>, yalnızca kimliği doğrulanmış kullanıcılarınızın güvenli sayfalara erişebilmesini sağlamak için yapmanız gereken birkaç şey vardır.

In web.configaltında <system.web>bölümünde varsayılan olarak devre dışı anonim erişimi gerekir:

<authorization>
 <deny users="?" />
</authorization>

Anonim olarak erişilecek tüm sayfaların (Login.aspx sayfasının kendisi gibi) anonim erişime yeniden izin veren bir geçersiz kılma işlemine sahip olması gerekir. Bu gerektirir <location>elemanı ve en bulunmalıdır <configuration>(seviyeye dışında<system.web> bu gibi bölüm):

<!-- Anonymous files -->
<location path="Login.aspx">
 <system.web>
  <authorization>
   <allow users="*" />
  </authorization>
 </system.web>
</location>

Anonim sayfalar tarafından kullanılan stil sayfalarına veya komut dosyalarına anonim erişime izin vermeniz gerekeceğini unutmayın:

<!-- Anonymous folders -->
<location path="styles">
 <system.web>
  <authorization>
   <allow users="*" />
  </authorization>
 </system.web>
</location>

Konumun pathözniteliğinin web.configklasörle ilişkili olduğunu ve ~/diğer birçok yol türü yapılandırma özniteliğinin aksine bir önek olamayacağını unutmayın .


-2

PHP'de aşağıdaki gibi bir önyükleme dizini oluşturmayı deneyin

<?PHP
$ip = $_SERVER['REMOTE_ADDR'];
$privacy = ['BOOTSTRAP_CONFIG'];
$shell   = ['BOOTSTRAP_OUTPUT'];
enter code here
if $ip == $privacy {
function $privacy int $ip = "https://";
} endif {
echo $shell
}
?>

Bu esas olarak o!


3
Bu aslında soruyu yanıtlamıyor
Andreas
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.