안녕하세요
여태 사내시스템을 레드햇6 버전 사용하다 이번에 레드햇7.5버전으로 이전하기위해 테스트를 진행중입니다.(정식버전 X, 정상 테스트 후 정식 구독 예정)
iptables로 관리를 하다 레드햇7버전부터는 firewalld로 접근 관리를 해야한다하여 공부하던 중 문의사항이 있어 글을 작성하게 되었습니다.
기본으로 만들어져있는 존을 이용해 internal 존엔 내부망 ip를 external 존엔 공인망 ip를 넣어 구성하였습니다.
<Internal>
<External>
방화벽 실행하면, 사내에서는 접근되는 것으로 보아 internal 정책은 잘타는거 같은데, 외부에서 접근(ping, ssh 등)이 불가능합니다.(사내 방화벽 통과 확인)
여기서 제가 추가로 더 설정해야할 부분이 있을까요?
많이 바쁘시겠지만, 소중한 의견 부탁드립니다.
12개의 답변이 있습니다.
리눅스 방화벽을 사용하실려면 정책등록 하고 관리를 해줘야 하는데 무지 번거울건데 괜찮으시겠어요?
앞단에 UTM장비가 있다면 굳이 리눅스 방화벽을 사용하지 않으셔도 됩니다.
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입방화벽 들어오는 것 까지 이상이 없는 상태면 서버에서 못받는 것 같네요
서버에서 못받는 경우는 서버 Firewall 정책이 잘못되었거나
service status가 활성화 되지 않은 상태이지 않을까 싶어요
내부<->내부에서 정상적으로 해당 포트들이 통신되는 상태라면 외부에 대한 정책이 잘못 구성되었다고
보시는 게 맞을 듯합니다.
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입linux 자체적으로 firewall 구성은 저는 비추요
설정으로 인한 다른 서비스 문제 발생
하실려면 iptables로 in/out 으로 특정ip , port 설정이 적절해 보입니다.
그리고 네트워크 보안 ( 방화벽) 에서 1차적으로 잘 설정하면 큰 문제 없음
그다음 내부망은 DMZ존으로 이 또한 방화벽에서 하면 큰 문제 없음
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입일단 서버의 통신 테스트는 firewalld 나 iptables 를 끈 상태에서 tcpdump를 통해 데이터가 제대로 들어와서 나가는지 까지 확인해봐야합니다.
그뒤에 firewalld 올리거나 iptables를 올려서 테스트를 하는게 가장빠릅니다.
사내방화벽이 통과했다고 하는데 실제 그 패킷이 서버까지 들어왔는지 모르니, tcpdump를 통해 데이터가 들어왔는지 보고 들어와서 서버가 먹어버리고 ack를 안주는 경우면 서버 방화벽을 의심해봐야겠죠.
그게 아니라 서버에서도 정상적으로 syn들어오고 ack까지 나갔는데 안되면 서버 앞쪽 방화벽을 다시 확인해봐야겠죠.
말씀해주신 방법으로 firewalld를 끄고 확인해보니 Flags[S]와 length 0이 계속해서 나타납니다.
서버 방화벽이 문제인거 같아서 기존에 firewalld 끈상태+iptables까지 모두 초기화 해도 동일하게 syn는 들어오고 ack는 주지 않고 있습니다.
이런 경우에는 어떻게 더 조치를 취해야할까요?
일단 syn 만 들어온다는거 봐서는 서버에서 나가는 ack 응답값을 못주는거라 그건 서버내에 실제 해당 포트가 활성화되어 있지않는 것같습니다. 서버내에서 netstat -an | grep LISTEN 으로 해서 실제 해당 포트들이 LISTEN상태인지부터 확인해봐야 할것 같습니다.
그이외에는 방화벽을 껐는데도 ack를 보내주지 않는건 그거밖에 없습니다.
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입굳이 하나의 서버에 내부ip와 외부 ip 설정할 필요가 있을까요?
내부 ip를 설정 nat 이용하거나 dmz 구성하는게 낫지 않나요? 그리고 필요한 서비스 포트만 올리고 다른 서비스는 안하는게 나을 듯 합니다.
열려는 서비스도 가능한 포트 변경하세요.
사외직원들이 외부에서도 접속해야해서 서버 하나에 내부nic, 외부nic 둘다 설정한 상태입니다.
말씀주신대로 내부 ip를 nat설정해서 dmz 구성해도 외부에서 접근이 가능한가요...?
첫직장이라 너무 초보적인 질문한점 양해부탁드립니다
서버 ip는 사설로 구성하고 방화벽에서 해당 사설 ip 서버를 1:1 맵핑 즉 공인 ip로 맵핑해주면 됩니다. 그리고 포트는 사설 ip 기준으로 열면 됩니다.
그러면 외부에서는 맵핑된 공인 ip로 접속하고, 내부에서는 사설 ip로 접속 하면 됩니다.
도메인으로 접속한다면 도메인서버에는 공인 ip 등록하시고
nat 구성은 인터페이스 기반이 아닌 정책기반으로 구성하시면 됩니다.
방화벽 설정을 모르시면 해당 방화벽 업체에 문의하시면 됩니다.
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입방화벽 정책을 넣어서 연결이 잘된다해서, 또는 연결이 안된다해서 정책을 잘 설정한 것이라 할 수 있는 것은 아니겠고요.
방화벽 정책으로 차단 설정을 한 서비스에 대해서는 연결 안되고, 허용 설정한 서비스에 대해서는 연결이 잘되어야 제대로 된 설정이라 할 수 있겠고요.
우선적으로 접속이 필요한 서비스가 제대로 작동되고 있는지 부터 netstat 같은 명령을 이용해서 확인해 보아야 하겠고요.
firewall-cmd --state
firewall-cmd --list-ports
firewall-cmd --list-services
firewall-cmd --list-all
등의 명령을 이용해서 방화벽 상태를 정검해 볼 필요가 있겠고요.
그리고, 일반 클라이언트 컴퓨터에서 nmap 같은 툴을 설치해서 내부 ip와 외부 ip 각각에 대해서 포트 조회를 해서 필요한 서비스 포트가 정상적으로 열려 있고, 닫혀 있어야할 포트가 정상적으로 닫혀 있는지를 확인해 보면 될 것 같네요.
열려 있어야할 포트가 닫혀 있다면
firewall-cmd --zone=public --add-port=22/tcp
firewall-cmd --zone=public --add-service=ssh
등의 명령을 이용해서 허용 처리를 해 주어야 하겠고요.
닫혀 있어야할 포트가 열려 있다면,
해당 포트에 서비스되고 있는 서비스를 내려주고,
firewall-cmd --zone=public --remove-port=22/tcp
firewall-cmd --zone=public --remove-service=ssh
같은 명령을 이용해서 포트를 차단 처리해 주어야 하겠고요.
firewalld 설정에는 저렇게 설정후, 내외부 nic 메트릭 순서를 수정해보았는데, 포트 설정 중 일부만 포트가 열려있더라구요... 하하하..
방화벽 설정을 내려도 nmap에서 포트 스캔이 안되는거보면, 서버에서 또 다른 조치를 취해주어야하나요?
방화벽을 내려도 nmap에서 포트 스캔이 안된다면 서비스 소프트웨어가 해당 포트에 서비스를 하고 있지 않다고 보아야 할 것 같네요.
서비스 소프트웨어가 정상적으로 해당 포트에 대해 서비스를 하고 있는 상태인데도 외부에서 nmap으로 포트 스캔이 되지 않는 경우라면 방화벽 등에 의해 포트가 차단되었기 때문인것이겠고요.
포트 스캔이 되지 않는다면, 둘 중 하나입니다.
포트가 방화벽 등에 의해 차단되었거나 아니면 해당 포트에 서비스 프로그램이 서비스를 하고 있지 않은 경우인거죠.
댓글 남기기
답변을 작성 하시려면 로그인이 필요합니다.
로그인 회원가입