LAN의 HTTP 서버를 웹에서 해킹할 수 있나요?

LAN의 HTTP 서버를 웹에서 해킹할 수 있나요?

내 로컬 영역 네트워크 내부의 ESP8266 마이크로 컨트롤러에 웹 서버를 설정했습니다. 이 장치로 전송된 HTTP GET 요청은 주 콘센트를 켜고 끌 수 있으며, 집 주변에 두어 개 배치할 계획입니다.

이 LAN은 표준 인터넷 박스(라우터+모뎀)를 사용하여 인터넷에 연결됩니다. 인터넷을 포함하여 LAN 외부의 모든 사람이 마이크로 컨트롤러에 아무것도 보내는 것을 방지하고 싶습니다.

사람들이 내 WPA-PSK로 보호되는 Wi-Fi를 해킹할 수 없다고 가정해 보겠습니다. 내 설정이 보안 침해와 관련이 있나요? 누군가 내 DIY 스마트 콘센트를 해킹하는 것이 얼마나 어려운가요?

답변1

외부의 누구도 서버에 직접 액세스할 수 없어야 하지만(라우터의 포트를 전달하지 않는 한) 다음과 같은 공격에 취약할 수 있습니다.교차 사이트 요청 위조. 예를 들어, 누군가가 HTML 형식(또는 웹 페이지를 로드하도록 유도하는 등)으로 이메일 메시지를 보낸 경우 http://192.168.1.50/control?outlet=all&action=off(또는 해당 IP 주소 및 구문이 무엇이든) 인라인 이미지가 로드된 경우 메일 클라이언트는 다음을 수행합니다. 해당 URL에서 이미지를 로드하려고 하면 콘센트가 꺼질 것입니다.

따라서 귀하의 네트워크 설정을 알고 있는 괴짜 친구가 있다면 장난을 당할 것을 예상하십시오. 실제로 실제로 가지고 있거나 가지고 있지 않을 수 있는 임의의 다른 장치를 악용하려는 임의의 XSRF 적중도 예상해야 합니다. 컨트롤러의 웹 서버가 이들 중 하나로 혼동되면 실수로 서버가 중단될 수 있습니다.

[업데이트] 이를 더 잘 보호하는 것은 웹 서버가 어떤 암호화 기능을 가지고 있는지에 따라 많이 달라집니다. 빠른 검색에서 많은 정보를 보지 못했기 때문에 그것이 무엇을 할 수 있는지 잘 모르겠습니다. 가장 간단한 방법은 요청에 비밀번호 변수를 추가하는 것입니다. 이것은 유선상에서 볼 수 있고, 클라이언트의 기록에 저장되고, 서버에 로그온하는 등의 이유로 특별히 안전하지는 않지만 아무것도 없는 것보다는 낫습니다(변경하기 쉽기 때문에 이상한 구문을 사용하는 것보다 낫습니다). . 하다~ 아니다다른 데 사용하는 것과 동일한 비밀번호를 사용하십시오.

GET에서 POST로 전환하는 것도 약간 도움이 될 것입니다. 특히 HTTP 표준에 따르면 GET 요청이 서버의 상태를 변경해서는 안 된다고 되어 있기 때문입니다. 즉, 클라이언트가 GET 요청을 보내거나 보내지 않는 것이 안전하다고 가정하기 때문입니다. 예를 들어 캐시 상태에 따라 다릅니다. HTTPS를 사용하면 훨씬 더 도움이 됩니다(서버가 지원하는 경우). 비밀번호 문자열 대신 WebDAV 다이제스트 인증을 사용하는 것도 좋지만(서버가 지원하는 경우) 실제로 효과적이려면 재생 공격에 대한 일종의 보호 기능을 추가해야 합니다.

답변2

무엇이든 가능하지만 포트 포워딩을 통해 매핑된 포트(가상 서버라고도 함), 특히 80, 443, 8080 또는 웹 서버가 사용하는 모든 포트가 없으면 LAN 외부에서 공격이 발생할 가능성이 있습니다. 라우터를 통해 해당 장치로의 연결은 0에 가깝습니다.

그러나 다시 한 번 더 철저한 보안 검토 없이 이것을 최종 답변으로 받아들이지 마십시오. 뜻이 있으면 아무리 조심해도 길은 있습니다.

관련 정보