Signal Uygulamasından Daha İyisi: Session

Facebook, WhatsApp’ı 19 milyar dolara satın aldığından beri veri toplayabilmek için geniş bir kullanıcı veritabanına ihtiyaç duymakta. Ülkemiz ve dünyada yaygın olarak kullanılan WhatsApp ile, birçok kamu kurumu anlık yazışmalarını bu platform ile gerçekleştirmekteydi. Ancak Facebook’un yeni gizlilik sözleşmesini dayatmasıyla rüzgâr bir anda tersine döndü. Kullanıcılar alternatif iletişim araçları olan Signal ve Telegram’a büyük bir hızla geçiş yapmaya başladı. (Telegram konusuna bu yazıda değinmeyeceğim).

Facebook cephesi ise geri adım atarak sözleşmeyi 3 ay ertelediklerini belirtti. Signal muhtemelen en popüler gizlilik yanlısı anlık mesajlaşma uygulaması ve WhatsApp’ın işleri berbat etmesinden sonra popülerliğini arttırdı. Ancak Signal, bu büyük kullanıcı göçünü kaldıramadı ve iki gün boyunca normal hizmet veremez duruma geldi. Bu sorunun başlıca nedeni, Signal sunucularının Amerika lokasyonlu olması ve merkeziyetçi bir yapı üzerine kurulmasıdır.

Bu durumda karşımıza büyük bir sorun çıkmakta: Ya Signal sunucularına bir saldırı ya da erişim engeli olursa son kullanıcılar ne yapacak? Komplo teorisyeni gibi gözükmek istemem ancak, bu teknolojinin de sorunlar çıkarmayacağının bir garantisi yok.

Bu durumda karşımıza başka bir alternatif çıkıyor: Session.

Session, hassas meta verilerinin gönderimini en aza indiren uçtan uca şifreli bir mesajlaşma programıdır. Teknoloji devlerinin gözetimden korunmak isteyen kişiler için tasarlanmıştır. Session kullanıcı meta verilerinin açığa çıkmasını en aza indirirken, uçtan uca şifreli mesajlar göndermek için bir dizi merkezi olmayan depolama sunucusu ve bir TOR yönlendirme protokolü kullanır.

Session kullanıcılara aşağıdaki korumaları sağlamayı amaçlamaktadır:

Gönderenin anonimliği: Gönderenin uzun vadeli kimlik anahtarı, TOR yönlendirme yolundaki ilk atlama dışında, yalnızca oturumun üyeleri tarafından bilinir, diğer tüm taraflar gönderenin IP adresini bilmez. Ancak ilk atlama, mesajın beklenen hedefini veya içeriğini bilmez.

Anonim alıcı: TOR yönlendirme yolundaki ilk atlama dışında, diğer tüm taraflar alıcının IP adresini bilmez. Benzer şekilde, ilk atlama, mesajın kaynağını veya içeriğini bilmez.

Veri bütünlüğü: Bozulmamış ve değiştirilmemiş mesajlar. Mesajlar değiştirilirse bozuk olarak gösterilecek ve silinecektir.

Uçtan uca şifreleme: Mesajlar (arkadaşlık istekleri hariç), “kayıt dışı” (OTR) mesajlaşma protokolünün özelliklerini korur.

ISO/IEC 27032 Bilgi Teknolojisi — Güvenlik teknikleri — Kuralları

ISO / IEC 27032: 2012, bir projenin veya kuruluşun siber güvenlik durumunu iyileştirmek için rehberlik sağlar ve özellikle diğer güvenlik alanlarında araştırma bağımlılıklarını ortaya çıkarır. ISO 27001 serisinde birçok güvenlik standardı vardır. Ancak, ISO / IEC 27032 standardı, iş süreçlerinin korunması ve uzun vadeli sürdürülebilirliği için yönergeler sağlar.

SİBER GÜVENLİK

Güvenlik terimi, çeşitli disiplinleri kapsayan ve uygulama güvenliği, ağ güvenliği ve ağ güvenliği gibi birçok alanı içeren karmaşık bir terimdir. Bu nedenle, ağ güvenliği bilgi güvenliği, uygulama güvenliği, ağ güvenliği vb. İle eşanlamlı değildir. Siber güvenliğin temel amacı, paydaşların siber uzayın korunmasında aktif bir rol oynamasını sağlamaktır (yani paydaşların siber uzayın güvenliğini sağlamak ve sürdürmek için harekete geçmesini gerektirir) ve güvenilirliğini ve pratikliğini geliştirmektir.

FAYDALARI

Kuruluşun verilerini ve gizliliğini siber tehditlere karşı korumak, Siber güvenlik planları oluşturma ve sürdürme becerilerini geliştirmek, Siber güvenlik stratejilerini yönetmek için en iyi uygulamaların geliştirilmesine yardımcı olmak, Kuruluşun güvenlik sistemlerini ve iş sürekliliğini iyileştirmek ve paydaşlarla güven inşa etmek, Olay meydana geldiğinde daha hızlı yanıt vermek gibi faydaları bulunmaktadır.

SİBER UZAY KAVRAMI

İnternet ve benzeri ağları kullanan kişiler ile bilgisayar arasındaki iletişimin oluşturduğu sanal gerçeklik ortamını tanımlayan metaforik bir soyutlamadır. Siber uzay aynı zamanda İnternet’in karşılığı olarak da kullanılır. İlk olarak, bilgisayar korsanlarının nasıl sızdığını anlatan “Neuromagic” romanında Kanadalı ünlü bilim kurgu yazarı William Gibson tarafından kullanılmıştır.Bill Gates bir röportajında: “21. yüzyılda, iki tür iş olacak: Çevrimiçi işler ve artık var olmayan işler.” Bugün, çoğu işlem siber uzayda yürütülüyor. Peki Ağ güvenliği ne olacak? Öncelikle, siber uzay güvenliği ile ilgili tüm konular, onu korumak için güvenlik önlemleriyle ilgilidir. Bu nedenle, ISO 27032 temel olarak siber uzay ile daha güvenli bir etkileşim sağlamamıza yardımcı olmak için rehberlik sağlar.

ISO 27001 İLE TEMEL FARKLAR

ISO 27032, sertifikalandırabileceğiniz bir standart değildir; belki de bu, bilgi güvenliği yönetim sistemlerinin sertifikalandırılmasına izin veren ISO 27001’den en önemli farklarından biridir. 
Bu nedenle, bu iki standardın farklı hedefleri vardır, ancak bunlar yakından ilişkilidir. ISO 27032’nin temel amacı ağ güvenliği konusunda rehberlik ve özel öneriler sağlamak olsa da, ISO 27001 bir bilgi güvenliği yönetim sistemi kurmak için gereksinimleri belirtir. Bu nedenle, ISO 27001 kuruluşunuza ve bilgi güvenliği yönetim sistemine odaklanırken, ISO 27032 siber uzaya odaklanır ve farklı güvenlik alanlarına odaklanarak siber uzaydaki işbirliklerini ve sorunları çözmek için bir çerçevedir.

RİSK YÖNETİMİ

Risk, belirli parametrelere (varlıklar, tehditler ve güvenlik açıkları gibi) göre hesaplanabilir, ancak riski hesaplamanın başka yolları da vardır.ISO 27001’in mevcut sürümü, risk düzeyini belirlemek için varlıkları, tehditleri ve güvenlik açıklarını göz önünde bulundurmanız gerektiğine işaret etmez.Daha esnektir. Öte yandan, ISO 27032, farklı varlık türlerini belirtir ve ISO 27005 gibi herhangi bir tehdit ve güvenlik açığı kataloğu yoktur. Risk yönetimi için en iyi uygulamalar olan ISO 27005 veya ISO 31000’e atıfta bulunurlar.

KONTROLLER

ISO 27001, 114 kontrole sahiptir, ancak bunların tümü teknolojiyle ilgili değildir.Birçoğu tedarikçi yönetimi, insan kaynakları yönetimi vb. İle ilgilidir. Ancak, ISO 27032’deki kontroller, ağ güvenliği için daha spesifik kontrolleri içerir. (Seviye kontrollerinin uygulanması, sunucuların korunması, son kullanıcılar, sosyal mühendislik saldırı kontrolleri vb.) ISO 27001, hiçbirinin ağ güvenliğiyle doğrudan bir ilişkisi olmayan her kontrolün yalnızca kısa bir açıklamasını içerir.Her bir kontrol ve uygulama kılavuzunun ayrıntılı bilgileri ISO 27002’de bulunabilir.ISO 27032’de bulabileceğiniz bir diğer önemli bileşen, olası siber güvenlikle ilgili olayları yönetirken özellikle koordinasyon ve bilgi alışverişinin çerçevesidir. ISO 27001 ayrıca olayları yönetmek için Ek A’da bulunan kontrollere sahiptir, ancak bu kontroller yalnızca bilgi güvenliğiyle ilgili olaylar için kullanılır.

ENTEGRASYON

ISO 27001, işletme bilgilerinizi korumaya yardımcı olmak için Ek A güvenlik kontrolleri sağladığından, bu iki standart ayrı olarak değil, bir bütün olarak anlaşılmalı ve uygulanmalıdır.Ancak, ISO 27032 kontrol listesi siber uzaydaki operasyonlarınızı korumak için önemlidir. Hazırlanan eylem planında tam olarak nelerin uygulanması gerektiğini, son teslim tarihi, sorumlu kişi, bütçe ve uygulama hakkında kime bilgi verilmesi gerektiği belirtilmelidir.

Kaynaklar:

Cybersecurity Guidelines – Introduction to ISO 27032
https://pecb.com/past-webinars/cybersecurity-guidelines—introduction-to-iso-27032

ISO 27001 vs. ISO 27032 cybersecurity standard
https://advisera.com/27001academy/blog/2015/08/25/iso-27001-vs-iso-27032-cybersecurity-standard/

ISO/IEC 27032:2012
https://www.iso.org/standard/44375.html

9 Steps to Cybersecurity
ISBN: 978-953-57452-0-4
Dejan Kosutic

Arch Linux UEFI Kurulum Aşamaları

Arch Linux severek kullandığım dağıtımlardan birisi. Kurulum aşamlarımı kendime göre özelleştirdim.

# Load Turkish Keys
  loadkeys trq
  
# Verify the boot mode
  ls /sys/firmware/efi/efivars
  
# Select Editor
  export EDITOR=nano

# Connect Internet
  wifi-menu

# Partitioning the Hard Drive
  cfdisk /dev/sda
  /dev/sda1 -- EFI Partition = 1G 
  /dev/sda2 -- Swap Partition = 1G 
  /dev/sda3 -- Default Partition = 100%
  
  mkfs.fat -F32 /dev/sda1
  mkswap /dev/sda2
  mkfs.ext4 /dev/sda3
  
  mount /dev/sda3 /mnt
  swapon /dev/sda2
  mkdir /mnt/boot
  mount /dev/sda1 /mnt/boot
  
# Mirror Select
  nano /etc/pacman.d/mirrorlist

  Server = http://ftp.linux.org.tr/archlinux/$repo/os/$arch
  Server = http://mirror.veriteknik.net.tr/archlinux/$repo/os/$arch
  
# Installing basic software packages
  pacstrap /mnt base linux linux-firmware nano vi bash man-db util-linux
  
  genfstab -U /mnt >> /mnt/etc/fstab
  cat /mnt/etc/fstab

# Chroot
  arch-chroot /mnt
  
  pacman -S grub efibootmgr dialog netctl iputils dhcpcd netctl bluez bluez-utils acpid acpi cups xorg xorg-server xorg-drivers mesa pulseaudio 
  
# Setting the System Clock
  ln -sf /usr/share/zoneinfo/Europe/Istanbul /etc/localtime
  timedatectl set-ntp true
  hwclock --systohc
  
# Locale
  nano /etc/locale.gen
  -- en_US.UTF-8 UTF-8
  -- en_US ISO-8859-1
  locale-gen
  
  nano /etc/vconsole.conf
  KEYMAP=trq
  
# Hostname
  nano /etc/hostname

# KMS
  nano /etc/mkinitcpio.conf
  MODULES=(amdgpu)
  
  mkinitcpio -p linux
  
# Root Password
  passwd
  
# Grub
  grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
  grub-mkconfig -o /boot/grub/grub.cfg
  
  exit
  
  umount -R /mnt
  swapoff -a
  reboot
  
# Login
  localectl set-keymap --no-convert trq
  localectl set-x11-keymap tr
  
# Activate Units
  systemctl enable acpid.service
  systemctl enable org.cups.cupsd.service
  systemctl enable avahi-daemon.service
  systemctl enable bluetooth.service
  systemctl enable systemd-networkd.service
  
# Local Hostname Resolution
 
  nano /etc/hosts

  127.0.0.1        localhost
  ::1              localhost
  127.0.1.1        archlinux.localdomain        archlinux
  
# Add User
  useradd -m ceyhan
  passwd ceyhan 
  
# General Recommendations
  pacman -S chromium gimp inkscape blender faenza-icon-theme ttf-droid ttf-font-awesome ttf-anonymous-pro ttf-linux-libertine ttf-liberation gtk-engines elementary-icon-theme materia-gtk-theme arc-gtk-theme arc-icon-theme gtk-engine-murrine openssh curl wget gvfs gvfs-mtp ntfs-3g libreoffice-fresh transmission-gtk gparted 
  
# Gnome Software Center
  pacman -S gnome-software-packagekit-plugin archlinux-appstream-data
  

GNU Health – Sağlık Ve Hastane Bilgi Yönetim Sistemi

Özgür yazılım ifadesi İngilizce “Free Software” ifadesinin çevirisi olarak karşımıza çıkmaktadır. Özgür yazılımlar; kapalı kaynak koda sahip ticari yazılımlardan farklı olarak, kişilere yazılımı inceleme, çalıştırma, kopyalama, dağıtma ve değiştirme olanaklarının yanında geliştirme özgürlüğünü de sağlar. Kaynak koda erişimi sağlayarak geliştiricilere ve kullanıcılara istediklerini yapma şansı vermektedir. Dünyada var olan uygulamaların dijitalleşmesine paralel olarak sağlık ve hastane bilgi sistemleri de kolaylıkla erişilebilir hale gelmeye başlamıştır. Ülkemizin özellikle son yıllarda sağlık alanında gerçekleştirmiş olduğu yatırımlar ile beraber kişisel verilerin gizliliği daha önemli hale gelmektedir. 6698 sayılı Kişisel Verilerin Korunması Kanunu ve Avrupa Birliği tarafından hazırlanan Genel Veri Koruma Tüzüğü (GPDR)  ile kişisel verilerin korunması ve birey mahremiyetinin sağlanması hedeflenmektedir.

GNU Health Uygulaması, sağlık profesyonelleri, kamu ve özel şirketlerin kullanabileceği şekilde hazırlanan özgür bir yazılım projesidir. İçerisinde Elektronik Tıbbi Kayıt, Hastane Yönetim Sistemi ve Sağlık Bilgi Sistemi modüllerini barındırmaktadır. Bu hazırlanan modüller hastaneler ve diğer sağlık kuruluşları için özelleştirilebilir. GNU Health farklı senaryolara uygun hale getirilebilir şekilde dizayn edilmiştir. Bu modüler yapı küçük işletmeler ya da ulusal ölçekte sağlık projelerinde kullanılabilecek şekilde ayarlanabilir.

GNU Health uygulamasını kapalı kaynak koda sahip ticari yazılımlardan ayıran en temel özelliği, kaynak kodlarının okunabilmesidir. Kod tabanlı gerçekleşen saldırıların erken tespiti, hasta verilerinin dışarıya sızdırılması ya da olası ihlalleri en aza indirgeyen özgür yazılım ile büyüyen uluslararası bir topluluğa sahiptir. GNU Health Resmi Yerelleştirme sayfasına bakıldığında, Türkçe çalışmaları arzu edilen ölçülerde olmayıp, yaklaşık %3.8 civarındadır. En yüksek yerelleştirme oranları İspanyolca ve Çince olarak karşımıza çıkmaktadır.

Hava kirliliğine bağlı gelişen hastalıklar, kanser ve otoimmün hastalıklar, günümüz modern dünyasında karşı karşıya olduğumuz zorluklardandır. GNU Health Uygulaması, kişilerin aile geçmişi, yaşam tarzı, çevresel risk faktörlerini ve sosyoekonomik durum hakkındaki ölçütleri bir araya getirerek bunları bağlamsallaştırır. Sağlık alanında bütüncül bir yaklaşımı benimsememiz gerekir. Sağlık alanında gelişmeyi sürdürmek istiyorsak, hastalara bütünsel olarak yaklaşmalı ve disiplinlerarası bir şekilde çalışmalıyız. GNU Health Uygulaması işte tam da bunlara olanak tanır. Küresel ölçekte sağlık alanında yaygınlaşmayı teşvik ederek, katılımcılar ile beraber sağlık ağı oluşturmayı hedeflemektedir. GNU Health ayrıca içinde barındırdığı laboratuvar bilgi yönetim sistemi ile analizlerin oluşturulmasına, değerlendirilmesine, grafiksel yorumuna ve finansal yönetimine olanak tanır.

PROJENİN ÖNE ÇIKAN ÖZELLİKLERİ

GNU Health Uygulaması ile aile hekimliği ve birinci basamak konularına güçlü bir şekilde odaklanılabilir. GNU Health,, barınma koşullarından madde bağımlılığına kadar tüm detayları kayıt altına alabilecek şekilde tasarlanmıştır. ICD 10 ile uyumlu şekilde çalışmanın yanında, reçete yazma, faturalandırma işlemlerini de yerine getirebilmektedir. 4200’den fazla genetik bozukluğu ve genetik riskleri değerlendirebilmekte ve epidemiyolojik istatistikleri verebilmektedir. %100 kağıtsız dijital hastane standardının sağlanmasında etkin rol üstlenen GNU Health, sağlık sisteminin ihtiyaçlarına uygun bir şekilde tasarlanmıştır.

GNU Health Sağlık ve Hastane Bilgi Sistemi, gömülü sistemlerde rahatlıkla çalışabilecek şekilde tasarlanmıştır. Afet durumlarında hızlı bir şekilde devreye alınabilir ve internet bağlantısına gereksinim duymaz. Bu şekilde afetlerde bile sağlık kayıtlarının kesintisiz bir şekilde tutulmasına olanak sağlar. Thalamus projesi ile dahili mesajlaşma sistemi ve kullanıcı doğrulama yöntemleri geliştirilmektedir.

Arjantin, Meksika, Pakistan, Hindistan, Jamaika, Laos, Kamerun gibi ülkeler GNU Health  sistemini ülkelerinde kullanmaya başlamıştır. TÜBİTAK tarafından geliştirilen Pardus işletim sistemi ile beraber, sağlık uygulamalarında özgür yazılıma geçilmesi, milli ve ekonomik katkılarının yanında, sağlık profesyonelleri ve hastalara güçlü ve güvenilir sağlık bilgi sistemi sunmaya yardımcı olacaktır. Etik açıdan bakıldığında ticari yazılımların aksine özgür yazılımlar bir zorunluluktur.

Ceyhan MOLLA

Kaynakça

GNU Health Project 12 24, 2018 tarihinde http://health.gnu.org/home adresinden alındı

GNU Health Resmi Yerelleştirme 12 24, 2018 tarihinde https://www.transifex.com/meanmicio/GNU_Health/ adresinden alındı

Mevzuat Bilgi Sistemi 12 24, 2018 tarihinde https://www.mevzuat.gov.tr/MevzuatMetin/1.5.6698.pdf adresinden alındı

The EU General Data Protection Regulation (GDPR) . (2016, 04 14). 12 24, 2018 tarihinde https://eugdpr.org/ adresinden alındı

TMMOB Elektrik Mühendisleri Odası. (2009, Ocak). 12 2018, 24 tarihinde http://kitap.emo.org.tr/genel/kitap_goster.php?kodu=51 adresinden alındı

Tübitak Ulakbim. 12 2018, 24 tarihinde TÜBİTAK Pardus İşletim Sistemi – http://ulakbim.tubitak.gov.tr/tr/projelerimiz/pardus adresinden alındı

Ubuntu Üzerinde UFW Kurulumu

UFW (Uncomplicated Firewall), iptable altyapısını kullanan, basit bir güvenlik duvarı seçeneğidir.Her ne kadar iptable esnek bir seçenek olsada, yeni kullanıcılar için bir güvenlik duvarını doğru şekilde yapılandırmak ve nasıl kullanılacağını öğrenmek zor olabilir. UFW burada devreye girmektedir.

Gereksinimler

Çalışan bir Ubuntu 18.04 sunucuya ihtiyacımız bulunuyor.UFW paket olarak kurulu gelmekte.Fakat aktif olarak çalışmamaktadır.

Temel Kural Oluşturma

Güvenlik duvarımız için yapacağımız ilk iş temel güvenlik politikalarını tanımlamak olacaktır.Varsayılan olarak, UFW tüm gelen bağlantıları reddedecek ve tüm giden bağlantılara izin verecek şekilde ayarlanmıştır.Bu, sunucunuza erişmeye çalışan herkesin bağlanamayacağı, sunucu içindeki herhangi bir uygulamanın dış dünyaya erişebileceği anlamına gelir.Aşağıdaki komutları çalıştırıyoruz;

sudo ufw default deny incoming
sudo ufw default allow outgoing

SSH Bağlantısına İzin Vermek

UFW güvenlik duvarımızı şimdi etkinleştirdiysek, gelen tüm bağlantıları reddeder. SSH bağlantısına izin vermek için aşağıdaki adımları takip etmelisiniz;

sudo ufw allow ssh
sudo ufw allow 22

Güvenlik Duvarını Devreye Alıyoruz

sudo ufw enable

Bu noktada, sunucunuzun yanıt vermesi gereken diğer tüm bağlantılara izin vermelisiniz. İzin vermeniz gereken bağlantılar özel ihtiyaçlarınıza bağlıdır.

Conky’de Hava Durumunu Göstermek

Bildiğiniz gibi Conky, X Window System için yapılmış bir sistem monitörü yazılımı.İnternet üzerinde çeşitli konfigürsayonlarını bulmak mümkün.Sizlerle kendi kullandığım hava durumu scriptini paylaşacağım.

Hava durumu verilerini AccuWeather üzerinden almakta.Oluşturacağınız weather.sh dosyasına mutlaka okuma ve yazma özelliği vermelisiniz.

#!/bin/sh
#AccuWeather (r) RSS weather tool for conky
#
#USAGE: weather.sh <locationcode>
#
#(c) Michael Seiler 2007

METRIC=1 #Should be 0 or 1; 0 for F, 1 for C

if [ -z $1 ]; then
    echo
    echo "USAGE: weather.sh <locationcode>"
    echo
    exit 0;
fi

curl -s http://rss.accuweather.com/rss/liveweather_rss.asp\?metric\=${METRIC}\&locCode\=$1 | perl -ne 'if (/Currently/) {chomp;/\<title\>Currently: (.*)?\<\/title\>/; print "$1"; }'

Conky dosyam şu şekilde;

use_xft yes
xftfont 123:size=8
xftalpha 0.1
update_interval 1
total_run_times 0
own_window no
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
minimum_size 250 5
maximum_width 1366
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no
default_color white
default_shade_color red
default_outline_color green
alignment top_left
gap_x 60
gap_y 300
no_buffers yes
uppercase no
cpu_avg_samples 2
net_avg_samples 1
override_utf8_locale yes
use_spacer yes


TEXT
${voffset 10}${color EAEAEA}${font Fira Sans:bold:pixelsize=120}${time %H:%M}${font}${voffset -84}${offset 10}${color FFA300}${font Fira Sans:bold:pixelsize=42}${time %d} ${voffset -15}${color EAEAEA}${font Fira Sans:bold:pixelsize=22}${time  %B} ${time %Y}${font}${voffset 24}${font Fira Sans:bold:pixelsize=58}${offset -148}${time %A}${font}
${voffset 10}${offset 12}${font Fira Sans:pixelsize=10}${color FFA300}HD ${offset 9}$color${fs_free /} / ${fs_size /}${offset 30}${color FFA300}RAM ${offset 9}$color$mem / $memmax${offset 30}${color FFA300}BATTERY ${offset 9}$color${battery_percent}%${offset 30}${color FFA300}WEATHER ${offset 9}$color${execi 300 /home/ceyhan/.weather/weather.sh "MEA|TR|TU041|IZMIR"}${offset 30}${color FFA300}IP ${offset 9}$color${addr wlp3s0} 
${voffset 10}${offset 2}${font Fira Sans:pixelsize=10}${offset 10}${color FFA300}ARCH ${offset 2}$color${machine}${offset 30}${color FFA300}KERNEL ${offset 9}$color${kernel}${offset 30}${color FFA300}LOAD ${offset 9}$color${loadavg}${offset 30}${color FFA300}CPU ${offset 9}$color${cpu cpu1}% / $color${cpu cpu2}%${offset 30}${color FFA300}UPTIME ${offset 9}$color${uptime}${offset 30}${color FFA300}ACPI ${offset 9}$color${acpitemp}°C${offset 30}${color FFA300}PROCESSES ${offset 9}$color${processes}

“Setting Locale Failed” Hatası ve Çözüm Önerisi

GNU/Linux sunucularımızda servisleri açıp kapatırken;

perl: warning: Setting locale failed.   

şeklinde hata alabiliyoruz. Doğru yapılandırılmamış locale ayarları buna neden olabiliyor. Locale ayarları glibc ve diğer programlar veya kütüphaneler tarafından metin oluşturmak, bölgesel parasal değerleri, saat ve tarih biçimlerini, alfabetik özdeyişleri ve diğer yerel ayara özgü standartları doğru görüntülemek için kullanılır.

nano /etc/locale.conf
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

Arch Linux kurulu sistemimde hatayı bu şekilde düzelttim. Özellikle i3wm ya da Openbox gibi pencere yöneticileri kullanıyorsanız işinize yarayabilir.

Mysql Veritabanı Optimizasyonu

MySQL Query Cache, veritabanından veri alımını hızlandıran önemli bir MySQL özelliğidir.Verileri depolayarak, daha sonra bir istemci aynı sorguları talep ederse, veritabanından tekrar komut çalıştırılmasına ihtiyaç duymadan verilerin yeniden çağrılmasına olanarak verir. Bu özellik MySQL 8.0 ile ortadan kalkmıştır. Ancak eski MySQL veritabanlarında büyük kolaylık sağlamaktadır. Özellikle yüksek trafikli WordPress sayfalarında hayat kurtarmaktadır.

Kurulum

MySQL sunucunuzun gerkli şartları taşıdığından emin olun. Bu özellik MySQL 8.0 ile çalışmamaktadır.

sudo nano /etc/mysql/my.cnf
...
[mysqld]
query_cache_type=1
query_cache_size = 10M
query_cache_limit=256K

Burada query_cache_type=1 yazarak MySQL Query Cache etkinleştirmesini yaptık.Tek sorgu sınırı boyutunu 256K olarak ayarladık ve 10MB sorgu önbelleği tahsis etmiş olduk.

Aktifleştirme

sudo systemctl restart mysql

MySQL veritabanımızı bu şekilde başlattıktan sonra, sunucu yükümüzün azaldığını görebileceksiniz.

Nginx Sunucunuzda Güvenliği Bir Adım Öteye Taşıyın

Nginx diğer web sunucularına göre; daha az bellek kullanımı, yüksek performans ve ölçeklenebilirliği ile öne çıkmakta. Dünya geneline bakıldığında %26’lık kullanımı ile birçok firma tarafından tercih edildiğini görebilmekteyiz. We sayfalarımızda güvenliği sağlamak için çeşitli önlemlerin yanında temel olarak bazı şeyleri düşünmemiz gerekiyor. Bunların başında HTTP Security Headers’lar gelmekte. Bu değişikliklerin çoğu durumda uygulanması çok kolaydır ve yalnızca küçük bir web sunucusu yapılandırma değişikliği gerektirir. Ekleyeceğimiz bu başlıklar ile sunucumuzda olası güvenlik risklerini azaltacağız. Bu yazımda benim de kullandığım bazı HTTP Security Headers’ı inceleyeceğiz.

Content Security Policy

Content-Security-Policy üstbilgisi ek bir güvenlik katmanı sağlar. Bu politika, onaylanan içerik kaynaklarını tanımlayarak XSS ve diğer kod enjeksiyon saldırıları gibi saldırıları önlemeye yardımcı olur.

Content-Security-Policy: script-src 'self' https://www.google-analytics.com

X-XSS-Protection

Modern web tarayıcılarının desteklediği cross-site scripting (XSS) için bir üst bilgi ekler.Bu genelde tarayıclarda etkindir. Ama eski tarayıcıların buna uymasını zorunluluk haline getirir.

add_header X-XSS-Protection "1; mode=block" always;

X-Frame-Options

Başta clickjacking saldırılarını engellemek için kullanılan bir yöntemdir.IE 8+, Chrome 4.1+, Firefox 3.6.9+, Opera 10.5+, Safari 4+ gibi modern tarayıcılar tarafından desteklenmektedir.

add_header X-Frame-Options "SAMEORIGIN" always;

X-Content-Type-Options

X-Content-Type-Options başlığı verilerin sürekli indirilmesini engellemeye yönelik bir üstbilgidir.

add_header X-Content-Type-Options "nosniff" always;

Nasıl Test Ederim?

Sunucunuzun güvenlik üstbilgilerini online olarak test etmenize olanak sağlayan birçok servis bulunmaktadır.Ayrıca Chrome vb. tarayıcılarda bulunann geliştirici araçlarını kullanarak web sayfanızın hangi üstbilgileri içerdiğini kolaylıkla test edebilirsiniz.