안녕하세요 어느 4년제 대학 컴공에 재학중인 학생입니다.
오늘 정말 열받는 일이 있었는데요...
저희 학교 홈페이지는 본교 홈페이지 1개와 각 학부별 홈페이지로 나뉘어
본교 홈페이지에는 일반적인 학교 공지사항이, 학부별 홈페이지는 학부별 공지사항이 적혀있습니다.
그런데 학부 홈페이지가 RSS 피드 지원을 하지 않아 제 RSS 리더로 공지사항을 확인할 수가 없는 불편함이 있었습니다.
학부 홈페이지는 제로보드를 기반으로 제작되어있고 RSS 지원 모듈이 있어 XE 기본 RSS Path인
https://학부 홈페이지/rss로 요청하면
![CDATA[ 피드(Feed) 기능이 잠겨 있습니다.
와 같이 단지 바로 쓰려면 사용할 수 있는데 설정이 안되어있는 꼴의 메시지를 출력하고 있는 상황이라
(심지어 다른 공학부 홈페이지들은 모두 다 RSS 피드를 제공하고 있습니다;)
민원 게시판에 지원해줄 수 있냐고 민원글을 넣었는데 정말 황당한 답변이 돌아왔습니다.
======================================
안녕하세요 *팀입니다.
해당 내용 *부 홈페이지 관리자분께 문의한 결과
보안 정책상 게시판에 대해 RSS 기능을 제공하지 않는다고 합니다.
위에 대해 추가적으로 궁금하신 점 있으시면 [전화번호]로 연락바랍니다.
======================================
보안 정책???, 저희 학부 홈페이지는 robots.txt에 외부 수집이 금지되어있긴 하지만
검색으로 "*대학교 *부"라고 검색하면 사이트 루트 경로가 들어갈 수 있게 검색되어 나오고
모든 게시판을 로그인 하지 않고 글 목록과, 글 내용을 확인할 수 있게 되어있습니다.
이런 상황에서 보안 정책이라뇨? 심지어 타 학부 홈페이지(기계, 산업경영, 심지어 디자인공학까지)는 다 지원하는데?
교내 유일의 컴공학과가??? 이런 것에 더 앞장서야 하는 것 아닌가???
저는 그래서 담당자분이 특성상 잦은 유지보수 작업에 바쁘기 때문에 보수적인 답변을 주신 것이라고 생각하고
안되면 제가 직접 사이트를 파싱해서 RSS를 만드는 것은 어떻냐는 옵션까지 가지고 직접 전화해서 설득하기로 했습니다.
기억 기반으로 쓴 대화 내용입니다.
나: RSS 관련 문의드린 학생인데 보안 문제 때문이라고 답변주셨는데요 현재 타 공학부 홈페이지는 RSS를 모두 지원하는 상태인데 어떤 보안 문제 때문에 그런지 궁금해서 전화드렸습니다.
담당자: 저희 컴공학부 홈페이지는 운영주체가 타 공학부 홈페이지와는 다르게 되어있어 컴공학부가 직접 운영중이고 운영 정책상 컴공학부 홈페이지의 글을 다른데서 확인할 수 있게 하고있지 않아 지원할 수 없습니다.
나: 제가 게시판을 긁는 웹 스크래퍼를 코딩해서 RSS를 직접 만들고 사용하고자 하는 사람에게는 학교 메일 인증으로 인증키를 발급해주는 식으로 구성해서 인증키를 사용하여야 RSS 피드를 사용할 수 있게 만들어서 컴공 학부 학생들에게만 제공하는 방법은 어려울까요?
담당자: 학생한테만 허락을 해 준다고 하더래도 다른 사람이 RSS로 글을 확인할 수 있는거 아닌가요?
나: 네 그렇죠 학교 메일 인증을 받은 학생만 볼 수 있는거죠
담당자: 홈페이지가 아닌 곳에서 확인할 수 있으므로 안됩니다.
나: 타 학부는 다 제공하고있는데 학부 홈페이지의 (기능으로서의) 위상은 타 학부랑 동일하지 않나요? 왜 저희 학부만 안되는지요?
담당자: 저희 컴공학부 홈페이지는 운영주체가 타 공학부 홈페이지와는 다르게 되어있어 컴공학부가 직접 운영중이고 운영 정책상 컴공학부 홈페이지의 글을 다른데서 확인할 수 있게 하고있지 않아 지원할 수 없습니다. (재탕)
나: 왜 운영주체가 컴공학부만 다른거죠?
담당자: 그거까진 학생이 알 필요는 없는 것 같습니다.
나: 아니 어차피 로그인이 되지 않은 상태에서 모든 글을 확인할 수가 있는데 왜 지원을 (말끊)
담당자: 저희 학부 홈페이지는 로봇이 긁어가지 못 (말끊)
나: robots.txt 말하시는 거죠? 네 그게 있다고 해도 강제로 크롤링하면 추출할수가 있잖아요
담당자: 그렇게 할거면 학생, 왜 여기에 문의하신거죠?
나: 아니 제가 불법적으로 하려는 것도 이러는 것도 아니고 학부에 허락을 맡고 마음 편하게 공공재로써 RSS를 만들어서 컴공학과 학생들에게 제공하려고 문의드린거지요
담당자: 어찌됐든 그럴 수 없습니다.
나: 학부 학생들만 사용하게 할건데 어떻게 안될까요?
담당자: 안됩니다.
나: 알겠습니다 감사합니다. (부글부글)
담당자 분이 외부 사람이 아니고 9*학번 학교석사 선배로써 학교 연구원인 것 같던데 도대체 왜 이러는지...
그래서 저는 파싱으로 RSS를 제 서버에서 제공하는 것이 아니라
RSS Generator를 만들어서 GIT에 소스를 올리고
Heruku(https://www.heroku.com/)에서 할당받은 개인 서버에 RSS Generator를 올려서 RSS를 사용하는 방법을
학교 자유 게시판에 올려버리려고 합니다.
이 방법이면 자잘한 문제는 제쳐두고(담당자와의 감정 싸움) 저작권 & 홈페이지 관리자의 의사 여부 & 현행법상 아무런 문제가 없을까요?
이런 쪽에 대한 제 지식이 얕아서 질문해봅니다 ㅜㅜ;
보통 학교 보안은 중요한 사항인지라 거의 손을 대지 못합니다..
그리고 그것을 어기면 개인적인 불이익 (제가 보기에는 심하면 퇴학)까지 당할수 있으니 그냥 놔두는게 좋다고 봅니다..
학생이면 학교의 룰(법)을 따라야 하지요..
본인이 그것을 처리할 수 있는 파워와 권한을 가질때 그것을 처리하세요..
그리고 제가 무슨 나쁜 짓 하는 것도 아니고 이 정도 했다고 벌점 이상의 징계를 받으면 어이가 없는 학교인게 맞고 그냥 자퇴서 쓸 생각 있습니다. ㅋㅋㅋ
제가 보기에는 담당하는 교수님이 따로 있을겁니다..
보안쪽은 귀에 걸면 귀걸이 코에 걸면 코걸이인지라 걸린 사람만 작살납니다..
제가 과연 작살까지 날까요?... 군대 안이라면 모를까. 기업이라면 모를까. 게다가 학교입니다.
아마 짬밥이 그 연구원보다 더 높은 학부 총괄하시는 교수님이야 계실 것 같지만 그렇게 아래내림 적용받느라 뛰어다니기 보다는
윗 방법만 문제가 없으면 실행하고 싶은 마음입니다...
학부 홈페이지의 국소적이기도 한 기술적인 문제 이슈의 이러한 보수적인 처리는 그 분이 다 게워내는게 맞을 것 같습니다. (학과 단위의 잘잘못은 총괄 교수님이 게워내시겠죠)
행운을 빕니다..
문제 생길 요지가 커보입니다..
2cpu 장터도 파싱하면 되지만.. 서버에 무리 갈까봐 일부러 안하는것처럼요
혹시 무리가 안가게 스크래핑을 하는 방법이 있나요 ?
공지사항이 언제 나올지 모르니 .. 1초면 1초 3초면 3초간격으로 무한정 계속 루프 돌릴수밖에 없지 않나요?
2cpu 도 마찮가지로 ... 당연히 긁어오는건 웹에서 한번 보는거기때문에 부하가 없겠지만
쿨매가 언제 올라올지 모르니 .. 빨리 잡으려면.. 0.5 초 1초 단위로 계속 요청 해야 하죠 ..
지금 만드시려는것도 그런 방식 아닌가요?
1번만 요청해서 요구한시는 기능 만드실 수 있으신가요?
RSS 생성기 단에서 반복 파싱 없이 어떤 사용자가 서버에 요청하면 그 즉시 바로 게시판에 Http Get을 날려서 오는 데이터를 HTML 파서로 정보 추출해서 RSS 포맷으로 만들어 응답하면 됩니다.
그리고 말씀하신 반복 요청에 대한 부하 책임은 최종 사용자의 관할 아닐까요? 웹 브라우저의 F5 연타가 Dos 공격으로 판단될 수 있는 것처럼요, 최종 사용자가 RSS 생성기를 100회 요청해서 빠른 정보 갱신을 하나 홈페이지를 100회 접속해서 빠른 정보 갱신을 하나 다를 것이 없고 후자 쪽이 더 부하가 클 것입니다.
"이건 좋은 프로그램인데 XX학부는 공식적으로 거부 의사를 전달해와서 해당 학부 홈페이지만 빼고 전부 지원합니다"
라고 올려버릴것 같습니다.
만약 진짜 사용도가 높은 프로그램이라면 홈페이지 관리자한테 민원이 폭주할거고, 그러면 나중에 알아서 연락이 올 것 같습니다...ㅎㅎ
정상적인 사람 있어도 학교 쪽이 무관심해서 답이 없습니다.
이런건 포공이나 카이스트도 비슷했었습니다. 시스템 진짜 개판이였죠.
요즘은 어쩐지 모르겠네요.
아래에서 올라오는 오더는 정말 둔감하게 반응할 수밖에 없습니다
아래에서 민원이나 HELP를 외치는 학생들이 교직원의 밥줄을 부여잡고 있는건 아니니까요 :-(
문제의 소지가 있다면 (특히나 유선상으로 거부한 의사가 있으면 더더욱) 안하는게 맞습니다.
100사람이 좋은거라 생각해도 운영자가 아니면 아닌거라...
근데 제가 Dos 공격을 하려는게 아니잖아요.. 그렇게 치면 제가 학부 홈페이지만을 들어갈 수 있는(그냥 사이트 뷰어) 웹 뷰 기반 프로그램을 만들어서 배포하면 불법 행위로 간주될 수 있을까요?
게다가 "RSS 피드를 공개 제공하는 것"을 거부당한 상태인 것이고 제가 말하고자 하는 것은 "RSS 피드를 만들 수 있는 프로그램의 소스 코드만을 배포하는 것"에 대한 문제입니다...
네 제가 말씀드린게 그겁니다..
우리같은 사람이 보면 다른거라 느낄수도 있지만 그런 사람 입장에서는
"랜섬웨어를 배포" 하는 것과 "랜섬웨어를 제작"하는걸 동일하게 보니까요..
그리고 랜섬웨어와 RSS는 다른거 아니냐?
우리가 보면 다르지만 운영자 측에서는 자기가 원치 않는건 다 나쁜겁니다..
좀 다른 이야기이긴 하지만,, 예전같을 땐 학교 서버 털어서 김태희 사진 유포하면 천재로 불렸지만 지금은 범죄자 소리 듣습니다.
배포와 제작은 가까우면서 먼 사이라고 생각합니다.
저는 그리고 애초에 배포하는것과 제작하는 것은 일반적인 의미로도 전혀 다르다고 생각하는 바입니다.
예를들어 여자친구와의 관계하는 것을 녹화하는 것과 그걸 배포하는 것이 전혀 동일하지 않은 것처럼 말입니다...
그리고 실제로 기작을 연구 & 방안해보겠다며 오픈소스로 개발되는 랜섬웨어 소스코드가 GIT에 올라와있는 것도 있습니다.
물론 그 프로젝트 역시 Takedown 먹지 않고 잘 꾸려가지고 있습니다.
이찌되었든 제 말은 운영자가 딴지걸면 답이 없단 겁니다. 그저 가해자/피해자가 되는 것이죠.
배포와 제작의 간극은 말씀드렸다시피 주관적입니다. 사람마다 생각이 다를 수 있는 것이죠.
제가 그저 하고싶은 말은 배포해도 되느냐 마느냐가 아니라, 만에하나에 대한 문제가 있을 수 있으니, 심사숙고 하셨으면 좋겠단 겁니다.
레몬트리7님의 덧글을 보니 지금 생각할 수 있는 범위 내에 가장 현명한 방법이란 생각이 듭니다.
"어떤어떤 라이브러리를 사용해서 RSS피드로 볼 수 있는 기능을 만들어 내가 쓰고 있다" 라고 블로그 등에 적는건 문제될 소지가 아마 거의 없을겁니다. 자기만 쓰는 거니까요. 하지만 그 글을 보고 조금의 지식이 있는 사람은 따라 만들어 쓸 수 있겠죠.
영화나 음악을 가족끼리 공유하는게 저작권법에 위배되지 않는거랑 비슷한 이치일 겁니다.
게시물 내부 내용을 가져올 수도 없고, 공지사항등이 목록 위로 밀리는 경우 제거하는 것조차 힘들고 예외에 대한 처리가 하나도 되지 않고 불안정합니다.
심사숙고하란 말씀에는 전적으로 동의합니다. 고민 많이 해보겠습니다.
저 역시 할 줄 모르는 사람입니다.ㅠㅠ
구글에 rss feed security risks 로 검색하면 많이 나와요. 한때 RSS 많이들 사용했었는데 어느순간 사용하는데가 확 줄었던데 다 이런이유에서 나온거 같네요.
서버장애 스토리지 장애 데이터 조작 실수로 인하여 엄청난 사고를 친거와 보안하나 이슈를 걸고 넘어지면 보안하나갖고 사람 쉽게 짜릅니다.
참고로 스펙터 보안이슈 패치하면 성능 반토막 납니다 그래도 하겠습니까? 하면 성능은 상관없고 아무리 내부서버 인터넷 연결안된 서버라 할지라도 보안이 먼저다라는 인식이 강합니다. 나중에 사회나가고 회사 나가면 보안에 대한 이슈로 인하여 사람 쉽게 짤리는거 볼 경험이 있을겁니다.
회사 입사할때 보안서약서 작성하고 분기마다 보안서약서 업데이트 합니다. 보기엔 아무것도 아닐지 몰라도 보안 엄청 강조해요.
RSS 리드를 서버에서 만드는 작업을 한다고 서버에 보안 구멍이 생기는 것이 아니구요.
그러니까 RSS 피드 사용자가 RSS 리더를 쓸 때 Injection이 발생하지 않는 안전한 RSS 리더를 사용하면 문제가 없는 것이지요
애초에 RSS란 것이 구독 정보가 담긴 텍스트 쪼가리인지라 HTML 태그가 포함되는 부분의 Injection만 조심하면 심각한 수준의 보안 이슈가 생길 껀덕지가 없기도 하구요
그렇기 때문에 RSS가 보안때문에 사용률이 줄었다는건 납득하기 힘든 것 같네요, 그리고 스펙터 패치로 성능은 반토막까지 나지 않습니다, 반토막 또는 그 이상의 성능감소가 일어났으면 모든 서버 관리자는 들고 일어났을 것이며 성능저하 패치를 하지 않고 보안과 성능을 개선할 방법을 고안하거나 보안 패치를 하지 않는 경우도 생겼을 것입니다.
그리고 권한 사용자가 볼 수 있는 게시글이 아니라 지금 당장 누구나 볼 수 있는 글을 재가공해서 RSS로 제공한다는 글(심지어 직접 제공하겠다는 것까지 아님)에서 회사 기밀 안건에 대한 보안 서약서까지 예를 들어서 말씀을 하시는 것은 많이 과한 것 같습니다...
이건 감정적인 문제가 아닙니다. 안된다고 하면 안됩니다.
요구한다고 허락해주면 문제가 생긴다구요? 도대체 게시글 목록을 XML로 가공하는 작업을 하는데 무슨 문제가 생기는지 납득도 가지않고 그걸 상정하시는 것이 이해가지도 않고 그저 트집잡으시는 것 같지만 문제가 생긴다고 치겠습니다.
그걸 왜 제가 책임져야하죠? 문제가 생긴다고 하더래도 제가 책임질 유형의 문제가 생길까요?
제가 제작한 RSS 파싱 알고리즘이 일부를 누락하고 가져오는 등의 오류가 생긴다던지, 뻗어서 RSS 피드가 제공되지 않는다던지 해서 어떤 제가 책임 질 문제가 발생할 수 있죠? 어떤 종류의 제가 책임져야할 문제가 발생할 수 있는지 말씀 주시면 꼭 고민해보겠습니다.
억지로 뚫어서 사용한다면 문제 발생 가능성이 아예 없다고 할 순 없겠죠.
그냥 혼자 쓰고 큰 부하를 주지 않았다면 아무도 터치 안했을듯 합니다.
물론 개인 사용과 배포는 전혀 다른 문제입니다.
그리고 학부생이면 젊은 분이실텐데 이미 도태되서 사라지고 있는 기술을 굳이 사용할 이유가 있나요?
제가 정말 억지로 문제를 생각해보겠습니다.
1. 학부 홈페이지에 올라가면 안되는 글이 올라갔다, 그 글은 홈페이지에서 삭제되었으나 RSS 피드에 캐싱이 되어서 해당 정보가 잔류하는 기간이 더 길어졌다
-> 첫번째로 학부 홈페이지에 이미 Http Get으로 얻을 수 있는 얻게두면 안되는 정보가 올라간 것이 잘못입니다, 웹 브라우저로도 해당 시간동안 얻게두면 안되는 정보를 조회할 수 있을 것입니다, 두번째로 이는 RSS 피드를 설계할때 캐시가 아닌 즉발 파싱형으로 만들면 됩니다.
2. 학부 홈페이지가 해킹되어서 해킹 스크립트를 실행하는 자바스크립트가 학부 홈페이지 코드에 덧씌워졌다, 이는 RSS 피드로 파싱된 데이터에도 적용 될 수 있다
-> 학부 홈페이지에서 서버 보안을 허술하게 해서 생긴 일입니다, RSS 생성과는 관계가 없습니다, 그리고 이는 일반 브라우저에서도 익스플로잇 될 수 있었을 것이며 "이와 같은 일이 RSS 엔드 사용자단에서 실행되는 것을 막지 못한 것"은 RSS 리더 개발자의 잘못이지 학부 홈페이지 관리 측의 잘못(둘다 잘못했으나 잘못의 영역이 다릅니다)은 아닙니다.
3. 학부 홈페이지에 부하가 가기때문에 다른 사용자에게 접속 시간의 지연, 서버 비용 증가 등의 문제가 생긴다
-> RSS 생성기가 하루에 한번 게시판 목록을 긁어온다고 합시다. 이는 게시판의 HTML 정보가 있는 URL만 정확히 한번 로딩해서 이루어질 것이며 이는 일반 사용자가 1회 브라우저를 통한 웹접속으로 발생해서 이미지, 스크립트, HTML등을 불러오는 부하의 털끝도 쫒아가지 못할 것입니다.
설사 일반 사용자의 1회 부하=RSS 생성기 1회 부하라고 하더라도 한달에 30번 사이트를 접속하는 것을 버티지 못하는 웹서버라면 일반 학부생 상대로 서비스할 수 없을 것입니다. 또 RSS 생성기가 즉발형으로 설계되어 사용자의 요청이 있을 때에만 사이트를 조회하여 RSS로 가공한다고 하면 실 부하는 한달 30번보다 더 적어질 수도 있겠습니다.
RSS가 기술이라는 관점에 대해서도 이견이 있습니다. RSS는 그저 데이터 포맷입니다 압축 기술이 들어간 것도 아니고 PLS, M3U8과 같은 순수 데이터 포맷이라고 볼 수 있겠습니다. XML보다 JSON의 사용 빈도가 높다고 해서 XML이 도태되는 기술이고 왜 사용해야 하냐고 묻는 것과 비슷한 말씀은 조금 이상하지만 포맷 또한 기술의 영역으로 넓게 생각을 하셨다고 이해하고 말하자면 RSS의 사용 빈도 하락은 그 이전보다 다이렉트 푸쉬 등의 구독 처리 방법이 늘었기 때문이라고 생각됩니다. 하지만 RSS는 아직 대체 불가능한 기술이며 RSS 또는 Atom이 지키고 있는 자리의 위상을 완전히 대체하는 기술은 나온 바가 없습니다. 그렇기 때문에 필요한겁니다.
제 신변에 대한 걱정에 그렇게 말씀 주시는 것을 알고 있고 이는 의견 달아주신 모든 분들에게 감사하게 생각합니다
하지만 저는 저작권 & 현행법상 어떤 구석이 정확히 "RSS 생성기 서버 코드를 제공하는 것"에 문제를 제기할 수 있는지에 대해서 궁금한 것이고 이 정보의 결과에 따라 결정할 것입니다. 법대로 하면 불법이라는 것이 확실하면 하지 않을 것이고 문제가 없다고 판단이 서면 할 것입니다.
그저 안된다고 했으니 하면 안된다는 말씀은 하셔봐야 저도 시간 낭비고 써주시는 분도 시간 낭비 인 것 같습니다...
더 이상 그런 논지의 말씀은 안 하셨으면 좋겠다는 바람입니다 ㅜㅜ;
정확한 저작권적 & 법률적 근거에 의해 말씀주시면 정말 감사하겠습니다. 도움이 엄청 되는 말씀일 것입니다!..
그렇게 말씀을 주신다면 다시금 판단을 하는데 원동력이 될 수 있을 것 같습니다.
문제 제기하고 안된다면 우회 시도 하고 그걸로 테클 걸면 조목조목 따지고 다시 다르게 우회하고..
그러면서 발전하는 거죠.
부수적으로 법적인 문제에 휩쓸리는 것은.. 뭐 세상이 안그런게 어디있나요? 재주껏 방어. 회피.