Üye İşyeri Erişim Panelini Nasıl Kullanırım?

Artık PCI Checklist ile çalışan ödeme servis sağlayıcıları (bankalar, ödeme kuruluşları vb.) Üye İşyerleri ile risk bulgularını PCI Checklist paneli üzerinden paylaşabiliyor.

Siz de PCI Checklist ile çalışan bir ödeme kuruluşunun altyapısını kullanıyorsanız, risk raporlarınızı görüntülemek için bir davetiye bağlantısı almış olabilirsiniz. Bu bağlantı yardımıyla sisteme kayıt olduğunuzda, işyerinizle ilgili güncel riskleri görüntüleyebilir, gerekli önlemleri alabilirsiniz.

1. Erişim Davetiyesine Tıklayın

 
Ödeme kuruluşunuzca size iletilen davetiye, sizin kullanımınıza özeldir. Davetiye bağlantısı aşağıdakine benzer:
 
 
Geçerli bir bağlantıya tıkladığınızda, aşağıdakine benzer bir ekranla karşılanırsınız:
Hali hazırda bir PCI Checklist hesabınız varsa, doğrudan giriş yapabilirsiniz; veya KAYIT OL seçeneğine basarak kaydolabilirsiniz.
 

2. Kaydolun ve Hesabınızı Onaylayın

Kaydolmak için gerekli bilgileri girip, şifrenizi tanımladıktan sonra size gelen Onay E-postasıyla e-posta adresinizi onaylamanız gerekiyor. E-postadaki bağlantıyı takip ederek hesabınızı onaylayabilirsiniz.
 
 
E-posta size [email protected] adresinden iletilecektir. E-postanın ulaşmaması durumunda, spam kutunuzu kontrol ediniz.
 

3. Giriş Yapın

Sisteme ilk kez giriş yaptığınızda, aşağıdakine benzer bir ekranla karşılaşanacaksınız. Şirketteki pozisyonunuzu bir defa seçerek, panele ulaşacaksınız.
 
 

4. Raporunuza Erişin

Panele giriş yaptıktan sonra, sol menüdeki “Paylaşılan Raporlar” bölümünden, tarafınızla paylaşılan risk raporlarını görüntüleyebilirsiniz.

 
Bu raporlar, e-ticaret sitenizin potansiyel siber güvenlik risklerini ve tavsiye niteliğindeki çözüm önerilerini içerir.
 
“Paylaşılan Raporlar” sayfasında, sizinle rapor paylaşan ödeme servis sağlayıcısını (Paylaşan) ve hangi Üye İşyeri için (Değerlendirilen) paylaştığını görüntüleyebilirsiniz.
 

5. Bilgilendirme Metnini Okuyun

Raporun İçindekiler kısmından sonra bir Bilgilendirme Metni bulunmaktadır. Bu bölümde, raporu incelemenizde faydalı olacak birtakım bilgiler bulunmaktadır. Bu bölümü okumak, bilhassa teknik takım arkadaşlarınızla değerlendirmek faydalı olacaktır.
 

6. Takım Arkadaşlarınızla Paylaşın

Günümüz karmaşık e-ticaret altyapılarının geliştirilmesi ve yönetilmesi bir takım işi. Sizinle paylaşılan raporları takım arkadaşlarınızla paylaşabilirsiniz. Raporun yanındaki Paylaş butonuna tıklayarak, ilgili raporu kimlerin görüntüleyeceğini düzenleyebilirsiniz.
 
Takım arkadaşlarınızdan ayrılanlar olursa, paylaşımlarını her zaman durdurabilirsiniz.

7. PCI-DSS Uyumluluğunuzu Yönetin

Panelin sol menüsünde, aşağıdaki görselde görüleceği üzere, PCI-DSS Uyumluluğu bölümü bulunmaktadır. Buradan, PCI-DSS Sihirbazıyla PCI-DSS seviyeniz ve buna göre doldurmanız gereken Öz-Değerlendirme Formu (SAQ) belirlenir.

Daha sonra, işyerinize uygun SAQ’yu Panelden doldurabilir, Bankanıza teslim edebilir; ASV ve AoC raporlarınızı yükleyebilirsiniz. Böylelikle, uyumluluk durumunuzu ve uyumluluk geçerlilik süreninizi öğrenebilir, durumunuza göre süre hatırlatmalarını alabilirsiniz.

HTTP Header Injection Zafiyeti

Bir web sunucusundan HTTP isteği yapıldığında, sunucu sayfaya ek olarak bir de üst bilgi iletmektedir, buna HTTP Header denilmektedir. HTTP Header gelen sayfanın nasıl işleneceği, dil bilgisi ve sıkıştırma olup olmadığı gibi önemli bilgileri içermektedir. İçerik sayfası ile HTTP header arasında ayrıcı olarak CRLF dediğimiz bir kod kullanılmaktadır, bu koddan sonra gelen bilgiler ise HTML sayfasını içermektedir.

Bir saldırgan CRLF karakteri ileterek araya kendi kodunu enjekte edebilir ve bu da CORS açığına neden olabilir. IIS, Apache ve NGINX gibi web sunucularının güncel sürümleri bu zafiyetten etkillenmemektedir.

CRLF Nedir

CRLF daktilo ve telegraftan bu yana kullanılmaktadır. Sayfa içerisinde yeni satıra geçmek için kullanılan özel bir karakterdir. İşletim sistemlerine göre bu karakter farklılık göstermektedir. Örneğin Windows ve Dos işletim sistemlerinde yeni satur CRLF iken, Unix ve benzeri işletim sistemlerinde sadece LF’dir.

İşletim Sistemi Karakter Script karşılığı
Microsoft Windows ve DOS, Atari CR LF \r\n
Unix, macOS, BSD LF \n

CRLF Neden iki karakter?

Daktilo’da her tuşa basmanızla birlikte üst kısmında bulunan hareketli kısım sağa doğru bir adım ilerleyecektir. Sayfa sonuna geldiğinizde duymanız muhtemel bir çan sesi ile artık hareketli kısım daha fazla ilerlemeyecektir. Satır başına dönmek için daktilonun çoğunlukla sol tarafında bulunan kol sağa doğru itilir. Bu CR’dir (Carriage Return). Hareketli kısım başa döner ama henüz satır atlamamıştır. Satır atlatmak için eski modellerde bağımsız bir kol daha vardır, bu kolu da bir defa kendinize doğru çekmelisiniz, bu da LF’dir (Line Feed).

Daktilodan bu yana kullanılmaya devam eden CRLF, metin dosyalarında UNIX/DOS uyumsuzluğunun da sebebidir. FTP transferlerinde kullanılan ASCII/binary karmaşası da buradan doğmaktadır.

Çözüm

Etkin ve hızlı çözüm için aşağıdaki direktifleri uygulayabilirsiniz

  1. URL’lerinizde URL encoding kullanın
  2. Web sunucunuzu en son versiyonuna güncelleyin

Yasal Uyarı

Copyright (c) 2019 – 2020 ONLAYER Bilişim Teknolojileri A.Ş.

Bu sayfadaki içeriğin kullanımı sadece bu sayfaya link ile atıf yapılarak mümkündür. Yazılı izin olmadan değiştirilemez ve alıntı yapılamaz.

Kullanım Uyarısı: Burada belirtilen direktifler olduğu gibidir ve uygulanması sonucunda oluşabilecek servis kesintileri ve veri kaybından ONLAYER sorumlu değildir. Sistemlerin daha iyi çalışabileceği ya da daha güvenli olacağına dair hiç bir garanti verilmemektedir. Ne firma ne de yazar kullanımdan dolayı hiçbir sorumluluk kabul etmemektedir.

TCP Zaman Damgası

Tüm Linux, Unix ve Windows sunucularda TCP Zaman Damgası (Timestamp) kurulumda açık gelmektedir. TCP paketleri ağ üzerinde iletirilirken zaman zaman kaybolabilir, bunun bir çok nedeni vardır, örneğin o sırada aktif ağ cihazları arızalanmış, bant kapasitesi aşılmış ya da hizmet veren servis durmuş olabilir. Bu gibi durumlarda TCP protokolü kaybolan paketin tekrar iletimini sağlar. Tekrar iletimin yapılacağı süreye RTO denir. RTO ise TCP Zaman Damgası ile hesaplanmakta ve TCP ağ performansını geliştirmektedir.

TCP Zaman Damgasının ilk sürümlerinde iletilen her bir paket için sayaç ilk değeri sunucunun açık olduğu sürenin değeri ile aynı olurdu. Bu değere konsol üzerinden uptime komutu ile bakabilirsiniz:

[root@localhost ~]# uptime 
15:17:40 up 1 day, 15:11, 2 users, load average: 0.00, 0.01, 0.05

Geçmişte bir saldırgan iletim halindeki TCP Zaman Damgası değerlerini hesaplayarak sunucu uptime değerine ulaşabilirdi. Ancak günümüzde TCP Zaman Damgası başlangıç değerleri rastgele verilmektedir.

Sunucunun uptime değerinin uzak bir sistem üzerinden görünürlüğünü test etmek için hping komutunu kullanabilirsiniz. Ping işlemi normal koşullarda ICMP prokolü üzerinden yapılmaktadır, bu işlem için ping komutu ile hedef sunucuya paket gönderilip sunucunun bu pakete cevap vermesi beklenir. hping ise ICMP dışında UDP ve TCP protokollerini de kullabarak belirlediğiniz bir porta paket iletimini sağlayabilir. Sisteminizde hping yüklü değilse aşağıdaki komut ile yükleyebilirsiniz:

CentOS 7

yum install epel-release
yum install hping3

CentOS 8

dnf install epel-release
dnf install hping3

Debian ve Ubuntu

apt-get install hping3

hping Kullanımı

root@nginxdeb:~# hping3 --count 2 --syn --destport 22 --tcp-timestamp nginxdoc.rackdc.com
HPING nginxdoc.rackdc.com (eth0 94.103.32.74): S set, 40 headers + 0 data bytes
len=56 ip=94.103.32.74 ttl=63 DF id=0 sport=22 flags=SA seq=0 win=28960 rtt=3.7 ms
TCP timestamp: tcpts=140792431
len=56 ip=94.103.32.74 ttl=63 DF id=0 sport=22 flags=SA seq=1 win=28960 rtt=3.6 ms
TCP timestamp: tcpts=140793431
HZ seems hz=1000
System uptime seems: 1 days, 15 hours, 6 minutes, 33 seconds
--- nginxdoc.rackdc.com hping statistic ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 3.6/3.6/3.7 ms

System uptime seems: 1 days, 15 hours, 6 minutes, 33 seconds bölümünde sunucunun 1 Gün, 15 saattir çalıştığını gözlemleyebiliyoruz, bu yazının ilk başlarında uptime komutu ile baktığımız süre ile benzerliği dikkatinizi çekti mi?

TCP Zaman Damgası nasıl kapatılır

Linux Sunucularda

TCP Zaman Damgası değerini aşağıdaki kernel parametresini okuyarak öğrenebilirsiniz:

[root@localhost ~]# cat /proc/sys/net/ipv4/tcp_timestamps
1

Zaman Damgası gönderimini kapatmak için

echo 0 > /proc/sys/net/ipv4/tcp_timestamps

tcp_timestamp kernel parametresi için üç opsiyon bulunmaktadır:

DeğerAçıklama
0Kapalı
1TCP Zaman damgasını aç ve mevcut zaman yerine her bağlantı için rastgele bir baz değer ekle
2TCP Zaman damgasını rastgele baz değer olmadan aç

Bu adımdan sonra aynı sunucuyu tekrar test ettiğimizde hping ile cevap alamadığımızı göreceksiniz:

root@nginxdeb:~# hping3 --count 2 --syn --destport 22 --tcp-timestamp nginxdoc.rackdc.com
HPING nginxdoc.rackdc.com (eth0 94.103.32.74): S set, 40 headers + 0 data bytes
len=44 ip=94.103.32.74 ttl=63 DF id=0 sport=22 flags=SA seq=0 win=29200 rtt=7.8 ms
TCP timestamp: tcpts=0
len=44 ip=94.103.32.74 ttl=63 DF id=0 sport=22 flags=SA seq=1 win=29200 rtt=7.7 ms
TCP timestamp: tcpts=0
--- nginxdoc.rackdc.com hping statistic ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 7.7/7.8/7.8 ms

TCP Zaman Damgasını kalıcı olarak kapatmak

tcp_timestamp değerini kalıcı olarak kapatmak için /etc/sysctl.d/ içerisine kalıcı olarak yazmamız gerekmektedir, bunun için şu işlemi yapabilirsiniz:

cat > /etc/sysctl.d/tcp_timestamp_pcichecklist.conf << EOF
net.ipv4.tcp_timestamps =0
EOF

Not: TCP Zaman Damgası değerini kapatmak ağ performans sorunlarına neden olabilir.

Windows Sunucularda

Yönetici olarak PowerShell açtıktan sonra aşağıdaki komutu giriniz:

netsh int tcp set global timestamps=disabled

Referanslar

  1. https://tools.ietf.org/html/rfc1323#page-4
  2. https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt