내가 소유한 것
내 시스템의 많은 서비스는 동일한 IP 주소 목록을 신뢰합니다.
~을 위한예, 나는 다음을 언급/사용/참조했습니다.
192.0.2.43
,198.51.100.2
그리고203.0.113.76
구성할 때:
iptables
,fail2ban
,nginx
,mysql-server
등.
내가 하는 일
이제 각 IP에서 액세스를 허용하도록 각 서비스를 수동으로 구성합니다.
내가 원하는 건
신뢰할 수 있는 IP 주소의 유지 관리 가능한 목록을 다음 위치에 보관하세요.단일 진실 소스시스템 어딘가에 배치하십시오.
- IP를 추가/제거해야 할 때마다 해당 위치에서 IP를 변경하기만 하면 됩니다.
- 이러한 변경 사항은 내가 작성해야 하는 셸 스크립트에 의해 선택되고 각 서비스 구성에 추가로 반영됩니다.
./etc
나의 배려
나는 내가 신뢰하는 IP를 허용하기 위해 제한된 SSH를 사용했습니다
iptables
. 규칙에서 IP를 읽는 것이iptables
방법일 수도 있지만 지저분합니다.다음을 추가하십시오
/etc/hosts
.192.0.2.43 localtrust 198.51.100.2 localtrust 203.0.113.76 localtrust
그런 다음
getent
사용IP 받기:# getent ahosts localtrust | awk '{ print $1 }' | uniq 192.0.2.43 198.51.100.2 203.0.113.76
for … in
목록을 쉽게 찾아보세요 ./etc/hosts.allow
한 줄에 IP 하나씩 개행 문자로 IP를 저장합니다 . 필요할 때마다,cat /etc/hosts.allow
그리고for … in
.이것
hosts.allow
수동이@netgroup
개념을 언급하고 시작하세요.그 매뉴얼내가 찾고 있는 것 같군요:netgroup 파일은 원격 설치, 원격 로그인 및 원격 셸을 수행할 때 권한 확인에 사용되는 (호스트, 사용자, 도메인) 튜플 모음인 "netgroups"를 정의합니다.
하지만 그것은 내 시스템에 존재하지 않으며
/etc/netgroup
, 인터넷에서 검색할 때 얻은 결과는 오래되었거나 관련이 없습니다. 이것은 더 이상 사용되지 않는 개념입니까?개행으로 구분된 IP는 시스템으로 가져와야 하는 사용자 정의 파일에 저장됩니다. 그럼
cat
그것과for … in
다른 건 없어? 당신은 무엇을 하시겠습니까?
업계 표준/모범 사례를 요구하므로 이것이 의견 기반으로 간주되지 않기를 바랍니다.
그렇지 않거나 내 문제가 특이한 경우 IP를 신뢰할 수 /etc/hosts.allow
있는 그것을 실제로 사용하거나 본 적이 없기 때문에 경험이 제한적입니다. 망친 걸 후회하게 될까요?/etc/hosts
/etc/hosts.allow