selinux는 센토스에서 제공하는 보안 옵션이다.
공격자가 강제로 포트등의 서버 셋팅을 못바꾸게 하여 공격으로부터 서버를 보호하기 위한 옵션인데
이때문에 ssh포트라든지 http포트등을 바꾼 후 데몬을 재시작 했을 경우 바뀌지 않고 오류를 뱉어내는 현상이 있다.
보통은
1 | setenforece 0 |
명령어를 이용하여 해당 기능을 일시적으로 멈춘 후 셋팅을 하지만, 이럴경우 해당 보안옵션이 전부 꺼질뿐더러 재부팅을 하면 또다시 데몬이 오류를 뱉어내며 실행을 못하게 된다.
따라서 해당 보안옵션을 지키면서 포트변겨을 하는법을 보도록 하겠다.
본인은 ssh포트를 바꾸는데 바꾼 후 데몬을 재실행 하면 오류가 자꾸 발생하여 해당 방법을 이용하여 처리했다
selinux옵션을 바꾸기 위해서는 semanage 툴이 필요하다 설치하도록 하자.
1 | yum install policycoreutils-python | cs |
그런 뒤 selinux에서의 ssh포트 정의를 확인해 본다.
1 2 | semanage port -l | grep ssh ssh_port_t TCP 22 |
확인하면 ssh_port_t 에서는 22번포트만을 허용하고 있는것을 보인다.
여기에 원하는 포트를 넣어보자
1 | sudo semanage port -a -t ssh_port_t -p tcp 1234 |
잘 들어갈 것 이다, 만일 이미 사용중인 포트라고 한다면
1 | semanage port -l | grep 1234 |
이와같이 해당 포트가 어디에서 사용되는지 확인 후
1 | sudo semanage port -d -t <사용되는부분> -p tcp <포트> |
이와같이 해당 포트를 삭제해 주도록 하자. 만일 삭제가 안되면 해당 포트는 selinux에서 defualt로 사용중인 포트이기 때문에 안되는 것 이다.
1 | sudo semanage port -m -t ssh_port_t -p tcp 1234 |
이와같이 그냥 해당 포트를 정책에 추가하는식으로 하면 된다.
'웹 서버 설계' 카테고리의 다른 글
Centos7 Mariadb 설치 시 Transaction check error 처리법 (2) | 2017.08.02 |
---|
댓글