Category :
Securities
,
Ubuntu & Linux/Unix
Comments :
댓글쓰기
Posted by
장창학
at
5:53 PM
제가 사랑하는 Ubuntu Server Edition은 UFW라는 기본 방화벽 설정 Tool이 있습니다. 내부적으로는 iptables로 적용되지만, Rule설정 및 사용법은 쉽게 만든 것인데요. 일반적으로 다음과 같이 쓰입니다.
# 123.456.789.0 아이피만 SSH로 접속가능하게 하려면
sudo ufw allow from 123.456.789.0 to any port 22
이렇게 설정하면 해당 아이피만 22번으로 들어올 수 있고, 나머지는 거부합니다. 물론 UFW는 우분투를 설치 후 자동으로 활성화 되지 않기 때문에 설치 후 맨먼저 sudo ufw enable로 활성화 해준 다음(비활성화하고자 한다면 sudo ufw disable하면됩니다.) Rule를 추가해주면 되고, 설정상황을 보려면 sudo ufw status로 확인할 수 있습니다.(쉘상의 아무곳에서나 설정가능)
하지만, 우분투도 내부적으로는 iptables를 사용하기 때문에 UFW로 Rule을 추가후에 iptables -L해보면 UFW의 Rule이 iptables 형식으로 지정되어 있다는 것을 확인 가능할 것 입니다.
문제는 iptables가 좀 어렵다는 겁니다. 저 역시 아직 머리속에 다 넣지 못하고(사실 아예 넣지 못하고) 있습니다. UFW는 사용법을 아는데 말입니다. 저의 경우 Ubuntu 뿐만 아니라, CentOS도 사용을 하는데 CentOS와 같은 Redhat 계열의 리눅스에서는 UFW가 없으므로 iptables로 방화벽을 설정해야 하는데, 어렵기도 하고 귀찮아서 다음과 같은 쉘 스크립트를 만들었습니다. 적절히 수정해서 ROOT권한으로 실행하세요. 단, 웹디렉토리안에 이 쉘파일이 절대로 있어서는 안됩니다.(초보자가 FTP로 이 쉘을 자신의 홈페이지 루트에 올려 발생하는 모든 일은 본인의 행동을 탓하시길 바랍니다.) 시스템관리자만 사용하세요. 물론 웹호스팅환경에서는 실행도 안되거니와 혹시 실행되었다고 한다면 아마 본인은 해당 웹호스팅사로부터 막대한 피해보상을 청구당할 수 있습니다. (절대 시스템관리자만 사용할것)
#!/bin/bash IPTABLES=/sbin/iptables #Rule정의 $IPTABLES -F INPUT $IPTABLES -F OUTPUT #Localhost에서의 Taraffic은 허용 $IPTABLES -A INPUT -i lo -j ACCEPT $IPTABLES -A OUTPUT -o lo -j ACCEPT #알수 없는 패킷은 거부 $IPTABLES -A INPUT -m state --state INVALID -j DROP $IPTABLES -A OUTPUT -m state --state INVALID -j DROP #응답이 있었던 접속이나 관련된 접속 허용 $IPTABLES -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT #시스템에서 사용하는 기본 포트설정 : 아이피주소 부분은 원하는 주소로 변경하세요. #22번은 SSH포트이므로 특정 아이피에서만 접속가능하도록 하는 것이 좋습니다. #25번 포트는 Sendmail이며, 80은 Web, 53/953번은 DNS서버, 110은 메일수신포트입니다. $IPTABLES -A INPUT -p tcp -s 아이피주소 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 953 -m state --state NEW,ESTABLISHED -j ACCEPT #서버로 들어오는 모든 포트 차단 $IPTABLES -A INPUT -p tcp -j DROP

|


ColdFusion (73)
Comments