안녕하세요.
유지보수하고있는 업체의 회원의 디비를 해킹당하여 사이버경찰서에 신고 후 진흥원에서 조사까지 받게되면서의 과정에 대해서 나중에는 실수를 하지 않고, 정보를 공유하여 다들 안전한 관리를 하기위해 리눅스 서버의 최소 보안 관리에 설정을 알려드립니다.
1. 로그 기록
:: 웹 로그, 디비 로그는 최소 6개월~1년치는 저장이 기본으로 되어있지만, 리눅스 서버 설치시에는 기본으로 한달로 셋팅 되어있을 겁니다. 해당 로그 기록은 6개월로 변경을하여 서버에 저장하여 해킹 시점 전후의 로그파일을 유지해야합니다.
/etc/logrotate.conf
weekly >> monthly
rotate 4 >> rotate 6
tip. 6개월치를 롤링하겠다는 설정입니다. (웹서버 로그를 6개월치를 저장하기위함)
btmp, messages, secure, dmesg, utmp, wtmp등 여러가지 설정도 기간을 늘려야하겠지만 당장 중요한 웹서버 로그를 늘리시는것이 중요합니다.
2. 방화벽
:: 기본적으로 iptables를 통하여 기본 방화벽을 구성하실텐데, 꼭 필요한 port만 오픈을 하셔야합니다.
/etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10888 -j ACCEPT
..
3. ssh port 변경
:: 기본적으로 ssh port는 22번이지만 다른 port를 열어서 사용하셔야합니다.
/etc/sshd/etc/ssh/sshd_config
Port 22 >> Port 10888
4. https 사이트로 변경
:: http사이트라면 https 인증서를 구매하셔서 https로만 통신하게 변경해야 합니다.
/etc/httpd/conf.d/ssl.conf
SSLCertificateFile ...
SSLCertificateKeyFile ...
SSLCACertificateFile ...
5. sw/hw 침입탐지시스템 침입방지시스템 확인.
:: 기본적인 호스팅 서버를 사용하고 있어서 앞단에 침입탐지시스템이나 방지시스템이 없는 상황이였습니다.
해당을 보완하기위하여 서버에 접근하였을때 관리자에게 문자를 주도록 스크립트를 하나짜서 sw적인 시스템을 추가하였습니다.
php 스크립트로 간단하게 작업하였고 방법은 crontab에 1분마다 해당 스크립트를 실행하여 리눅스 명령어인 w를 호출하여 해당 서버에 접근한 사람이 있다면 문자를 보내고, 로그를 남기게 해놓았습니다.
해당 스크립트라 필요하시면 댓글로 남겨주세요.
6. 5번까지는 서버 관련된 설정이였다면 6번부터는 UI에 관련된부분입니다. 해당 부분은 간단하게 열거하겠습니다.
6.1. 관리자 페이지 2차 인증(핸드폰)
6.2. 관리자 페이지 접근 제어(아이피)
6.3. 웹셀 업로드시 확장자 체크(이미지 업로드 'input type=file' )
6.4. 비이상 행위 3회 이상 접근차단
6.5. 관리자 접근 로그
6.6. 파라미터 변조 방지(mysql escape)
6.7. 에디터를 사용중이라면 xssclean 적용
끝으로 개인정보침해시 벌금이 나오는건 둘째치고, 어느정도 보완을 통해 선처가 가능한 부분이고, 그전에 적용을 하면 더 좋은 상황이될것입니다. 그리고 제일 중요한것은 해킹당했다고 의심이 된다면 모든 회원에게 메일이나 문자를 통해 알려야만합니다. 제일 중요한 부분이니 이부분을 놓치시면 안됩니다.
* 개인정보는 암호화도 중요합니다.
보완할것은 많겠지만 기본적인 보완은 이정도로만 진행하셔도 크게 문제가 없을것이라고 판단되며 제가 겪은일이기때문에 알려드립니다...
모두 안전하게 개인정보 보호 하세요.
도움이 필요하면 댓글 남겨주세요.
'linux' 카테고리의 다른 글
tshark 명령어가 먹지 않을 때(wireshark .2.2.4) (0) | 2017.07.06 |
---|