Category: Genel

  • Linux Sunucuya Disk Ekleme

    Merhabalar,

    Bu yazımızda Linux işletim sistemine sahip bir sunucuya nasıl yeni disk ekleyeceğimizi inceleyeceğiz.

    Öncelik ile diski sunucumuza takalım.

    fdisk -l

    Komutunu kullandığımızda yeni diskimizi görebiliyor olmalıyız

    Yeni diskimiz /dev/sdb

    Gözlemleyebileceğiniz üzere /dev/sda altında sda1, sda2 gibi bölmeler (partition) mevcut iken sdb diskimiz yeni bir disk olduğu için üzerinde hiçbir partition tablosu bulunmuyor.

    Öncelik ile disk üzerinde bu partition’u açalım.

    fdisk /dev/sdb

    İlgili komut ile fdisk i başlatalım. Burada;

    n = New yani Yeni Partition
    p = Primary yani Ana Partition
    1 = 1 numaralı Partition ( /dev/sdb1 olması için)
    2048 = Diskteki ilk sektör, öntanımlı olarak 2048 gelir ve bu şekilde bırakılmalıdır
    41943039 = Diskteki son sektör, Öntanımlı gelen değer ne şekilde ise o şekilde bırakılmalıdır
    w = Write. İlgili ayarları diske yazar

    Şeklinde ilerlemeliyiz.

    fdisk üzerinde partition oluşturma

    Bu işlemin ardından partition oluşmuş olacaktır.

    fdisk -l

    Komutunu kullandığınızda /dev/sdb1 partitionunu görebiliyor olmalısınız.

    Yeni oluşturduğumuz /dev/sdb1 bölümü

    Şimdi sırada bu diski formatlamak var.

    EXT4 Veri sistemi oluşturma

    /dev/sdb1 bölmesi üzerinde ext4 veri sistemi oluşturmak için;

    mkfs.ext4 /dev/sdb1

    Komutunu kullanıyoruz.

    sdb1 bölümünü ext4 olarak formatlamak

    İşlem ardından /dev/sdb1 bölümü ext4 olarak biçimlendirilmiştir. Dilediğiniz herhangi bir klasöre mount edilebilir.

    XFS Veri sistemi oluşturma

    /dev/sdb1 bölmesi üzerinde xfs veri sistemi oluşturmak için;

    mkfs.xfs /dev/sdb1

    Komutunu kullanıyoruz.

    sdb1 bölümünü xfs olarak formatlamak

    XFS dosya sisteminde;

    • Veri Alanı
    • Log Alanı (journal)
    • Gerçek zaman kısmı (Realtime)

    Mevcuttur. Bunların her biri el ile ayrı bir şekilde belirtilebilir. (Dilerseniz log alanı farklı bir diske vs belirtilebilmekte) ancak bizim kullanımlarımız için bunların hepsini default bırakarak direkt olarak xfs veri sistemi oluşturmak yeterlidir.

    Disk mount etmek

    Oluşturmuş olduğumuz /dev/sdb1 bölümünü artık istediğimiz herhangi bir klasöre mount edebiliriz.

    Bunun için;

    mount /dev/sdb1 /veri_yolu/klasör_adı

    Şeklinde ilerlemeniz yeterlidir.

    /dev/sdb1 bölümünün /root/test klasörüne mount edilmesi

    Yukarıdaki örnekte göreceğiniz üzere;

    mount /dev/sdb1 /root/test/

    Komutu ile diskimiz /root/test dizinine mount edilebilmektedir.

    Mount eder iken özellikle veri sistemini (ext4/xfs) belirtmeniz gerekmemektedir, sunucu bunu algılayabilecek kapasitededir.

    Her Restart sonrası otomatik mount olmasını sağlamak

    Buraya kadar diskte bölüm oluşturmayı, ihtiyacımız olan dosya sisteminde biçimlendirmeyi ve herhangi bir klasöre mount etmeyi inceledik. Bu aşamada otomatik olarak mount olabilmesi adına gerekli çalışmayı gerçekleştireceğiz.

    Linux işletim sistemlerinde hangi bölümün hangi yapıya ya da klasöre mount olacağına /etf/fstab dosyası üzerinden emir edilmektedir.

    Öncelik ile diskimizin UUID’sini alalım;

    blkid

    Disklerin UUID’leri

    Bu örnekde UUID değeri 525e0fbc-a53c-4467-a682-56e6db2f89c8 imiş.

    Dosyamızı açalım;

    nano /etc/fstab

    Dosya içeriği aşağıdakine benzer şekilde olacaktır;

    Ubuntu’ya ait örnek bir /etc/fstab içeriği

    Burada ekleme aşağıdaki şekilde yapılır;

    Disk UUID – Mount Klasörü – FS (File System) Yapısı – Bağlama Seçenekleri – Dump

    Detaylı bilgi için buraya tıklayarak inceleme sağlayabilirsiniz.

    Ben fstab’a XFS olan diskimi aşağıdaki şekilde ekliyorum;

    /dev/disk/by-uuid/525e0fbc-a53c-4467-a682-56e6db2f89c8 /root/test xfs defaults 0 0

    XFS diskin fstab’a eklenmesi

    Eğer diskim ext4 olarak biçimlendirilmiş olsa idi, aşağıdaki şekilde ekleyecek idim;

    /dev/disk/by-uuid/525e0fbc-a53c-4467-a682-56e6db2f89c8 /root/test ext4 defaults 0 0

    EXT4 diskin fstab’a eklenmesi

    İşlem ardından diskin sağlıklı bir şekilde mount olup olmayacağını kontrol etmem gerekiyor.

    Öncelik ile diskim herhangi bir klasöre bağlı mı kontrol ediyorum;

    mount |grep /dev/sdb1

    /dev/sdb1 diski herhangi bir klasöre mount durumda mı kontrolü

    Gözlemleyebileceğiniz üzere /root/test klasörüne mount durumda imiş.

    umount /dev/sdb1

    Ya da

    umount /root/test

    Komutlarından herhangi birisi ile bu diski klasörden ayırabilmekteyiz.

    umount /dev/sdb1 komutu ile diski test klasöründen ayırdık

    Mount olup olmadığını test edebilmek için fstab ta geçen bütün direktifleri tek seferde mount edebilmek adına;

    mount -a

    Komutunu kullanabiliriz. Aşağıdaki görselde gözlemleyebileceğiniz üzere disk mount durumda değil iken “mount -a” komutu sonrasında otomatik olarak /etc/fstab dosyanızdaki direktifler ile birlikte mount olmuş durumdadır.

    mount -a komutu ile sorunsuzca mount olan disk

    İşlemler bu kadardır.

    İyi çalışmalar dilerim.

  • DMARC Kaydı Nedir? Nasıl Konfigüre Edilir?

    Merhabalar,

    DMARC (Domain bazlı mesaj  raporlama / doğrulama)  Kaydı, spoof olarak gönderimin önüne geçmek için tasarlanmış bir kimlik doğrulama ve rapor protokolüdür. SPF ve DKIM kayıtlarının ardından eklenmesi gerekmektedir ve bu kayıtlardan yararlanarak kimlik doğrulama konusundaki hataları rapor içerisinde geçen adrese iletir ve daha güvenilir bir mail göndericisi olarak algılanmanızda ve SPAM Skorunuzu düşürmenizde rolü vardır.

    https://mxtoolbox.com/DMARCRecordGenerator.aspx

    Yukarıdaki URL üzerinden otomatik DMRAC Kaydı oluşturabilirsiniz.

    2 tür DMARC kaydı mevcuttur.

    Basic DMARC
    Gelişmiş DMARC
    Bu ayrımı daha rahat anlamak için ben sağladım, normalde isim isim ayrılmıyor.

    Şöyle ki, Basic DMARC kaydında sadece toplam raporlar için bir rapor adresi belirtiyorsunuz.

    Örneğin örnek.com için;

    _dmarc  TXT  v=DMARC1; p=none; sp=none; rua=mailto:rapor@örnek.com

    Gibi. Ancak Gelişmiş DMARC kaydı üzerinde, Başarısız / Hatalı raporlar ve toplam raporlar şeklinde de belirtilmektedir.

    Örneğin örnek.com için;

    _dmarc TXT v=DMARC1; p=none; rua=mailto:rapor@örnek.com; ruf=mailto:rapor@örnek.com; fo=1

    Gibi. Ancak burada ince bir detay bulunuyor;

    İşlemler sadece örnek.com için, örnek.com uzantılı bir mail adresi kullanacaksanız bu kadardır. Eğer örnek.com için, teknoas.net uzantılı bir mail adresini DMARC kaydınızda kullanmak istiyor iseniz, bu sefer teknoas.net’in DNS yapısı üzerinde bunu onaylayan bir kayıt girmeniz gerekecektir.

    Bunun için de aşağıdaki şekilde bir TXT kaydı girilebilir;

    MAİL_DOMAİN._report._dmarc.DMARC_DOMAİN. TXT ANA_DMARC_KAYDI

    Yani Basic için;

    teknoas.net._report._dmarc.örnek.com. TXT _dmarc  TXT  v=DMARC1; p=none; sp=none; rua=mailto:rapor@örnek.com

    Gelişmiş için;

    teknoas.net._report._dmarc.örnek.com. TXT _dmarc TXT v=DMARC1; p=none; rua=mailto:rapor@örnek.com; ruf=mailto:rapor@örnek.com; fo=1

    Şeklinde.

    İyi çalışmalar dilerim.

  • Parola Gereksinimi olmadan SSH yapabilmek

    Merhabalar,

    Bu yazıda Linux bir sunucunun diğer Linux bir sunucuya nasıl şifre gereksinimi olmadan SSH bağlantısı sağlayabileceğini ileteceğim.

    A Sunucusunun, B, C ve D sunucularına şifresiz bağlanmasını istiyoruz diyelim.

    Sunucu IP leri de aşağıdaki şekilde olsun;

    A – 1.1.1.1
    B – 1.1.1.2
    C – 1.1.1.3
    D – 1.1.1.4

    Öncelik ile, A sunucusuna, şifresiz bağlantı sağlayacak sunucuya giriş yapın.

    ssh-keygen

    Komutunu çalıştırın ve yönetgeleri izleyerek bir private key oluşturun.)

    ssh-rsa şeklinde başlayan uzun bir key olacaktır.

    Ardından ssh-copy-id komutunu kullanarak private key’imizi şifresiz bağlanacağımız sunuculara aktaracağız.

    Bunun için A sunucusu üzerinde;

    ssh-copy-id root@B
    ssh-copy-id root@C
    ssh-copy-id root@D

    Komutlarını çalıştırıyoruz. Yani;

    ssh-copy-id root@1.1.1.2
    ssh-copy-id root@1.1.1.3
    ssh-copy-id root@1.1.1.4

    Şeklinde. Key dosyasını aktarabilmek için ilgili sunucuların root şifrelerini soracaktır, şifreleri girmeniz yeterlidir.

    Tebrikler! Artık A sunucusu, B,C ya da D sunucusuna SSH bağlantısı gerçekleştirir iken şifre sormayacaktır.

    NOT: Erişim sağlayamıyor iseniz iptables içeriğini yahut hosts.allow/deny içerisinde engel olup olmadığını kontrol etmelisiniz.

    İyi çalışmalar dilerim

  • SSL Sertifikası kurulumu için IP atandığında siteye erişimin kesilmemesi

    SSL Sertifikası kurulumu için IP atandığında siteye erişimin kesilmemesi

    Merhabalar,

    SSL sertifikası kurulacağı zaman sitenin IP adresini Özel bir IP adresi ile değiştirdiğimizde, DNS yayılma sürecine girdiği için maillerde ve sitenin erişiminde bildiğiniz üzere problem oluşmakta.

    Bu sebepten ötürü, Eski IP adresini 2. bir IP adresi olarak ekleyerek erişim problemlerinin üstesinden gelmekteyiz.

    Özel IP adresini atamamızdan itibaren aşağıda Bu işlemin nasıl yapılacağını detaylıca anlatacağım;

    LINUX

    Ben Linux yönünde DirectAdmin üzerinden örnek vereceğim, Hosting sunucularımız DirectAdmin olduğu için anlatım yeterli, ancak buradan edindiğiniz bilgilerden yola çıakrak apache, apache2, litespeed, ngnix kullanan tüm sunucularda bu işlemi yapmanız mümkün.

    Öncelik ile Her zamanki gibi Özel IP’nin atamasını yapıyoruz.

    Böylece SSL kurulumu yapabilmek için Sitemizi Özel IP adresine alıyoruz.

    Sonrasında, İlgili sunucuya giriş yapıyoruz.

    İşlem yapacağımız kullanıcının httpd.conf dosyasını favori text editörümüz ile açıyoruz.

    Burada, VirtualHost satırını arıyoruz. Sitemiz, DNS kayıtları uyuştuğu sürece sadece bu satırda belirtilen IP adresinden çalışacaktır, eğer bu satırda belirtilen IP adresi, DNS kayıtlarındaki A kayıdından farklı ise ya da bu satırdaki IP hatalı ise, “Apache is Functioning Normally” hatasını alırsınız.

    Görselde gözlemleyebileceğiniz üzere Buradaki sunucunun paylaşımlı IP adresi, özel IP ile değişmiş durumda yani herşey düzgün ilerliyor.

    Ancak, bu esnada DNS yayılma süreci tamamlanana kadar 2-12 saat içerisinde müşterimizin sorgulama problemlerinden ötürü sitesinin açılmaması, Apache is Functioning Normally hatası vermesi mümkün.

    Bu gibi durumlar ile karşılaşmamak için, Özel IP adresinin ardına bir virgül ekleyerek eski yani Sunucunun Paylaşımlı IP adresini de yazmamız gerekiyor.

    Bu işlemi yaptığımızda, DNS yayılma süreci içerisinde yeni kayıdı çekmemiş ve eski IP ile siteye ulaşmak isteyen kullanıcılar da erişimde problem yaşamadan siteye erişebiliyor, yeni Özel IP üzerinden de kullanıcılar siteye erişebilir hale geliyor.

    httpd.conf dosyasında bu satırdan ilgili kullanıcı altında bulunan her site için iki, her subdomain için de extradan iki tane bulunuyor.

    İlki Normal Web erişimi, :80 portu için, 2.si ise SSL erişimi, :443 portu için.

    SSL erişimi için gerekli konfigürasyonu barındıran 443 portu için mevcut kayıt üzerinde de aynı eklemeyi yapmayı ihmal etmiyoruz.

    Bu işlemlerden sonra tek yapmamız gereken, sunucuda aktif çalışan Web Servisini restart etmek.

    lsof -i tcp:80

    Yukarıdaki komut ile sunucuda çalışan Web servisi gözlenebilir.

    İşlem tamamlanmıştır, bu aşamadan sonra site 2 IP adresine de yanıt verecektir.

    İşlemi not alınız ve ortalama 48 saat sonra Paylaşımlı IP Adresini httpd.conf üzerinden kaldırınız.

    WINDOWS

    Elimde örnek bir site olmadığı için direkt IIS üzerinde çalıştım, İşlemleri siz Plesk Panel, Maestro Panel üzerinden Özel IP atamanızın ardından başlıyor gibi düşünürseniz problem olmayacaktır.

    IIS’e giriş yapıyoruz,

    İlgili sitemizi buluyoruz ve sağdaki Bindings sekmesine tıklıyoruz.

    Gözlemleyebileceğiniz üzerine hem http, hem de https için www li ve www siz bir şekilde Özel IP adresi ile beraber kayıtlar oluşmuş durumdadır.

    Bizim yapacağımız, eski IP adresini kullanarak bu kayıtları replike etmek denebilir.

    http kısmında pek fazla dikkat etmemiz gereken bir konu yok, www li ve www siz bir şekilde kayıtları oluşturuyoruz.


    Sonrasında SSL için kayıtları oluşturacağız, bu konu hassasiyet gerektiren bir konudur.

    https’i seçtikten sonra ek olarak bir de SSL Certrificates şeklinde bir kısım açılmakta, ben Default sertifikayı kullandım ancak mutlaka ilgili sitenin SSL sertifikasını kullandığınıza emin olun.

    Aynı şekilde https’i ve sitenin SSL sertifikasını seçerek Binding ekliyoruz;


    Ardından işlemlerimiz neredeyse tamamlanmış oluyor. ipv4.domain.com gibi kayıtlar görebilirsiniz, bu kayıtları es geçebilir hatta dilerseniz silebilirsiniz. Bu kayıtları replike etmenize gerek yoktur. İşlemlerimizi tamamladığımızda Bindings ekranımız aşağıdaki gibi her kayıttan 2 IP için de içerecektir;

    Ardından tek yapmamız gereken IIS te bu sitemizi restart etmek.

    İşlem tamamlanmıştır, bu aşamadan sonra site 2 IP adresine de yanıt verecektir.

    İşlemi not alınız ve ortalama 48 saat sonra Paylaşımlı IP Adresini IIS üzerinden Bindings sekmesinden kaldırınız.

    Bu dökümandaki işlemleri uygulayarak, Kesintisiz Kolaylık ilkesini yakalamaya artık bir adım daha yakınız.

    Hepinize iyi çalışmalar dilerim.