본문 바로가기
728x90
반응형

IT Security/LINUX Basic46

22. Linux - 리눅스에 나만의 홈페이지를 만들어보자 2 지난 포스팅에서, 리눅스의 httpd 서비스를 활성화하고, 웹 통신에 필요한 tcp 80번 포트를 방화벽에서 허용함으로써, 리눅스의 기본 홈페이지에 접속하는 과정까지 진행해보았다. 그러나, 이런 기본 페이지를 보기 위해 인터넷을 사용하는 사람은 거의 없을 것이다. 우리가 일반적으로 사용하는 홈페이지는 html(HyperText Markup Language)라고 불리는 일종의 문서 파일이며, 이것을 웹 브라우저를 통해 열게 될 경우, 파일의 내용에 따라 홈페이지가 나타나게 된다. 본 포스팅에서는 아주 간단한 html 파일을 만들고, 이 파일을 http 설정 파일에 지정한 폴더로 이동시켜, 만든 html 파일이 웹 접속 시 잘 나타나는지 확인해보려고 한다. ** html 문서 작성 내용은 크게 어려운 점이 .. 2020. 6. 7.
21. Linux - 리눅스에 나만의 홈페이지를 만들어보자1. 우리가 인터넷으로 접속하는 대부분의 홈페이지는 리눅스 서버에서 제공되는 것들이다. 리눅스 서버의 특정 폴더에, 인터넷 브라우저(구글 크롬이나 인터넷 익스플로러 등)로 확인할 수 있는 html 파일을 등록하고, 리눅스 서버에서 http와 연관되어 있는 서비스인 httpd를 실행하면 된다. 제대로 된다면 인터넷 브라우저의 주소창에, 여러분들의 IP 주소를 입력하여 각자가 만든 웹페이지에 접속할 수 있게 된다. 사실, 윈도우에서도 html 파일을 등록하고, 리눅스와 마찬가지로 http 서비스를 제공할 수 있긴 하지만, 리눅스 자체가 워낙 네트워크에 특화되어 있어서인지, 윈도우보다 리눅스를 이용해 웹 서비스를 제공하는 기업이 대부분이다. 리눅스로 자신만의 홈페이지를 만들고 이를 인터넷으로 접속하기 위해서, 다음.. 2020. 6. 5.
20. Linux - 윈도우와 리눅스 사이 파일 이동 시키기(SCP, SFTP) 지난 포스팅에서 공개키를 이용하여 리눅스에 비밀번호 입력 없이 SSH 접속하는 방법에 대해 알아보았다. 그런데, 해당포스팅만 보신 분들이라면, 도대체 어떻게 윈도우의 파일을 리눅스로 옮겼는지 감이 안잡히는 분들도 있을 것이다. 사실, 원래 필자가 본 포스팅을 먼저 작성한 뒤, 공개키에 대한 이야기를 진행하려 했는데, 워낙 바쁜 시절을 보내다 보니... 순서가 조금 뒤바뀌어버렸다. 각설하고! 윈도우의 파일을 리눅스로 옮기는 방법에 대해 알아보자. 1. 파일 전송 프로토콜 리눅스에 원격으로 접속할 때 사용하는 서비스는 SSH다. 이 SSH는 tcp라는 방식으로 리눅스와 원격 컴퓨터 사이에 통신이 될 수 있도록 만들어준다. 일반적인 설정에서 통신 포트는 22번을 사용하고 말이다. 이렇게, SSH가 특정 방식으.. 2020. 6. 3.
19. Linux - 공개키를 이용한 SSH 자동 접속 리눅스는 사실, 검은 배경에 흰 글씨 뿐인 화면으로 인해 초반에 재미를 붙이기가 매우 까다로운 운영체제다. 하지만, 리눅스에 익숙해지는 순간, 집 밖에서도 열심히 putty나 Xshell과 같은 프로그램을 이용해, 리눅스에 접속하는 자기 자신의 모습을 보게 된다. 그런데, 이렇게 외부 접속을 위해 SSH를 사용하다보면, 비밀번호 입력마저도 번거로워지는 순간이 오게 된다. 계정 ID 입력하고, 비밀번호 입력하고 접속하는 그 과정마저도 시간이 아깝다고 느껴지는 경지에 다다르게 되면, 필자가 오늘 언급하고자 하는 비밀키와 공개키라는 녀석들을 이용해 계정 입력없이 리눅스에 접속하는 방법이 있다는 것도 슬슬 알게 되었을 것이다. 이번 포스팅에서는 비밀키와 공개키를 이용한 리눅스 SSH 접속에 대해 알아본다. 1... 2020. 5. 31.
18. SSH 설정 변경2 - SSH 접속 허용 인터페이스 설정 및 root 로그인 금지 설정하기 지난 포스팅에서는 SSH 설정에서 SSH 접속 포트를 변경하는 방법에 대해 알아보았다. 일반적으로 사용하는 22번 포트 대신, 잘 알려지지 않은 포트(Unknown Port) 중 하나를 사용함으로써, 변경된 포트 정보에 대해 알지못하는 외부인이 함부로 접속하는 것을 막을 수 있다. 포트 변경 외에도, 다른 설정 변경을 통해 안전한 SSH 접속 환경을 꾸밀 수 있다. 이번 포스팅에서는 특정 LAN 인터페이스(LAN 포트, 인터넷 선을 꼽는 포트다), 즉 특정 IP로만 SSH 접속이 가능하도록 설정하는 방법에 대해 알아보려고 한다. 사용자에게 웹 서비스를 제공하는 리눅스 서버의 경우, 여러 개의 LAN 인터페이스를 가지는 경우가 많다. 이는 마치 하나의 건물로 들어가기 위한 문이 여러 개 존재하는 것이라 생.. 2020. 5. 17.
17. SSH 설정 변경1 - 리눅스 원격 접속 통신 포트 변경 방법 지난 포스팅에서는 VM웨어에서 구동 중인 리눅스의 IP를 변경하는 방법과, 변경된 IP로 원격 접속 프로그램을 사용해 원격 접속하는 방법에 대해 알아보았다. 기본 설정만 진행된 리눅스의 경우, IP 주소와 계정만 알고 있다면, 어느 컴퓨터에서든지 리눅스의 22번 포트로 SSH 원격 접속이 가능하도록 되어 있다. 그런데 만약, 내 리눅스의 관리자 계정(root)을 탈취한 어떤 사람이, 이 리눅스가 사용중인 IP만 알고있다면, IP와 계정만을 이용해 내 리눅스에 접속하여 리눅스 내에 만들어놓은 파일을 변형시키거나, 삭제하거나, 심할 경우, 민감한 정보를 탈취하는 등의 여러 문제가 발생할 수 있다. 특히나 리눅스의 경우, 현재 대부분의 포털 사이트나 금융권에서 서비스를 위해 사용하고 있는 운영체제이다 보니, .. 2020. 4. 28.
16. 리눅스 IP 변경 및 네트워크 설정 리눅스에 PuTTy와 같은 원격 프로그램으로 접속하기 위해서는, 리눅스에 IP 주소가 부여되어 있어야 한다. 이전의 포스팅에서는 어떻게 리눅스에 부여되어 있는 IP 주소를 확인할 수 있는지 알아보았다. 하지만, 리눅스의 IP 주소만 알아낸다고 해서 곧바로 원격 접속을 할 수 있는 것이 아니다. 원격 프로그램을 사용하는 윈도우의 IP 주소가 리눅스의 IP 주소와 통신이 될 수 있도록 맞춰주는 작업이 필요하다. 그럼, IP 주소는 어떻게 맞춰 줘야만 통신이 가능한 것일까? 하나씩 알아보자. 1. IP 주소 개요. IP 주소는 컴퓨터 통신을 위해 사용하는 주소라고 보면 된다. 인터넷에 연결되지 않은 컴퓨터 A와 컴퓨터 B가 통신을 하기 위해서는 UTP 케이블(보통 랜선이라고 한다)을 두 컴퓨터 사이에 연결해 .. 2020. 4. 15.
15. 리눅스 IP 확인 및 원격 접속 리눅스를 VMware같은 가상 머신으로 처음 시작하신 분들이라면, /etc/passwd나 /etc/shadow와 같이 긴 내용이 포함된 파일을 확인하는 것이 쉽지 않았을 것이다. 아마 대부분은 파이프 넣고 more 명령어를 추가하면서 이 내용들을 확인했을 것이다. 하지만, 파일의 길이가 긴지 짧은지도 모르는 파일을 읽으려고 cat 명령어 뒤에 more를 계속해서 붙여 쓰기가 여간 귀찮은 것이 아니다. 따라서, 이와 같은 불편함때문에, 서버를 관리하는 사람들은 원격 접속 프로그램을 사용한다. 일반적인 리눅스 서버는, 성능이 좋은 컴퓨터 안에 리눅스 운영체제 하나만 설치되어 있다. 만약 서버 관리자가 이 리눅스 서버에 키보드와 모니터를 연결하여 사용하면, 마치 여러분들이 VMware에서 보는 화면과 동일한 .. 2020. 3. 31.
14. Linux - 리다이렉션(Redirection)을 이용한 표준 입출력 변환 일전에 리눅스에 대해 포스팅하면서, vi 편집기에 대해 간략하게 설명한 적이 있다. vi에 익숙한 분들이라면, 이제 vi를 이용해 내가 원하는 문자들을 하나의 파일로 저장할 수 있게 되었을 것이다. 마치 윈도우 처음 배울 때, 메모장에 글씨 넣고 저장하는 것 연습하듯이 말이다. 그런데, 리눅스를 사용하다보면 한 가지 문제점이 생긴다. 바로 원래 존재하던 파일의 내용을 복사해서 새 파일을 만들려고 하는 경우인데, 리눅스의 경우 마우스를 사용할 수 있는 환경이 아니다보니(물론 Xshell 환경은 윈도우와 유사하게 구성되어 있지만...), 파일의 내용을 긁어서 새 파일을 만드는 것에는 상당한 에러 사항이 따를 수 밖에 없다(PuTTY와 같은 원격 접속 도구를 이용하면 그나마 사용가능하긴 하지만, 아직 SSH를.. 2020. 3. 3.
13. Linux - 사용자 그룹 관리 및 그룹 폴더 사용법 컴퓨터에 여러 사용자의 계정이 존재하고, 각 사용자가 이 컴퓨터를 공유하여 업무를 진행한다고 가정해보자. 그리고 많은 사용자 중 일부가 함께 협업 프로젝트를 진행하게 되어, 파일을 공유해야 할 일이 발생했다고 생각해보자. 각자 사용자가 만들어 낸 파일은 소유자와 소유 그룹이 사용자 자신의 ID와 그룹명으로만 표시된다. 그리고, 일반적으로 생성된 파일은 644 권한을, 폴더는 755 권한을 가지게 된다. 이렇게 될 경우, 프로젝트와 관계없는 사람들도 해당 파일과 폴더 내용을 확인(r, 폴더의 경우 ls 명령어로 내부 파일 리스트를 확인하는 것이 가능하다)하는 것이 가능하기 때문에 프로젝트를 진행하면서 보안상의 문제가 발생할 가능성이 매우 높다. 그렇다고 각 사용자가 만들어낸 파일의 퍼미션 중 other 권.. 2019. 12. 15.
12. Linux - Sudo 명령어 및 sudoers 파일 리눅스는 관리자 권한이 탈취되면 컴퓨터 내의 모든 정보가 접근 권한이 없는 사용자에게 무방비로 노출될 수 있다. 따라서, 리눅스를 체계적으로 관리하는 조직이라면 일반적으로 root 계정을 이용한 직접 접속은 잘 진행하지 않는다. 접속 과정에서 주변의 누군가에게 계정 비밀번호가 노출될 수도 있기 때문이다. root 계정으로의 직접 접속을 피하기 위해, 일반 사용자 계정의 UID를 0번으로 지정하는 방법이 있긴 하지만, 완전한 해결책이라고 보기는 어렵다. 이전 포스팅에서 살펴보았다시피, UID를 0번으로 되돌린 일반 사용자 계정도 비밀번호가 노출되는 순간 컴퓨터 내의 모든 정보가 순식간에 탈탈 털리는 것은 너무나도 자명한 일이라... 그렇다면, 일반 사용자가 리눅스를 사용하면서 root 권한이 필요한 작업을.. 2019. 12. 5.
11. Linux - Umask, Set UID, Set GUI, sticky bit 1. umask 리눅스에서 root 계정으로 새로운 파일이나 폴더를 생성하게 되면, 아래의 그림처럼 파일은 644를, 폴더는 755 권한을 가지는 것을 볼 수 있다. 그렇다면, 파일과 폴더 생성 시, 디폴트 값으로 부여되는 권한은 어떻게 정해지는 것일까? Ctrl+l 키로 화면을 모두 깔끔하게 지운 뒤, umask 명령어를 입력하면, 4자리의 숫자가 나타나게 된다. 흥미로운 점은, root 계정으로 이 명령어를 실행했을 때와, 일반 계정으로 이 명령어를 실행했을 때 나타나는 출력 결과가 다르다는 점이다. root는 0022로, 일반 계정은 0002로 나타난다. 그렇다면 이 umask라는 녀석은 무엇을 의미하는 것일까? 다시 처음의 사진으로 돌아가서, root 계정으로 만든 파일과 폴더의 권한값을, uma.. 2019. 12. 1.
728x90
반응형