Microsoft Sysinternals AccessChk v.5.0

Öncelikle Sysinternals nedir kısaca bahsedeyim.

Mark Russinovich ve Bryce Cogswell adında 2 yazılımcı 1996 yılından 2006 yılına kadar yani 10 sene boyunca Microsoft Windows için çeşitli ufak sistem yazılımları hazırladılar. Bu yazılımlar oldukça pratik ve kullanışlıydı ve birçok kişi tarafından beklenenin üzerinde sevildi. Tüm bu gelişmelerden sonra Microsoft 2006 yılında Sysinternals‘i satın aldı.

Benim Sysinternals ile tanışmam ise sadece Windows üzerine geliştirilmiş, ufak, kurulum gerektirmeyen güvenlik pratiklerinde yardımcı programlar ararken oldu.

Kaldı ki benim sysinternals ile tanışmam seneler önceydi.. Bu grubun yazdığı yazılımlar ilgili 2 yazımda mevcut , bunlara “articles” bölümünden “IT Related” seçerek ulaşabilirsiniz.

AccessChk Nedir?

AccessChk ufak bir sistem yazılımıdır. Sistem yöneticilerinin işini kolaylaştırmak için kodlanmıştır. Sistemde ki kullanıcıların veya kullanıcı gruplarının hangi dizinlere, kayıt anahtarlarına (regedit), global nesnelere ve Windows servislerine erişim hakları olduğunu görmelerini sağlar.

AccessChk 5.0 sürümünü bu adresten indirebilirsiniz.

AccessChk kurulumsuz, executable bir programdır. Kullanmak için .exe dosyalarını çalıştırdığınız dizine taşımanız yeterlidir.

Bilgisayar:/SistemBirimi:/Windows şeklinde dizine taşıyın.

Komut istemi‘ni açıp, accesschk yazmanız programı çalıştırmak için yeterli.

Program çalıştığı zaman karşınıza aşağıda ki resimde gördüğünüz gibi program komutlarının listesi gelecek :

Kullanımı

accesschk [-s][-e][-u][-r][-w][-n][-v][[-a]|[-k]|[-p [-f] [-t]][-o [-t <object type>]][-c]|[-d]] [[-l [-i]]|[username]] <file, directory, registry key, process, service, object>

-a Bir Windows hesap yetkisi ismini belirtir. * karakterini bütün kullanıcı hesap yetkilerini kapsamasını istediğiniz zaman kullanın. Bir yetki ismi girdiğinizde sadece bu yetkiye sahip kullanıcı veya kullanıcı gruplarının listeleneceğini unutmayın.
-c SSdpsrv gibi herhangi bir Windows servisinin ismini belirtir.  Yıldız (*) karakterini kullanarak tüm servis isimlerini belirtebilir ve servis yöneticisinin de (scmanager) güvenlik yetkilerini sınayabilirsiniz.
-d Sadece işlem birimlerini veya üst düzey anahtarları belirtir.
-e Sadece net bir şekilde set-Integrity seviyelerini gösterir. (Sadece Windows Vista’da geçerli)
-f Kullanıcı grupları ve ayrıcalıklı gruplarırdan bilgi alan tüm işlermleri gösterir.
-i Tüm erişim kontrollerinin listesi ekrana dökülürken, ACE’den miras alınan nesnelerin gösterilmesini engeller.
-k Bir kayıt defteri satırının ismini belirtir. hklm\software
-l Tüm erişim kontrol listesini gösterir. -i ile ACE’den miras alınanların gösterilmesini engelleyebilirsiniz.
-n Sadece erişimin engelli olduğu nesneleri gösterir.
-o Nesne Yöneticisi isim uzayındaki ana dizin ismidir. (Default olarak root). -t ve -s kullanılabilir.
-p İşlem veya PID ismidir. cmd.exe gibi. Yıldız (*) karakteri ile tüm işlemleri kapsatabilirsiniz. -f ve -t kullanabilirsiniz. Bunlarında açıklamaları mevcut zaten.
-q Sembolleri görmezden gelir.
-r Sadece okuma iznine sahip dosyaları gösterir.
-s Recurse
-t Nesne tipi filtresidir.
-u Hataları engeller.
-v Verbose
-w Sadece yazma izni olunan nesneleri gösterir.

Örnekler

Aşağıda ki komut ile Windows\System32 içerisinde ki sistem dosyalarından hangilerine power userların erişebileceğini listeler.

accesschk “power users” c:\windows\system32

Bu komut ile hangi Windows servislerinin kullanıcı grup üyelerinde yazma izni olduğunu görebilirsiniz.

accesschk users -cw *

HKLM\CurrentUser altında ki hangi kayıt defteri anahtarlarının, belirtilen kullanıcıya göre erişim izni olmadığını gösterir.

accesschk -kns msdundar\mruss hklm\software

HKLM\Software anahtarının güvenlik yapılandırmasını gösterir.

accesschk -k hklm\software

Herkesin değiştirebileceği global yani evrensel nesneleri gösterir.

accesschk -wuo everyone \basednamedobjects

Örnek olarak HKLM\Software anahtarının güvenlik yapılandırmasının bir kısmına bakalım :

HKLM\software\Symantec anahtarına,

Users grubu R iznine yani READ (okuma) izniyle sahip,

Administrators grubu RW iznine yani Rewrite (yazma) izniyle sahip.

Default sistem kullanıcısı doğal olarak RW izniyle sahip.

Çeşitli örnekler ve denemeler ile keşfedilmesi kolay bir yazılım.

M.Serhat DÜNDAR

FTP Yedeğini Almak (Filezilla)

Daha önce Plesk ve domain, MySQL ve WordPress yedeklerini almayı bu konuda anlatmıştım ve güvenlik adımında yedek almanın ne derece önemli olduğundan söz etmiştim.

Önemli adımlardan biride FTP yedeği almak. Bu konuda google’da ne gibi içerikler var diye arattığımda hüsrana uğradım.. Doğru düzgün bir Türkçe içerik bulamadım.

Bahsedilen bir kaç yöntem olsada bunlar tavsiye etmediğim yöntemler, zira veri kaybı yaşamanız büyük ölçüde olası.

Benimde kullandığım, en popüler yazılımlardan biri olan FileZilla ile yedeklermizi alacağız.

Not: Portable yani kurulum gerektirmeyen-taşınabilir versiyonunu kullanmanızı önermem !

FileZilla’yı açıyoruz, “Dosya” menüsünden “Site yöneticisi”‘ne giriyoruz. Daha sonra resimde gösterdiğim adımları sırayla uyguluyoruz. Oldukça basit işlemler zaten.

Üstte gördüğünüz ekranın “Gelişmiş” sekmesinden dosyaların kaydedileceği yeri değiştirebilirsiniz.

Geri kalan tüm ayarları olduğu gibi bırakabilirsiniz.

Tüm ayarları yaptıktan sonra “Tamam”a basıp çıkın ve daha sonra bağlanın veya “Bağlan”a basıp hemen siteye bağlanın.

Bağladınız sayıyorum, sunucunuza bağlandığınız zaman ilk olarak root dizininizi göreceksiniz. IIS veya Apache server kullanmanız bu dizinin adının root, www, httpdocs gibi değişik isimlerde olabilmesi sonucunu doğurur. Kısaca sitenizin anasayfasında görünen dosyaları yüklediğiniz yer root klasörüdür bizim için. Httpdocs gibi.

Dosyalarınızın bulunduğu bölümden (ortadaki) root dizini seçip sağ tıklayın ve “İndir”i seçin.

İşlem sunucunuzda ki dosya miktarı ile doğru orantılı olarak zaman alacaktır. Bu işlemle ftp sunucunuzda ki tüm dosyaları bilgisayarınıza indirmiş olacaksınız.

Uyarı !

FileZilla’nın Export (ver) özelliği alışageldiği şekilde dosyaları vs. veren bir özellik değildir. Ftp bağlantısı için girdiğiniz ftp login bilgilerini içeren bir .xml dosyasını export eder yani size aktarır. Bir anlık dalgınlıkla export özelliğini kullanırsanız, kaydettiğiniz .xml dosyasını silmeyi unutmayın. Bu dosya içinde ftp sunucunuzun kullanıcı adı ve şifre bilgileri bulunmaktadır.

WordPress Güvenliği – 2

WordPress Güvenliği-1 yazısına buradan ulaşabilirsiniz.

Önceki yazıda şifreli dizin oluşturma, dosya ve dizin isimleri ve .htaccess dosyasının yapılandırılmasından bahsetmiştim.

Önceki yazıda bahsettiğim Apache şifrelemesi yani şifreli dizin oluşturma işlemi için pratik bir eklenti varmış, henüz test etmedim ama denemeye değer : http://www.askapache.com/wordpress/htaccess-password-protect.html bu adresten test edebilirsiniz.

1) Kullanıcı Gizliliği

WordPress’in default olarak getirdiği “admin” userini silin. Tabiki bunu silmeden önce admin yetkilerine sahip yeni bir kullanıcı oluşturmayı unutmuyoruz.

WordPress yönetim panelinden Users/Your Profile kısmına girin.

Username ve nickname bilgilerini farklı girin. Ayrıca “display name publicly as” kısmından bu bilgilerin blogda görünmesini engelleyin :

2) Dizin Listeleme

Hiç bir dizininizi sadece klasörlerden oluşmuş şekilde bırakmayın. Boş bile olsa bir index.html dosyası oluşturun.

3) Benzersiz Anahtarlar – wp-config.php

WordPress 2.6 sürümünden itibaren benzersiz anahtarları düzenlemenize imkan tanıyor.

Bu işlem hali hazırda çalışan wordpress bloğunuzun içeriğine zarar vermeyecektir, yani illa ki yeni kurulmuş bir blogda yapılması gereken bir değişiklik değildir.

wp-config.php dosyasını açtığınız zaman;

define(‘AUTH_KEY
define(‘SECURE_AUTH_KEY
define(‘LOGGED_IN_KEY
define(‘NONCE_KEY

satırlarını göreceksiniz.

Şimdi http://api.wordpress.org/secret-key/1.1/ adresine girin ve karşınıza çıkan satırları kopyalayıp wp-config.php dosyasına yapıştırın. Aşağıdaki gibi wp-config.php dosyanızı düzenleyin.

4) wp-config.php Dosyasının konumu

WordPress 2.6 sürümünden itibaren artık wp-config.php dosyasının yerini değiştirmeye de izin veriyor. Fakat bu izin istediğiniz klasöre taşıyabileceğiniz anlamına gelmiyor. Bu dosyayı yalnızca bir üst dizine taşıyabilirsiniz.

Tabiki sayfanız direk root dizine kurulduysa (benim olduğu gibi) yani httpdocs, www gibi root klasörlerdeyse wp-config.php dosyanız, daha bir üst dizine taşıma imkanınız yok.

Ancak /blogum gibi bir klasör altındaysa httpdocs’a taşıyabilirsiniz.

5) Güvenlik Eklentileri

Öncelikle belirtmek gerekir ki, çok eklenti kullanmak çok saldırıya maruz kalmak anlamına gelir. Çünkü eklentilerde ortaya çıkabilecek bir zaaf blogunuzun saldırıya maruz kalmasına yardımcı olabilir. WordPress blogunuzu düzenli olarak güncellediğiniz gibi eklentileride güncellemeniz gerekir.

=> WordPress Security Scan => En meşhur eklentilerden biri. Ufak bir güvenlik testi niteliğinde.

=> Login LockDown => Yapılan hatalı girişleri loglayan ve belirli bir sayıdan sonra ip adresini otomatik olarak banlamasını sağlayabileceğiniz bir eklenti.

=> Limit Login Attempts => Üstteki eklentinin hemen hemen aynısı.

6) Davetiye Ile Kayıt Olma

Eğer benim gibi kişisel bir bloğunuz var ve insanların blogunuza üye olmasına ihtiyaç duymuyorsanız, üyelik sayfasına erişimi kısıtlayabilir ve sadece davetiye sistemi ile çok istisna durumlarda üye kabul edebilirsiniz. Üye kayıtlarını zaten admin panelinden durdurabileceğinizi zaten biliyorsunuz ancak bu eklenti ile davetiye sistemine çevirebilirsiniz.

http://wordpress.org/extend/plugins/wordpress-mu-secure-invites/ adresinden indirebileceğiniz plugin ile bu işi yapmak çok kolay.

Vaktim olduğunda devam edecek…

WordPress Güvenliği – 1

Siteyi yayına sokalı 3 hafta gibi bir süre olmasına rağmen halen ciddi güvenlik testlerinden geçirmemiştim ve güvenlik konfigürasyonu yetersizdi. Hazır fırsat buldum ve birkaç ayarlama daha yaptım. İşim halen bitmiş olmasada büyük kısmını hallettiğimi düşünüyorum.

WordPress’in birçok kişi tarafından kullanılması ve geliştirici sayısının oldukça fazla olması bu scriptin diğerlerinden daha güvenli olduğu anlamına gelmiyor, maalesef. Web ortamında “tam güvenli” diye bir durumun olmadığını da düşünürsek birazcık bu konuya özen göstermenin gerekli olduğunu anlayabilirsiniz.

Yazıda belirteceğim yöntemler sayesinde WordPress bloğunuzun güvenliğini önemli ölçüde sağlayabilirsiniz.

Bu yazıda anlatılan yöntemlerde herhangi bir aksilik çıkabilme ihtimalini göz önünde bulundurun ve tüm yedeklerinizi (Plesk-MySql ve WordPress) alınız. Değişiklik yapacağınız her dosyanın yedeğini almak kullanıcının sorumluluğundadır.

1) Şifreli Dizin Oluşturmak

Öncelikle şifreli dizin oluşturmak nedir anlamanız açısından sitemin /wp-admin yoluna bakmanızı öneriyorum. Gördüğünüz gibi karşınıza şifre girmeniz için bir alan çıktı. Bunu wordpress üzerinden sağlayamazsınız, bu ayar ancak sunucunuz üzerinden sağlanabilir.

Bunu 2 yöntemle gerçekleştirebiliriz. İlk yöntem benim kullandığım ve daha basit olan yöntem, Plesk paneli üzerinden şifreli dizin oluşturmak.

İlk olarak bloğunuzun wp-admin klasörünün ismini değiştirin. İstediğiniz herhangi bir isim yapabilirsiniz. Örnek olarak “eskiadmin” yapalım dizin adını.

İkinci olarak plesk paneline giriş yapıyoruz. sonra anasayfa üzerinden domainimize giriş yapalım.

“Dizinler” bölümüne girin.

Yeni Dizin Ekle seçeneğine tıklayın.

Dizin adı olarak doğrudan dizin adını belirtmeniz gerekiyor. Yani /httpdocs path’ini eklemiyorsunuz.

Eğer sunucunuzdan SSL desteği alıyorsanız 2.seçeneği de seçebilirsiniz. Fakat kim bir blog için SSL satın alır bilinmez.

Onayladıktan sonra birde kullanıcı oluşturuyoruz. Kullanıcı adı ve şifreyi unutmayacağınız birşey seçmeniz faydanıza olacaktır.. Ayrıca bu kullanıcı adı ve şifre ikilisi wordpress panelinize giriş şifresiyle, hatta mümkünse hiçbir şifrenizle aynı olmasın.

Şimdi plesk üzerinden “Dosya Yönetimi”ne ulaşın.

“Her bir sayfada göster:” kısmını 100 olarak ayarlarsanız dosya taşıma işleminde kolaylık sağlamış olursunuz.

“eskiadmin” klasörüne girip tüm dosyaları üstte ki “tümünü seç” butonunu tıklayarak seçin.

En üstte ki “Kopyala/Taşı” seçeneğine tıklayın ve taşınacak yeri /wp-admin olarak belirleyin.


“eskiadmin” klasöründe ki tüm ögeler “wp-admin” klasörüne taşındığı zaman işlemimiz bitmiştir. “eskiadmin” isimli klasörü silebilirsiniz.

Denemek için tarayıcınızdan yönetim panelinize girin. Eğer sunucu size şifre soruyorsa işlem başarıyla gerçekleşmiştir.

Bu işlemi şifreli dizin oluşturma özelliği olmayan sunucularda .htaccess dosyası ile yapabiliriz.

Öncelikle hostunuzun dosya yöneticinde (plesk) public_html, www, alanadınız.com, httpdocs gibi bulunduğunuz klasörün bir üst dizinine çıkın.

Bu ulaştığımız üst dizinde aynı .htaccess dosyası gibi bir .htpasswd dosyası oluşturun.

http://home.flash.net/cgi-bin/pw.pl adresine girin. Bir kullanıcı adı ve şifre yazın ve bunları “Encrypt” edin. Şifrelenmiş halini kopyalayarak .htpasswd dosyası içine yapıştırın. Htpasswd dosyasını kaydedin.

Şimdilik htpasswd dosyası ile işimiz bitti. Gelelim .htaccess dosyasına.

.htaccess dosyasını açarak içine aşağıda ki kodları yapıştırın.

! Htaccess dosyasının içinde önceden mevcut olan ayarları silmenize gerek yoktur. Altına yapıştırın.

“/home” kısmını sunucunuzda nasıl bir ana klasör kullanıyorsanız öyle düzenleyin.

.htaccess dosyasını kaydedin ve işlem tamamdır.

2) dosya ve dızın izinleri

Sunucunuza yüklediğiniz dosya ve dizinlerin izinlerini ayarlamanız web sitenizin güvenliği için en önemli adımlardan biri.

Plesk üzerinden dosyalarınızı gözetlediğiniz zaman aşağıdaki gibi dosyaların yanında karakterler göreceksiniz. CHMOD denilen ayarlar işte bunlardır.

Olması gereken ayarlar dosyalar için 644 yani :

Bu şekilde olmalıdır.

Kesinlikle ama kesinlikle hiçbir dosya veya klasörün izinlerini 777 yapmayın.

Klasörler için ise bu değeri 755 yapmanızı öneririm.

İstisna olarak tek bir klasörün chmod değerini 777 yapabilirsiniz, o da wp-content klasörü içindeki uploads klasörüdür. Bu ayarı mecburen yapıyoruz çünkü wordpress yönetim panelinden resim veya medya yüklemek istediğimizde diğer chmod değerini uyguladıysak hata verecektir.

3) .htaccess dosyası

Daha önce ki maddelerde bahsettiğimiz .htaccess dosyası sayesinde sunucumuza pek çok işlem yaptırabilmekteyiz.

Burada sözü kısa keseceğim. Bir text dosyası oluşturun ve içine aşağıda yazdığım kodları yapıştırın. Daha sonra adını .htaccess olarak değiştirin ve web sayfanızın bulunduğu kök dizine upload edin.

Aşağıda ki kodlar sayesinde hotlink’ten de korunacaksınız.

Vaktim olduğunda yazıya devam edeceğim.

Plesk ve Domain-MySQL-WordPress Yedeklerini Almak

Web güvenliği adımlarının en önemlisi “yedek almak”tır. Hiçbir web uygulamasının “güvenlik” garantisi yoktur ve maruz kalınabilecek herhangi bir saldırı durumunda tüm içeriğin kaybedilmesi alınacak en büyük zarar olacaktır.

Bu yazı’da 4 temel yedek alma yönteminden bahsedeceğim.

SIRASIYLA :
  1. Plesk paneli üzerinden “domain yedeği almak”
  2. PhpMyAdmin üzerinden “MySql veritabanı yedeği almak”
  3. WordPress “içerik” yedeği almak

Konuya girmeden önce bi kaç önemli noktadan bahsedeyim.

Yedeklerinizi internet üzerinde barındırmayın. Kesinlikle bilgisayarınıza indirin ve güvenli bir yerde saklayın.

Eğer çok sık içerik giriyorsanız, hergün yedek alın, yedek alma sıklığınızı yaptınız değişikliklere göre haftalık-aylık olarak ayarlayabilirsiniz.

Yedek alırken dosya indirme yöneticileri kullanmayın, dosyalar inmeyecektir. (Free Download Manager için öyle en azından)

1) Plesk paneli üzerinden domain yedeği almak

Anlatımda Plesk 8.6.0 Türkçe sürümü kullanılmıştır. Değişik sürümler değişik özellikler barındırabilecek olsada, temelde yapılan işlem aynı olacaktır.

İlk olarak Plesk panelinize giriş yapın.

Bu bölümden yedekleme sayfasına ulaşın.

* “Şimdi Yedekle” butonuna bastığınız anda alt kısımda “Mevcut yedek dosyaları” başlığı altında, yedeğinizi oluşmuş olarak göreceksiniz. Yedeğin en sağında ki download butonuna (yeşil bir ok) bastığınız zaman yedek dosyası bilgisayarınıza inecektir.

“Zamanlandırımış Yedek” seçeneği ile otomatik olarak yedek alma işleminizi gerçekleştirebilirsiniz. Öncelikle yukarıda ki “Aç” tuşuna basıp aktif hale getirin. Yedekleme zamanı ve yedeklenecek dosya miktarını seçin (sınırsız seçilmesi önerilir).

“Backup files repository” kısmı yedek dosyalarının nereye kaydedileceğini sorar. Bu kısımdan “Local repository” seçeneğini seçerseniz, yedek dosyaları bir önceki adımda bahsettiğimiz “Şimdi Yedekle” butonunun çalışması ve dosyaları kaydettiği yerle aynı olacaktır. Yani local olarak domain üzerinde yedek almış oluyorsunuz. Bunu tavsiye etmiyorum çünkü domain hesabınız hacklenirse saldırgan yedek dosyalarına zarar verebilir. “” seçeneğini seçerek yedeklerin FTP hesabınıza aktarılmasını sağlayabilirsiniz.

“Yedek kullanıcı özellikeleri ve hesap ayrıntıları” butonunu seçmenizi öneririm, bu buton seçili olduğu taktirde hesap ayarlarınız da yedeklenecektir.

2) PhpMyAdmin üzerinden MySql veritabanı yedeği almak

Öncelikle plesk panelinize giriş yapın. Domain hesabınızı seçin.

Veritabanları seçeneğini seçerek veritabanı isimlerinizi görüntüleyin.

Yedeklemek istediğiniz veritabanına girin.

DB WebAdmin seçeneğini seçin. Yeni bir sayfa içinde “PhpMyAdmin” sayfanız açılacak.

Soldaki menüden veritabanı adınızı seçerek veritabanınıza girin.

Üst menüde Dönüştür (Export) seçeneğini göreceksiniz. Tıklayın.

Karşınıza aşağıdaki gibi bir sayfa gelecek :

“Dönüştür” başlığı altındaki tüm tabloları seçin. Tümünü seç seçeneği yoksa eğer CTRL’ye basılı tutarak hepsini seçin. “Yapı” başlığı altındaki “DROP TABLE ekle” ve IF NOT EXISTS ekle” seçeneklerini seçin (kutucuklara tıklayın).

“Dosya olarak kaydet” başlığına giderek seçeneği aktif hale getirin. Dosya ismi yazın ve en alttaki “Git” seçeneğine tıklayın.

3) WordPress içerik yedeği almak

WordPress yönetim paneline girin.

Soldaki menüden “Tools/Araçlar” menüsünü genişletin.

“Export” seçeneğini göreceksiniz.

“Download Export File” seçeneği ile içeriğinizin bulunduğu .xml dosyasını bilgisayarınıza indirebilirsiniz.

MS Office Access 2003, 2007 ve 2010'da Tablo İlişkilendirme

Merhaba,

Access artık her ne kadar pabucunu MySQL ve MSQL’e kaptırmış olsada (My-tiny-to-do’da gücünü keşfettiğim SQLite’ı da sayabiliriz) halen öğrenmek zorunda olduğumuz (adet yerini bulsun) bir veritabanı uygulaması. Bugün vize için çalışırken canımı sıkan ilişkilendirme olayı üzerine biraz araştırma yaptım.

Temel Kurallar

1) İlişkili alanlar aynı adı taşıyamaz. Örnek vermek gerekirse isimler (tablo1) => isimler (tablo2) şeklinde bir ilişkilendirme yapılamaz.

2) Birincil anahtar alanı bir OtomatikSayı alanı değilse, ilişkili alanlarda aynı veri türü bulunmalıdır. Örneklersek; metin veri türü barındıran bir alandan sayı veri türü barındıran bir alana ilişkilendirme yapılamaz, tabi eğer birincil anahtar alanı bir OtomatikSayı alanı değilse.

3) OtomatikSayı =>> Sayı şeklinde bir alan eşleştirmeyi yapabilmek için her iki alanın FieldSize özelliği aynı olmalıdır. Uzun Tamsayı-Uzun Tamsayı şeklinde alan boyutlandırması yapmanız gerekmekte. Her iki alan “Sayı” alanı bile olsa yinede “alan boyutu, field size” aynı olmalıdır. Aksi taktirde veri tutarlılığı sağlanamaz.

4) İlk tabloda mutlaka eşsiz bir birincil anahtar değeri olmalı ve ilk tablodan bağlantı bu noktadan yapılmalı. İkinci tabloda birincil anahtar olabilir ancak ikinci tabloya bağlantıyı birincil anahtardan yapmamalısınız. Yani birincil anahtardan, birincil anahtara bağlantı yapılamaz.

Office Access 2003 İçin

Tablo1 ve Tablo2 isimlerinde iki tane tablomuz olduğunu düşünelim.

İlk tablomuzda id (birincil anahtar), isim, soyisim ve yas alanları olsun.

İkinci tablomuzda rakam, notlar ve durum alanları olsun. Bu tablonun birincil anahtar alanı olmasın.

İlk tablodaki birincil anahtar olan id alanı ile ikinci tablodaki rakamlar alanını birbirine bağlayalım.

Şematik olarak göstermek gerekirse :

Ayrıca ilişkilendirmeyi veri tutarlılığına da zorladık. Aradaki çubuğun uçlarının koyu renkte olması bu anlama gelir.

İlişkilendirmemiz tamamlandı. Şimdi test etmek için Tablo1’den veri girelim, Tablo2’ye gidip girdiğimiz veriler işleniyormu görelim.

Gördüğünüz gibi işlem başarılı. İlk tablodan girdiğimiz veriler doğrudan 2. tabloya’da girilmiş oldu.

Office Access 2010 İçin

2003’te yaptıklarımızın aynılarını yaparak 2 tablo oluşturuyoruz. Aynı değerleri verdim karışıklık olmaması açısından. Resimde gösterdiğim gibi bir ilişki kuruyoruz.

Bu işlemi yaparken herhangi bir tablonun tab durumunda dahi olsa açık olmaması gerekiyor.

İlişkilendirme tamamlandıktan sonra deneme amaçlı 3 adet veri girdim ve Tablo2’de sınadım. (Test işlemini yapmanız faydanıza olacaktır, daha sonradan çıkacak hataları engelleyecektir.)

İlişkilendirmeyi başarıyla tamamladık.

Yaptığım veritabanlarını indirmek ve incelemek isterseniz;

http://pythonkodcalismalarim.googlecode.com/files/vt1.mdb (2003)

http://pythonkodcalismalarim.googlecode.com/files/Database1.accdb (2007-2010)

Python – Hesap Makinası (Koşula Bağlı İfadeler ve Fonksiyonlar İle)

Basit bir hesap makinası uygulaması. 2 farklı uygulama yöntemi kullandım. İlk durum tamamen if-elif ve else koşullarıyla hazırlanan hesap makinası, ikinci durum ise islemleri fonksiyon altında toplayarak yaptığım uygulama.

Önemli NOT: Python dilinde girintileme bir yazım tarzı değil, zorunluluktur ! Bu sayfadan kodları kopyala-yapıştır ile almanız halinde program çalışmayacaktır. Kodların girintilenmiş halini http://code.google.com/p/pythonkodcalismalarim adresinden indirebilirsiniz.

1) Koşullu İfadeler Kullanarak Hesap Makinası Uygulaması (hesapmakinası.py)

2) Fonksiyonları Kullanarak Hesap Makinası Uygulaması (hesapmakfonk.py)

Bu uygulamada önce matematiksel işlemleri gerçekleştiren adımlar fonksiyonlar içinde yazılmış, daha sonra fonksiyonlar çağırılmıştır.

Şimdilik bu kadar.

Web Siteniz Hacklendiğinde Yapmanız Gerekenler

Siteniz hacklendi, cPanel veya Plesk Panel tarafından oluşturulmuş olan yedeklerinizi yükleyerek web sayfanızı eski haline çevirdiniz, hosting panel şifrenizi ve hacklenmiş olması muhtemel tüm şifrelerinizi de değiştirdiniz. Web sayfanız 3 gün sonra tekrar hacklendi.

Sırayla Yapmanız Gerekenler

  1. Hosting paneliniz üzerindeki işlem yöneticisi veya varsa SSH ile çalışan tüm işlemleri kontrol edin.
  2. /home/yourname/public_html/site/js/c99.php veya /home/yourname/public_html/site/js/shell.php gibi satırlar ile karşılaşırsanız bu tür satırlar içeren tüm işlemleri iptal edin.
  3. Saldırganların tahmin etmekte güçlük çekeceğiniz dizinlere backdoor bırakmış olma ihtimali yüksek olduğundan tüm scriptinizi silin.
  4. “Scalp” ile log dosyalarını inceleyin. Saldırganın girişimlerini ve hareketlerini göreceksiniz. Bu sayede web uygulamanızda zaaf içeren kısımları keşfetme şansınız olacak.
  5. Daha önceden oluşturduğunuz backup/restore/kurtarma dosyalarına asla güvenmeyin. Bu şekilde online olarak depoladığınız yedek dosyalarınızı tamamen silin. Saldırganların bu yedekleme dosyaları içine backdoor bırakmış olma ihtimali yüksektir. Güncelleme/Yeniden yükleme gibi işlemler için daima local yani kendi bilgisayarınızda barınan dosyaları kullanın.
  6. Kurtarma işleminden önce yapmanız gereken birkaç önemli şey var. Eğer bu haliyle, güvenlik yamaları ve güncelleştirmeleri yapmadan sitenizi olduğu gibi tekrar kurarsanız, saldırganlar birkaç gün içinde tekrar geri gelecek ve sayfanızı yine hackleyeceklerdir. Eğer açık kaynak kodlu bir uygulama kullanıyorsanız (WordPress, drupal, joomla vs.) google’dan bunların son sürümleri veya güvenlik güncelleştirmeleri ile ilgili bilgi alın. Eğer mevcut ise son sürümü kullanın veya güvenlik günceleştirmelerini tamamlayın. Dosyaları veya klasörleri yetkilendirmek ve istemediğiniz veya erişmesi gerekmeyecek kişilerin erişimine kapatmak için .htaccess kullanın. Deneme-yanılma yapmakta kullandığınız, üzerinde sürekli oynadığınız kod dosyalarının ismini değiştirin veya silin. Bir güvenlik uzmanının fikirlerini alın, yardım isteyin. Web uygulamanıza bir güvenlik mekanizması eklemeyi deneyin. Bu konu hakkında forumlardan ve google’dan bir çok yardım bulabilirsiniz. Örnek vermek gerekirse : PHP-IDS – CrackerTracker for phpBB – Php-Brute-Force-Attack Detector. Daha sonra kendi bilgisayarınızdan, tamamen temiz olduğunuza inandığınız dosyalar ile kurulumu tekrar yapınız.
  7. .htaccess ile saldırganların IP adreslerini engelleyin.

Günümüzde web uygulamaları en çok güvensiz kodlamalar ve güvensiz sunucu konfigürasyonları yüzünden hacklenmekte olduğunu belirterek yazımı bitiriyorum.

E-mail Güvenliği Sunumu

Konu başlıkları:
  • E-maillerimiz başkaları tarafından okunabilir mi?
  • Brute-force nedir?
  • Fake mail nedir?
  • Phishing nedir?
  • Keylogger ve trojan nedir? Nasıl kullanılır?
  • Doğru şifre seçerken nelere dikkat etmeliyiz?
  • Sosyal mühendislik nedir?
  • Clickjacking nedir?