
나는 새 웹 서버의 방화벽을 필요한 만큼 안전하게 만들고 싶습니다. iptables에 대해 조사한 후 UFW(Uncomplicated FireWall)를 발견했습니다. 이것은 Ubuntu Server 10 LTS에 방화벽을 설정하는 더 좋은 방법인 것으로 보이며 이것이 설치의 일부라는 것을 보면 의미가 있는 것 같습니다.
내 서버에는 Nginx, FastCGI 및 MySQL이 있습니다. 또한 (분명히) SSH 액세스를 허용하고 싶습니다. 그렇다면 UFW를 어떻게 설정해야 하는지, 또 고려해야 할 사항이 있는지 궁금합니다. 조사를 하다가 한 가지를 발견했습니다.기사그것은 이렇게 설명합니다.
# turn on ufw
ufw enable
# log all activity (you'll be glad you have this later)
ufw logging on
# allow port 80 for tcp (web stuff)
ufw allow 80/tcp
# allow our ssh port
ufw allow 5555
# deny everything else
ufw default deny
# open the ssh config file and edit the port number from 22 to 5555, ctrl-x to exit
nano /etc/ssh/sshd_config
# restart ssh (don't forget to ssh with port 5555, not 22 from now on)
/etc/init.d/ssh reload
이 모든 것이 나에게는 이해가 되는 것 같습니다. 그런데 그게 다 맞나요? 내 서버에서 이 작업을 올바르게 수행할 수 있도록 다른 의견이나 조언과 함께 이를 뒷받침하고 싶습니다.
정말 감사합니다!
답변1
ufw 허용 [PORT] 대신 ufw 제한 [PORT]를 사용하면 무차별 대입 공격을 방지할 수 있습니다.
ufw supports connection rate limiting, which is useful for protecting
against brute-force login attacks. ufw will deny connections if an IP
address has attempted to initiate 6 or more connections in the last 30
seconds.
다음은 규칙을 사용하여 ufw 방화벽을 설정하는 방법입니다.
첫 번째 SSH 포트 변경: /etc/ssh/sshd_config
그런 다음 구성을 다시 로드합니다: /etc/init.d/ssh reload
그런 다음: ufw 기본 거부
그런 다음: ufw 로그온
그런 다음: ufw 제한 5555
그런 다음: ufw는 80/tcp를 허용합니다.
모든 규칙 설정이 완료되면 ufw 활성화: ufw 활성화
답변2
나는 당신이하고있는 일을 정확히 알지 못한 채 SSH를 방화벽으로 보호하는 것에 대해 매우 조심할 것입니다. 테스트를 시작하기 위해 특정 네트워크에 대해 SSH를 시도하는 것이 가치가있을 수 있습니다. LFW가 얼마나 빨리 적용되는지, 설정된 연결에 영향을 미치는지는 모르겠지만, 즉시 적용된다면 현재 연결에 사용 중인 포트를 방화벽 해제하기 전에 SSH의 포트 번호를 반드시 변경해야 합니다.