°¡Á¤¿¡¼ °¡»óȸ¦ ÅëÇØ »ç¿ëÇÏ´Â ¼¹ö¿¡¼ DB¿Í À¥¼¹ö µîÀ» ºÐ¸®ÇÏ´Â°Ô Àǹ̰¡ ÀÖÀ»·±Áö¿ä?
어떤 서버는 MySQL과 Redis 가 필요하고 어떤 서버는 MySQL과 PostgreSQL, RabbitMQ가 필요한데
모두 도커 컨테이너를 사용하지만 DB서버를 따로 지정할 수 있습니다. 이때 DB 서버에 MySQL, Redis, PostgreSQL, RabbitMQ를 모두
설치하고 도커 컨테이너에서는 DB서버를 가동하지 않게하여 서버를 분리하는게 보안에 이익이 있을런지요?
서버 구조는 다음과 같습니다.
Hypervisor - VM (PVHVM) -> Docker Container (WAS) - Router (I/O) - Public Internet
| | (10.0.0.0/24, 255.255.255.0)
└ VM (PVHVM) -> DB Server - Router (Outbound Only) - Public Internet
VM 간의 통신은 모두 vSwitch를 통한 내부 가상네트워크를 연결하여 이루어지고 개별 VM에 Firewalld를 설치하여 인터페이스마다 다른 Zone을 할당하였고 내부 네트워크의 통신에 필요한 포트와 소스 주소를Rich rule로 할당하고 그 외에는 모두 Drop 되도록 설정했습니다.
도커 컨테이너에서 외부로 통하는 연결은 OPNsense(pfSense 포크)의 IPS/IDS 룰을 거쳐 바깥으로 나가거나 들어오도록 되어있습니다.
이런 구조가 과연 효과가 있을지는 의문이라 이렇게 글 올려봅니다.
이 쪽 전공자도 아니고 취미로 하는 일이지만 정말 열심히 하고 있고 재미도 있습니다.
언제나 좋은 답변 감사합니다 ^-^
µÑ ´Ù Çغ¸¼¼¿ä.
(Àú´Â º»¹®ÀÇ ³»¿ëÁß Á¶±Ý¸¸ ÀÌÇصǴ °ü°è·Î..)
ºÐ¸®¸¦ ÇسõÀ¸½Ã¸é ¹°¸®Àû ±â±â¸¦ µÎ´ë·Î ºÐ¸®ÇÒ ¶§ ÈξÀ °£ÆíÇÏÁö ¾ÊÀ»±î ½ÍÀºµ¥..
´Ù¸¥ ȸ¿ø´ÔµéÀÇ ÀÇ°ßÀÌ ±Ã±ÝÇϳ׿ä
À¥¼¹ö´Â °øÀθÁ¿¡ ¹°·ÁÀÖ°í, À¥¼¹ö¿Í DB¼¹ö °£¿¡´Â »ç¼³¸ÁÀ¸·Î ¿¬°áÇÏ´Â Çüų׿ä.
¹æȺ®À» ÀÌ¿ëÇؼ ¹æȺ®À» ÀÌ¿ëÇؼ DB ¼ºñ½ºÀÇ ¿ÜºÎ Á¢±ÙÀ» Â÷´ÜÇß´Ù¸é
DB¼¹ö¸¦ ºÐ¸®Çϵç, À¥¼¹ö ¾È¿¡ DB¼ºñ½º¸¦ ¿Ã¸®µç º¸¾È Ãø¸é¿¡¼´Â Å« Â÷ÀÌ°¡ ¾ø½À´Ï´Ù.
¿ÜºÎ¿¡¼´Â À¥¼¹ö¿¡ DB ¼ºñ½º°¡ ÀÖ´ÂÁö ¾ø´ÂÁö ¾Ë ¼ö ¾ø±â ¶§¹®ÀÔ´Ï´Ù.
°ü¸®³ª ¼º´É Ãø¸é¿¡¼´Â Â÷ÀÌ°¡ ÀÖÀ» ¼ö ÀÖ¾î¿ä.
ÇÑ ¼¹ö¿¡ ¸ðµÎ ¸ô¾Æ ³ÖÀ¸¸é ³×Æ®¿öÅ© I/O¿¡ ´ëÇÑ ºñ¿ëÀÌ ÁÙ¾îµì´Ï´Ù,
±Ùµ¥ ÇϳªÀÇ ¼ºñ½º Àå¾Ö°¡ ´Ù¸¥ ¼ºñ½º¿¡ ¿µÇâÀ» ÁÙ ¼öµµ ÀÖ½À´Ï´Ù.
±Ùµ¥ Ç×»ó ÅëÇÏ´Â ¸íÈ®ÇÑ Á¤´äÀº ¾ø°í¿ä, »óȲ¿¡ µû¶ó ÆÇ´ÜÇÒ ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù.
Áý¿¡ pfSense ¾²´Âµ¥...IPS/IDS ¶§¹®¿¡ Çѹø ¹Ù²ãº¼±î...Çß´Ù°¡...(±â¾ïÀÌ Àß ¾È³ª´Âµ¥...) ÇÊ¿äÇÑ ±â´É Áß Çϳª°¡ ¾ÈµÇ¾î¼...Æ÷±âÇß¾ú½À´Ï´Ù. ¤Ð¤Ð;;
ÇöÀç´Â pfSense + snort Çؼ...snort ·êÀº À¯·á±¸¸ÅÇؼ »ç¿ë ÁßÀÔ´Ï´Ù.
(À̰͵µ Âü...±¹³» active x ´Â °ÅÀÇ ÀüºÎ Â÷´ÜÇؼ...¿¹¿Üó¸® ÇÏ´À¶ó ¾öû Èûµé¾ú½À´Ï´Ù. ¤Ð¤Ð;;)
µ¡) snort ·êÀÌ suricata ¿¡ 100% ȣȯµÇÁö´Â ¾Ê´Â´Ù°í Çؼ...ÀÏ´Ü snort ·Î ±¸µ¿ÁßÀÔ´Ï´Ù. °¡Á¤ÀÌ¶ó¼ ±»ÀÌ suricata ±îÁö ÇÊ¿äÄ¡´Â ¾ÊÀ»°ÍÀ¸·Î »ý°¢Çϱ⵵ Çß±¸¿ä.
ÇöÀç±îÁö´Â ¹®Á¦¾øÀÌ Àß µ¹¾Æ°¡°í ÀÖ½À´Ï´Ù. ^^