Заден план
Въпреки че прегледах някои публикации за stack-overflow, които частично покриват тази точка, все още не съм намерил такъв, който предоставя изчерпателен въпрос/отговор.
Като разработчик на POS системи PCI DSS има два компонента, от които се интересувам:
- PA DSS (Приложение за плащане), което се отнася до софтуера, който разработвам
- PCI DSS (Търговци), който се отнася до всички мои клиенти, които използват софтуера
PA DSS изглежда поставя точката най-откровено:
„9.1 Приложението за плащане трябва да бъде разработено така, че да не се изисква сървърът на базата данни и уеб сървърът да са на един и същи сървър, нито се изисква сървърът на базата данни да бъде в DMZ с уеб сървъра“
Процедури за тестване:
9.1.a За да проверите дали приложението за плащане съхранява данните на картодържателя във вътрешната мрежа и никога в DMZ, вземете доказателство, че приложението за плащане не изисква съхранение на данни в DMZ и ще позволи използването на DMZ за отделяне на интернет от системи, съхраняващи данни на картодържателя (напр. приложението за плащане не трябва да изисква сървърът на базата данни и уеб сървърът да са на един и същ сървър или в DMZ с уеб сървъра).
9.1.b Ако клиентите могат да съхраняват данни на картодържател на сървър, свързан с интернет, прегледайте Ръководството за внедряване на PA-DSS, изготвено от доставчика, за да проверите дали на клиентите и дистрибуторите/интеграторите е казано да не съхраняват данни на картодържател в достъпни от интернет системи (напр. уеб сървър и сървърът на базата данни не трябва да е на същия сървър).
И от PCI DSS на търговеца:
1.3.5 Ограничете изходящия трафик от средата с данни на картодържателя към Интернет, така че изходящият трафик да има достъп само до IP адреси в рамките на DMZ.
Въпрос
Въпросът ми е съвсем прост - могат ли базата данни и сървърът на приложения да са логически различни (на различни виртуализирани ОС) или трябва да са физически различни (на различни физически/специализирани сървъри)?
Освен това съм малко загрижен, че трябва да поставя сървър на база данни без каквато и да е връзка с интернет. Как трябва да администрирам този сървър дистанционно? Или е добре да получите достъп до сървъра на базата данни чрез сървъра на приложения - въпреки че със сигурност това проваля целта?