[해결완료]MYSQL 해킹은 어떤식으로 이루어지나요? 그리고 각종보안질문좀..
너무 방대한 질문을 드려서죄송합니다..
현재 리눅스 책으로 공부중인데요.. 아직 APM까지는 못갔습니다.
리눅스를 공부하다보니 해킹 , 보안의 중요성에 대해서 알게됐는데요..
다른포털에서 MYSQL의 보안을 검색하다가..
MD5 암호화시 복호화가 불가능하다는 글을 봤는데요. 애초부터 복호화기능은 고려돼지않은상태로 만들었다던데..
(리눅스 보안관련책을 읽었는데.. 수학적으로 풀지못하는 암호화기법이있다던데.. 이것이 혹시 md5 암호화기법인가요?
컴퓨터언어보면 수학과 밀접한 관계가있는것같은데.. )
MYSQL 활성화된 커뮤니티 글을 보면
해킹당해서 DB가 날라갔다는둥 , 비번이 바뀌었다는둥..파일변조..
조만간 MYSQL 관련책도 구입예정입니다.. 차차 보겠지만..
어떤식의 해킹으로 비번이나 DB자료가 날라가는지 간단하게 그 기법제목만이라도 알려주실수있나요?
그럼 관련 검색으로 좀더 찾아보거나 그럴수있을것같은데..
제가 찾아본 검색단어로는 MYSQL 무결성 , MYSQL 보안 , MYSQL 복호화 이정도가되겠네요..
책에도 보면 주로 읽기에 해당되는 파일들은 읽기전용으로 해놓는것이 파일변조에서 가장 안전하다고 하더라구요..
PS 변조라든가.. 이런경우는 원본으로 덮어씌우면 해결됀다지만..
ROOT접속은 콘솔로 직접 할생각이지만.. 중요한 명령어들(ls,ps,top등등)만 시디에 굽고 파일시스템에있는 명령어들은 삭제시킬까..
필요할때만 시디넣고 실행시킬까.. 생각도들고요..ㅠㅠ
setuid 나 그런것도 죄다 해제할생각이고.. 퍼미션도 철저하게 관리할생각입니다.
ssh2로 할것이고 불필요한 프로세스,서비스,포트들도 비활성화시킬것이고요.. 이렇게한들 초고수들은 뚫겠죠..
스나이퍼ips나 방화벽 이것저것 고려도많이해봤지만.. 소규모 서버라 구입할돈 여유도안되고..
백프로 차단시켜준다면야 당연히 카드긁어서라도 구입하겠지만.. 것두아닌것같고..;;
결국엔 제자신의 능력을 길러서 해킹기법이 바뀌면 거기에 대해서 공부도해야겠죠..;;
해킹책도 구입해놨습니다. 실무바이블3.0 이랑 김태용님 쉘스크립트도 현재 읽고있구요.
방화벽책도 2권정도 구입해놨습니다. 2년동안 읽을려고 구입했습니다..
c언어랑 자바도 공부해야하는데.. 리눅스 관련 인터페이스들은 오래안걸릴것같은데..
리눅스 로그해석능력,해킹분석,보안,해킹대처능력 이것들로 2년을 다잡아먹을것같아서 그게걱정되네요..
뭐 2년내내 공부해서 4가지 능력 80프로이상 대처가 가능하다면야 투자할의향도있지많은..;;
어차피 꾸준히 공부할생각이긴합니다. 다만 서버운영시 그때그때 대처능력을 미리 키우고자;;
회원가입시 이메일,주민번호,이름 제외시키고 아이디,비번,별명 만 집어넣게한다면 그나마 고객들정보에서
안전하지않을까..생각도들구여.. 이렇게한들 웹페이지파일이 악성코드로 변조되거나 mysql db가변조되는등..
이러한문제들이 생길가봐 공부하면서도 걱정이앞서네요..
그냥 한풀이었습니다.ㅠㅠ 좋은밤되십시요..
전문가는 아닙니다만.
해킹당해서 DB가 날아갔다는건..
몇가지 가능성이 있겠죠
1. 아이디와 비밀번호 무한대입하여 MySQL 계정 알아냄
2. SQL Injection 기법을 통한 해킹
shell injection을 이용해서 db
shell injection을 이용해서 db passwd가 적혀 있는 설정 파일을 엿볼 수도 있죠 :-)
그 다음 injection한 쉘로 mysql client를 실행하면 될테고요. 아마 이 방법이 더 많은 비중을 차지할 겁니다.
웹 취약점이죠 뭐.
OWASP 나 SQL injection 정도 키워드로 찾아보시면 좋을 것 같습니다.
#1. DB 해킹이라고 말하시면
sql injection 이 가장 가까운 키워드가 될것 같고요.
#2 그외 웹 취약점 (OWASP 참조)
파일 업로드 취약점에서 webshell 같은거 올린 다음에
DB 비밀번호 확인하고 그냥 접속해서 보고 날려먹고 할 수 있을것 같고요.
#3 잘 알려진 취약점.
exploit 발표난 것 가지고 따라하는 경우도 있고요
패치되지 않은 제로보드 같은거요.
방화벽이고 뭐고 시스템적으로 보안을 잘 막는것도 중요하지만
애초에 개발자가 보안 개념을 가지고 프로그래밍을 해야지요.
어떤 어떤 변수가 어떻게 조작가능 하다는 건 알아야 할테고요
아.그렇군요.
많은 도움이되었습니다.. 내년에 서적을 읽을생각이지만 도움이 많이되었습니다..
주옥같은정보가 감사드립니다.
아예 html이나 php등의 소스 주석부분에 db
아예 html이나 php등의 소스 주석부분에 db 접속 정보가 들어있는경우도 있습니다.
또는 edit의 원격ftp 기능으로 작업시 생기는 .bak 과 같은 백업파일을 통해서도 보이구요. (초창기 구글 검색기능을 통한 해킹방법에 언급되었죠)
어떤 개발자분은 아예 소스를 압축해놓으셔서 두신분도 있고요.
그래서 예전에 점검할때, 정기적으로 .tmp, .bak, .orig 등과 같이 임시파일을 삭제했었습니다.
IDC 에서...
보통 IDC 에 있는 서버에 데이터를 올리 위해서
FTP를 주로 사용 했는데요... 문제는 보안을 한답시고
아이디와 비밀번호를 걸어 놓는 경우가 종종 있죠.
차라리... 이런 경우는 아이디와 비밀번호가 없는 것이 훨씬 더 보안에 유리 하다는 거죠.
보통 감염된 서버에서 패킷 검사 등을 통해서 같은 네트웍 상에 모든 프로토콜을 다 감지 하기 때문에
아이디와 비밀번호는 걍.. 껌으로 얻어 진다는 거죠.
그래서 제가 관리 하던 윈도 서버가 뚤린적도 있습니다.
역시나 제일로 안전한건 SSL 이용한 파일 업로드/다운로드 가 아닐까 생각 합니다.
댓글 달기