본문 바로가기
728x90
반응형

IT Security54

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.
10. Linux - 파일 및 폴더 권한 및 소유주 지정하기 리눅스 내의 모든 파일과 폴더는 특정 계정과 그룹이 소유하고 있다. 그리고 파일과 폴더의 권한이 어떻게 부여되었느냐에 따라, 모든 계정이 해당 파일과 폴더에 접근할 수도 있고, 그렇지 못할 수도 있다. 사실 윈도우에서도 파일 권한을 부여하는 옵션이 있긴 한데... 개인 컴퓨터가 널리 보급된 현대에는 개인용 컴퓨터에 하나 이상의 계정이 존재하는 경우가 드물기 때문에 이 기능을 거의 사용하지 않아 잘 모르는 분들이 많을 것이다. 하지만 리눅스의 경우, 메일이나 블로그와 같은 서비스를 제공하는 업체에서 많이 사용하는 운영체제이기 때문에, 파일 권한에 대한 내용과 부여, 변경 관련 작업을 꽤나 많이 수행한다. 이번 포스팅에서는 파일/폴더의 권한(퍼미션)과 파일 소유주에 대한 내용에 대해 글을 작성해보려 한다. .. 2019. 12. 1.
9. Linux - 로컬 계정 생성 시, 설정 관리하기(login.defs 파일) 지난 포스팅에서, 리눅스 내에 존재하는 계정에 대한 정보와, 접속한 계정이 가지는 정보를 확인하는 방법을 알아보았다. 리눅스에서 새로운 계정을 생성하면서, 각 계정의 UID나 GID는 물론, 비밀번호의 최소/최대 사용일과 같은 민감한 정보들을 설정할 수 있는 파일에 대해서도 알아보았다. 새로운 계정을 생성한 경우, UID와 GID 값은500번부터 부여가 되는데(CentOS7은 1000번부터), 관리상의 이유로, 새로 만들어지는 계정을 2000번의 UID/GID부터 부여하고자 한다면, 새 계정 생성 후, 매번 passwd 파일에 들어가 해당 계정의 UID/GID 값을 변경해주어야 하는 번거로움이 있다. 비밀번호도 마찬가지인데, 리눅스에서 생성된 계정 비밀번호는 최소/최대 사용일이 기본값으로 0일 / 999.. 2019. 12. 1.
8. Linux - 접속 사용자 계정 확인 및 계정 정보 확인 리눅스 운영체제가 설치된 컴퓨터에 여러 사용자가 접속하여 작업을 진행하는 경우, 해당 사용자가 악의적인 작업을 진행하고 있지는 않는지, 관리자가 지속적으로 확인해야만 한다. 또한 사용을 허가받지 않은 사용자가, 사용자의 ID를 우연히 알게 되어, 해당 계정으로 여러 번의 접속을 시도하여 불법적인 접근이 이루어지는 것도 막아야 할 필요가 있다. 이번 포스팅에서는, 리눅스의 각 사용자 관리 및 계정 관련 설정 내용에 대해 포스팅하려고 한다. (오랜만에 쓰는 리눅스 포스팅이다...) 1. 'w' 명령어: 내 컴퓨터에서 누가 무엇을 하고 있는가? 'w' 명령어는 내 컴퓨터에 접속한 계정이 무엇인지, 그리고 그 계정이 어떻게 접속을 하였고 현재 무슨 작업을 진행하고 있는지 상세하게 출력해주는 명령어이다. 해당 명.. 2019. 11. 27.
7. LINUX - 루트(/)의 하위 폴더 역할 지금까지, 리눅스 내의 폴더를 옮겨다니면서, 폴더 내에 어떤 파일이 있는지, 그리고 그 파일이 무슨 내용을 담고 있는지, 파일들을 어떻게 복사하고 이동하는지 등등에 대해 간략하게나마 배웠다. 문제는, 리눅스의 이 파일들이 어떤 역할을 하는지 알 수 없어, 지금까지 배운 명령어들을 어떻게 사용해야 할 지 감이 안잡힌다는 것이다. 따라서, 이번 포스팅에서는 리눅스의 최상위 폴더인 루트 아래에 위치한 디렉터리가 어떤 목적으로 만들어졌는지, 그리고 그 내부에 어떤 파일들이 존재하는지에 대해 간략하게만 설명하려고 한다. 자세히 설명해도, 리눅스 내에 존재하는 프로그램까지 파악해야 이해가 가능한 내용이기에, 굳이 이 포스팅만으로 모든 것을 이해하려고 애쓰지 않아도 된다. 1. 리눅스 루트(/) 폴더 리눅스의 최상위.. 2019. 8. 24.
728x90
반응형